機器學習概述(2) 生成模型和判別模型的區別

2021-10-07 05:23:41 字數 1551 閱讀 6620

2.生成模型與判別模型

在監督學習下,模型可以分為判別式模型與生成式模型。

先問個問題,根據經驗,a批模型(神經網路模型、svm、perceptron、lr、dt……)與b批模型(nb、lda……),有啥區別不?(這個問題需要一些模型使用經驗)應該是這樣的:

那麼a批模型對應了判別式模型。根據上面的兩句話的區別,可以知道判別模型的特徵了,所以有句話說:判別模型是直接對 p(x

∣y

)p(x|y)

p(x∣y)

建模,就是說,直接根據x特徵來對y建模訓練。

具體地,我的訓練過程是確定構件 模型裡面「複雜對映關係」中的引數,完了再去inference一批新的sample。

所以判別式模型的特徵總結如下:

同樣,b批模型對應了生成式模型。並且需要注意的是,在模型訓練中,我學習到的是x與y的聯合模型 p(x

,y

)p(x,y)

p(x,y)

,也就是說,我在訓練階段是只對 p(x

,y

)p(x,y)

p(x,y)

建模,我需要確定維護這個聯合概率分布的所有的資訊引數。完了之後在inference再對新的sample計算 p(x

∣y

)p(x|y)

p(x∣y)

,匯出,但這已經不屬於建模階段了。

結合nb過一遍生成式模型的工作流程。學習階段,建模 p(x

,y)=

p(x∣

y)p(

y)

p(x,y)=p(x|y)p(y)

p(x,y)

=p(x

∣y)p

(y): (當然,nb具體流程去隔壁參考),然後 p(x

∣y)=

p(x,

y)p(

x)

p(x|y)=\frac

p(x∣y)

=p(x

)p(x

,y)​

。另外,lda也是這樣,只是他更過分,需要確定很多個概率分布,而且建模抽樣都蠻複雜的。

所以生成式總結下有如下特點:

生成方法:模型學習資料中的聯合概率分布p(x,y),然後求出條件概率分布區p(y|x)作為**的模型,表示給定了輸入x如何輸出y的關係,即:

典型的生成模型有樸素貝葉斯和隱馬爾科夫模型。

判別方法:模型學習資料中的決策函式f(x)或者條件概率p(x|y)作為**模型,給定輸入x,應該**什麼樣的輸出y。典型的判別模型有:k近鄰法,決策樹,logistic回歸,svm,adaboost,條件隨機場。

生成方法的特點:生成方法可以還原出聯合概率分布p(x,y),而判別方法則不能,生成方法的學習收斂速度更快,即當樣本容量增加的時候,學到的模型可以更快地收斂於真實模型;當存在隱變數時,仍可以用生成方法學習,此時判別方法就不能用。

判別方法的特點:判別方法直接學習的是條件概率p(y|x)或決策函式f(x),直接面對**,往往學習的準確率更高,由於直接學習p(y|x)成f(x),可以對資料進行各種程度上的抽象,定義特徵並使用特徵,因此可以簡化學習問息.

1 7生成模型和判別模型

生成模型 通過學習聯合概率p x,y 然後求出條件分布p y x 為 模型,典型如 樸素貝葉斯模型,隱馬爾科夫模型 判別模型 學習的是條件概率p y x 和決策函式f x 作為 函式,典型如 k臨近法,感知機,決策樹,logistic回歸模型,最大熵模型,支援向量機,提公升方法,條件隨機場 生成優點...

機器學習 生成模型和判別模型

摘要 判別式模型,就是只有乙個模型,你把測試用例往裡面一丟,label就出來了,如svm。生成式模型,有多個模型 一般有多少類就有多少個 你得把測試用例分別丟到各個模型裡面,最後比較其結果,選擇最優的作為label,如樸素貝葉斯。本文將從生成式模型與判別式模型的概念,適用環境以及具體模型三個方面分析...

機器學習基礎 生成模型和判別模型

決策函式y f x 你輸入乙個x,它就輸出乙個y,這個y與乙個閾值比較,根據比較結果判定x屬於哪個類別。例如兩類 w1和w2 分類問題,如果y大於閾值,x就屬於類w1,如果小於閾值就屬於類w2。這樣就得到了該x對應的類別了。你輸入乙個x,它通過比較它屬於所有類的概率,然後輸出概率最大的那個作為該x對...