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?
On iki değişken içeren bir formül.
Üç değişken içeren bir formül.
Yepyeni bir makine öğrenimi projesindesiniz ve ilk özelliklerinizi seçmek üzeresiniz. Kaç özellik seçmelisiniz?
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.
Güçlü tahmin gücü olan 1-3 özellik seçin.
Güçlü tahmin gücü olan 4-6 özellik seçin.

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:

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:

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 karesinin bir işlevidir.
Karmaşıklık, modelin ağırlıklarının bir işlevidir.
Karmaşıklık, modeldeki tüm özelliklerin önyargılarının bir işlevidir.