所謂判別模型模型是直接判別測試用例所屬的類別,即直接對p(
y|x)
進行建模,例如logistic regression,y=
σ(θt
x)。它直接計算出所屬類別的概率。
但是我們還有另一種方法~注意到貝葉斯公式: p(
y|x)
=p(x
,y)p
(x)=
p(x|
y)⋅p
(y)p
(x)
我們可以用p(
x|y)
(條件分布),p(
y)(類別先驗)和p(
x)來計算出p(y|x),這種方法我們就叫作生成方法,其中p(
x)=∑
ip(x
|yi)
。它先生成聯合概率分布,再用聯合概率分布和邊緣分布得到p(
y|x)
。可以看出生成方法可以推出判別方法的結論p(
y|x)
,但是判別方法不能得到生成方法的中間結果p(
x,y)
。例如我們有以下(x,y)形式的資料:(1,0), (1,0), (2,0), (2, 1)
那麼p(x,y)是:
y=0y=1
x=11/2
0x=2
1/41/4
而p(y|x) 是:
y=0y=1
x=11
0x=2
1/21/2
生成模型更細緻,它還考慮了資料本身的一些性質;而判別模型只用把不同的類別判別出來就行了,判別模型考慮的是差異。
紅色是p(x
|y=0
) ,藍色是p(
x|y=
1)。然後計算出p(
y=1|
x)(綠色)來進行判別。可以證明如果每個樣本分佈滿足高斯分布,則p(
y=1|
x)為logistic回歸。所以如果資料(大致)滿足高斯分布,則高斯判別分析要比logistic回歸要精準,收斂速度更快。
另有,如果: p(
x|y=
1)∼p
oiss
on(λ
1)p(
x|y=
0)∼p
oiss
on(λ
0)即個各類滿足泊松分布,則p(
y=1|
x)也是logistic回歸。
但是我們用了logistic回歸之後不能知道p(
x|y)
的分布,如果我們知道資料的分布模型大致長什麼樣,則生成方法要好些~
參考:stanford cs229
機器學習 樸素貝葉斯分類器
假設現在要構建乙個網路圖書館,我們可以給新進來的書貼上若干個標籤,沒有機器學習演算法的情況下,我們需要給這些書手動分類,是計算機類的呀,還是非計算機類的呀,是 類的呀,還是非 類的云云。那麼,我們可以通過讓程式自己學習如何通過一本書上的若干標籤來進行圖書類別的區分,這樣就可以節省很多人力,這也是機器...
機器學習筆記(6)貝葉斯分類器
一 貝葉斯分類器的訓練過程以及判斷過程都是一系列概率的乘積,這種方法主要關注的是做出決策的平均錯誤率,這對大多數的應用來說是合理的。但在一些特殊的應用中,不同型別的決策錯誤所要付出的代價和風險是不同的。癌症患者漏診為正常代價很大,可能延誤有效的 正常人誤診為癌症患者代價較小,通過後續檢查可以排除。解...
機器學習 生成模型和判別模型
摘要 判別式模型,就是只有乙個模型,你把測試用例往裡面一丟,label就出來了,如svm。生成式模型,有多個模型 一般有多少類就有多少個 你得把測試用例分別丟到各個模型裡面,最後比較其結果,選擇最優的作為label,如樸素貝葉斯。本文將從生成式模型與判別式模型的概念,適用環境以及具體模型三個方面分析...