Fazla uyumlu hale getirme: Model karmaşıklığı

Önceki birimde, test veri kümesindeki birçok ağacı yanlış sınıflandıran aşağıdaki model tanıtıldı:

Şekil 16. Şekil 13 ile aynı resim. Bu, birçok ağacı yanlış sınıflandıran karmaşık bir şekildir.
Şekil 16. Önceki birimdeki kötü davranan karmaşık model.

Önceki modelde çok sayıda karmaşık şekil var. Daha basit bir model yeni verileri daha iyi işler mi? Karmaşık modeli, inanılmaz derecede basit bir modelle (doğru bir çizgi) değiştirdiğinizi varsayalım.

Şekil 17. Hasta ağaçları sağlıklı ağaçlardan mükemmel bir şekilde ayıran düz çizgi modeli.
Şekil 17. Çok daha basit bir model.

Basit model, yeni verilerde karmaşık modelden daha iyi genelleme yapar. Yani basit model, test veri kümesinde karmaşık modelden daha iyi tahminler yaptı.

Basitlik, karmaşıklığı uzun zamandır yeniyor. Basitliğe verilen önem aslında Antik Yunan'a kadar uzanır. Yüzyıllar sonra, on dördüncü yüzyılda yaşamış William of Occam adlı bir keşiş, basitliğe olan tercihi Occam'ın jileti olarak bilinen bir felsefede resmileştirdi. Bu felsefe, makine öğrenimi de dahil olmak üzere birçok bilimin temel ilkelerinden biri olmaya devam etmektedir.

Alıştırmalar: Öğrendiklerinizi test edin

Bir fizik denklemi geliştiriyorsunuz. Aşağıdaki formüllerden hangisi Occam'ın Jileti'ne daha uygundur?
Üç değişken içeren bir formül.
Üç değişken, on iki değişkenden daha fazla Occam'a uygundur.
On iki değişken içeren bir formül.
On iki değişken çok karmaşık görünüyor, değil mi? Tüm zamanların en ünlü iki fizik formülü (F=ma ve E=mc2) yalnızca üç değişken içerir.
Yepyeni bir makine öğrenimi projesindesiniz ve ilk özelliklerinizi seçmek üzeresiniz. Kaç özellik seçmelisiniz?
Güçlü tahmin gücü olan 1-3 özellik seçin.
Veri toplama ardışık düzeninizin yalnızca bir veya iki özellikle başlaması en iyisidir. Bu sayede makine öğrenimi modelinin amaçlandığı gibi çalıştığını doğrulayabilirsiniz. Ayrıca, birkaç özellikten referans değer oluşturduğunuzda ilerleme kaydettiğinizi hissedersiniz.
Güçlü tahmin gücü olan 4-6 özellik seçin.
Zamanla bu kadar özelliği kullanabilirsiniz ancak yine de daha az sayıda özellikle başlamak daha iyidir. Daha az özellik genellikle daha az gereksiz karmaşa anlamına gelir.
Hangi özelliklerin en güçlü tahmin gücüne sahip olduğunu gözlemlemeye başlayabilmek için mümkün olduğunca çok özellik seçin.
Küçük adımlarla başlayın. Her yeni özellik, eğitim veri kümenize yeni bir boyut ekler. Boyut arttığında alanın hacmi o kadar hızlı artar ki mevcut eğitim verileri seyrek hale gelir. Verileriniz ne kadar seyrek olursa modelin gerçekten önemli olan özellikler ile etiket arasındaki ilişkiyi öğrenmesi o kadar zor olur. Bu olguya "boyutluluk laneti" denir.

Normalleştirme

Makine öğrenimi modelleri aynı anda iki çelişen hedefi karşılamalıdır:

  • Verileri iyi bir şekilde sığdırın.
  • Verileri olabildiğince basit bir şekilde yerleştirin.

Bir modeli basit tutmanın bir yolu, karmaşık modelleri cezalandırmaktır. Yani, modelin eğitim sırasında daha basit hale gelmesini sağlamaktır. Karmaşık modelleri cezalandırmak, normalleştirme biçimlerinden biridir.

Kayıp ve karmaşıklık

Bu kursta şimdiye kadar, eğitimde tek amacın kaybı en aza indirmek olduğu öne sürüldü. Yani:

$$\text{minimize(loss)}$$

Gördüğünüz gibi, yalnızca kaybı en aza indirmeye odaklanan modeller aşırı uyum sağlama eğilimindedir. Daha iyi bir eğitim optimizasyonu algoritması, kayıp ve karmaşıklığın bazı kombinasyonlarını en aza indirir:

$$\text{minimize(loss + complexity)}$$

Maalesef kayıp ve karmaşıklık genellikle ters orantılıdır. Karmaşıklık arttıkça kayıp azalır. Karmaşıklık azaldıkça kayıp artar. Modelin hem eğitim verileri hem de gerçek dünya verileri üzerinde iyi tahminler yaptığı makul bir orta yol bulmalısınız. Yani modeliniz, kayıp ile karmaşıklık arasında makul bir uzlaşma bulmalıdır.

Karmaşıklık nedir?

Kaybı ölçmenin birkaç farklı yolunu gördünüz. Karmaşıklığı nasıl ölçersiniz? Keşfinizi aşağıdaki alıştırmayla başlatın:

Alıştırma: Sezgilerinizi kontrol edin

Karmaşıklığın tam olarak ne olduğu konusunda şimdiye kadar oldukça belirsiz davrandık. Aşağıdaki fikirlerden hangisinin makul karmaşıklık metrikleri olacağını düşünüyorsunuz?
Karmaşıklık, modelin ağırlıklarının bir işlevidir.
Evet, bazı modellerin karmaşıklığını ölçmenin bir yolu budur. Bu metriğe L1 normalleştirmesi denir.
Karmaşıklık, modelin ağırlıklarının karesinin bir işlevidir.
Evet, bazı modellerin karmaşıklığını bu şekilde ölçebilirsiniz. Bu metriğe L2 normalleştirme denir.
Karmaşıklık, modeldeki tüm özelliklerin önyargılarının bir işlevidir.
Yanlışlık, karmaşıklığı ölçmez.