Üretici ve ayrımcı


153

Üreticinin " 'ye dayalı" ve ayırımcı " göre" anlamına geldiğini biliyorum ancak birkaç noktada kafam karıştı:P(x,y)P(y|x)

  • Wikipedia (+, web'deki diğer birçok isabet), SVM'ler ve karar ağaçları gibi şeyleri ayrımcı olarak sınıflandırıyor. Ancak bunların olasılıksal yorumları bile yok. Ayrımcı burada ne anlama geliyor? Ayrımcı sadece üretken olmayan bir şey ifade ediyor mu?

  • Naive Bayes (NB) üretkendir, çünkü ve yakalar ve böylece ( ) sahip olursunuz . Mı değil Önemsiz yapmak, diyelim ki sadece hesaplayarak, lojistik regresyon (ayrımcı modellerin poster çocuğu) "üretken" benzer bir şekilde (NB aynı bağımsızlık varsayımını, öyle ki , için MLE sadece frekanslardır)?P(x|y)P(y)P(x,y)P(y|x)P(x)P(x)=P(x0)P(x1)...P(xd)P(xi)

  • Ayrımcı modellerin üretici olanlardan daha iyi performans gösterme eğiliminde olduğunu biliyorum. Üretken modellerle çalışmanın pratik kullanımı nedir? Veri üretebilmek / simüle edebilmek akılda tutuluyor, fakat bu ne zaman ortaya çıkıyor? Şahsen, sadece regresyon, sınıflandırma ve kolaj ile ilgili deneyimlerim var. yapılandırılmış veriyi filtrelemek, bu yüzden kullanımları burada benim için alakasız mı? "Eksik veri" argümanı ( eksik ) size sadece eğitim verileri ile bir kenar (aslında biliyorum vermek gibi görünüyor ve üzeri marjinalize etmek gerekmez nispeten dilsiz olsun (siz) zaten doğrudan tahmin edebilirdim ve o zaman bile töhmet çok daha esnektir üzerinde değil sadece dayalı tahmin edebilirimP(xi|y)xiyP(y)P(xi)yama diğer de).xi

  • Vikipedi'den tamamen çelişkili alıntılara ne oldu? "Üretken modeller tipik olarak karmaşık öğrenme görevlerine bağımlılıklarını ifade etmede ayrımcı modellerden daha esnektir" vs "ayrımcı modeller genellikle gözlenen ve hedef değişkenler arasındaki daha karmaşık ilişkileri ifade edebilir"

Bu konuda beni düşündüren ilgili soru .


5
(+1) Terminolojinin kafa karıştırıcı olduğunu ve SVM’nin aksine koşullu dağılım için üretken olduğunu düşündüğüm bir modelinin sadece ayrımcılığa yönelik bu koşullu dağılımın sadece yönlerini modellediğini düşünüyorum. amaç. İkinci madde işaret noktanızın gösterdiği gibi, tamamen üretken bir model haline gelmesi için bir modeli artırılabilir. Bu ayrım öğrenme açısından ilgilidir, çünkü modelini ve modelleyebiliriz ya da modelleyebiliriz . P ( y | x ) P ( x , y ) P ( y | x ) P ( y | x )P(y|x)P(y|x)P(x,y)P(y|x)P(y|x)
NRH

2
SVM'ler hakkındaki açıklamanızın doğru olduğunu sanmıyorum: "Fakat bunların olasılıksal yorumları bile yok." Kayıp işlevine sahip herhangi bir şey, uygun bir PDF'nin MAP yapılandırmasını bularak, olasılıksal bir anlamda net bir şekilde yorumlanabilir.
gmatt

Yanıtlar:


135

Temel fark ayırt modelleri ve üretimsel modeller arasında:

  • Ayrımcı modeller , sınıflar arasındaki (sert veya yumuşak) sınırı öğrenir
  • Üretken modeller , bireysel sınıfların dağılımını modellemektedir

Doğrudan sorularınızı cevaplamak için:

  • SVM'ler ve karar ağaçları ayırt edicidir çünkü sınıflar arasındaki açık sınırları öğrenirler. SVM bir maksimum marj sınıflandırıcısıdır, yani bir çekirdek verildiğinde iki sınıfın numuneleri arasındaki mesafeyi maksimize eden bir karar sınırı öğrendiği anlamına gelir. Bir örnek ile öğrenilen karar sınırı arasındaki mesafe, SVM'yi "yumuşak" bir sınıflandırıcı yapmak için kullanılabilir. DT'ler, alanı, bilgi kazanımını (veya başka bir kriteri) en üst düzeye çıkaracak şekilde tekrar tekrar bölümlere ayırarak karar sınırını öğrenir.

  • Bu şekilde üretken bir lojistik regresyon formu oluşturmak mümkündür. Yine de sınıflandırma kararlarını vermek için tam üretici modeli kullanmadığınızı unutmayın.

  • Uygulamaya bağlı olarak, üretken modellerin sunabileceği birçok avantaj vardır. Çevrimiçi test verilerinin eğitim verilerinden farklı temel dağılımlar tarafından üretilebileceği durağan olmayan dağıtımlarla uğraştığınızı varsayalım. Dağıtım değişikliklerini tespit etmek ve buna göre üretken bir modeli güncellemek, özellikle de çevrimiçi güncellemelerin denetlenmemesi gerekiyorsa, SVM'deki bir karar sınırı için buna göre daha kolaydır. Ayırt edici modeller de genel olarak dışlayıcı tespiti için işlev görmez, ancak gene de üretken modeller genellikle yapar. Belirli bir uygulama için en iyisi elbette uygulamaya göre değerlendirilmelidir.

  • (Bu alıntı anlaşılır, ancak söylemeye çalıştığım şey bu.) Üretken modeller, genellikle veri setindeki bağımsızlık ilişkilerinin zengin temsillerini sunan olasılıksal grafik modeller olarak belirtilir. Ayrımcı modeller, veri kümesindeki özellikler ve sınıflar arasındaki ilişkilerin bu kadar net gösterimini sunmamaktadır. Her bir sınıfı tamamen modellemek için kaynaklar kullanmak yerine, sınıflar arasındaki sınırı zengin bir şekilde modellemeye odaklanırlar. Aynı kapasiteden (örneğin, modeli çalıştıran bir bilgisayar programındaki bitler) göz önüne alındığında, ayırt edici bir model bu sınırın üretken bir modele göre daha karmaşık gösterimlerini sağlayabilir.


Önemsiz bir yorum: kümeleri arasındaki sınırlar , arttıkça çizilmesi / anlaşılması / ölçülmesi zorlaşır . Böylece, örneğin ayırt edici bir model olarak görülen k kümelemesi daha gürültülü ve geçici hale gelir. (Örnek: 2 parti sistemlerdeki siyaseti karşılaştırmak, Almanya'daki 5 parti). (k2)kk
denis,

63

(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.)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.