Generative Learning algorithms生成學習算法

    在之前的算法如線性迴歸等,都是對p(y|x;θ)直接建模,也就是,我們通過學習樣本數據,得到在參數θ下,給定輸入x時y的概率分佈,也就是待預測值的概率分佈,從而達到預測的目的。這是判別式學習算法。我們可以變化思考角度,來對p(x|y;θ)建模,也許能更好地解決某些問題,這是生成學習算法。也就是說我們對在參數θ下,給定結論y後,輸入特徵的概率分佈建模。舉個例子,假設我們要分辨動物是貓還是狗,我們可以根據一些特徵推算出它是狗的概率,比如臉型,爪子特徵等等,這就是對p(y|x;θ)直接建模,此時我們往往要找到一個決策界線,比如線性迴歸要找到分隔直線,用於預測結果。我們還可以考慮,當動物是狗時,它有某些特徵的概率時多少,這就是對p(x|y;θ)建模,當我們需要預測一個未知動物,我們提取它的特徵,然後跟狗的特徵比較,再跟貓的特徵比較,看它更符合哪個,從而得到結論。

    在生成學習算法中,我們一般需要對p(y|x)建模,爲便於之後計算,一般還要對p(y)建模,這裏解釋一下建模這個詞,一般是指賦予它一個概率分佈模型,比如當y只能取0或1(分類問題)時,一般用伯努利分佈對y建模。此後,根據

我們就間接得到了p(y|x;θ),從而可以預測。實際上,我們是要得到能使p(y|x)取最大值的y的值,那麼可以簡化問題:

在接下來的幾個博文中,我們將具體學習幾個生成學習算法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章