(hamner'ın cevabı harika, bu yüzden tamamlamam için cevabımı MetaOptimize'den çapraz gönderme.)
Ben sağlama gibi üretken algoritmaların düşünmek veri gerçekte nasıl üretildiğini modeli (Sana her ikisinin bir modeli vererek olarak onları düşünüyorum ve yerine ziyade , Her ne kadar eşdeğer sanırım) ve basitçe sınıflandırma bölmeleri sağlayan ayrımcı algoritmalar (ve olasılıkla olasılıkla değil).P(X|Y)P(Y)P(X,Y)
Örneğin, Gauss karışım modellerini ve k-ortalama kümelemesini karşılaştırın. Birincisinde, noktaların nasıl üretildiğine dair güzel bir olasılıksal modelimiz var (bazı olasılıklara sahip bir bileşen seçin ve ardından bileşenin Gauss dağılımından örnekleme yaparak bir nokta yayınlayın), ancak ikincisi hakkında gerçekten söyleyebileceğimiz hiçbir şey yok.
Üretken algoritmaların ayırt edici özelliklere sahip olduğunu unutmayın, çünkü ve (Bayes' Teoremine göre) sahip olduğunuzda 'i elde edebilirsiniz, ancak ayırt edici algoritmalar gerçekten üretken özelliklere sahip değildir.P(Y|X)P(X|Y)P(Y)
1: Ayırt edici algoritmalar, puanların gerçekte nasıl üretildiğine dair bir model vermeden puanları sınıflandırmanıza izin verir. Yani bunlar ya olabilir:
- olasılık algoritmaları (ör. lojistik regresyon);P(Y|X)
- veya eşlemeleri doğrudan noktalardan sınıflara doğru öğrenmeye çalışan olasılıksız algoritmalar (örneğin, algılayıcı ve SVM'ler size sadece ayrı bir hiper düzlem verir, ancak yeni nokta oluşturma modeli vermez).
Yani evet, ayrımcı sınıflandırıcılar üretken olmayan sınıflayıcılardır.
Bunun hakkında düşünmenin bir başka yolu da üretken algoritmaların modeliniz üzerinde bir tür yapı varsayımı yaptığını, ancak ayrımcı algoritmaların daha az varsayım yaptığını gösteriyor. Örneğin, Naive Bayes özelliklerin koşullu bağımsızlığını üstlenirken, lojistik regresyon (Naive Bayes'in ayırt edici "karşılığı") değildir.
2: Evet, Naive Bayes üretkendir çünkü ve yakalar . Örneğin, ve , İngilizce ve Fransızca kelime olasılıklarıyla birlikte biliyorsak , şimdi ilk önce belgenin dilini seçerek yeni bir belge oluşturabiliriz ( Olasılık 0.7 ile İngilizce, olasılık 0.3 ile Fransızca ve daha sonra seçilen dilin kelime olasılıklarına göre kelimeler üretmek.P(X|Y)P(Y)P(Y=English)=0.7P(Y=French)=0.3
Evet, lojistik regresyonun bu şekilde üretken olmasını sağlayabilirsiniz, ancak bunun nedeni, lojistik regresyona henüz orada olmayan bir şey eklediğiniz içindir. Yani, bir Naive Bayes sınıflandırması yaparken, doğrudan sağdaki terimler, ve , yeni bir belge oluşturmanıza izin veren şeydir); fakat lojistik regresyonda 'yi hesaplarken, bu iki şeyi hesaplamıyorsunuz, sadece bir nokta ürününe lojistik bir fonksiyon uyguluyorsunuz.P(Y|X)∝P(X|Y)P(Y)P(X|Y)P(Y)P(Y|X)
3: Üretken modeller genellikle daha küçük veri kümelerindeki ayrımcı modellerden daha iyi performans gösterirler çünkü üretken varsayımları modelinize aşırı uyumu önleyen bir yapı koyar . Örneğin, Naive Bayes'e karşı Lojistik Regresyon'a bakalım. Naive Bayes varsayımı elbette nadiren tatmin olur, bu nedenle lojistik regresyon veri setiniz büyüdükçe Naive Bayes'ten daha iyi performans gösterecektir (çünkü Naive Bayes'in yapamayacağı bağımlılıkları yakalayabildiğinden). Ancak, yalnızca küçük bir veri kümeniz olduğunda, lojistik regresyon, gerçekte olmayan sahte desenleri yakalayabilir, bu yüzden Naive Bayes, modelinizde aşırı uyumu önleyen bir düzenleyici işlevi görür. Andrew Ng ve Michael Jordan tarafından, bundan daha fazla bahseden ayrımcı ve üretici sınıflayıcılar üzerine bir makale var .
4: Bence, modelinizi doğru bir şekilde belirlerseniz ve model gerçekten tutulursa, üretken modellerin verilerin temel yapısını öğrenebileceğini düşünüyorum, ancak üretken varsayımlarınızın yerine getirilmemesi durumunda ayrımcı modeller daha iyi performans gösterebilir (çünkü ayırt edici algoritmalar belirli bir yapıya daha az bağlıyken, gerçek dünya dağınıktır ve varsayımlar yine de nadiren mükemmel şekilde karşılanır). (Kafam karıştığında, muhtemelen bu alıntıları görmezden gelirdim.)