斯坦福《機器學習》Lesson5感想———1、成學習算法

    在前面幾課裏的學習算法的思路都是給定數據集以後,確定基於此數據集的最佳假設H函數,通過學習算法確定最佳假設H的各個參數,然後通過最佳假設函數H得出新的數據集的結果。在這一課裏介紹了一種新的思路,它的核心思想是直接計算各種假設的最高概率,然後擬合各個假設的最高概率參數,並利用擬合得到的假設概率,計算出新的數據集的概率,選取概率最高的假設直接得出分類類別。

    整個生成學習算法的精髓在於條件概率的使用,在二元分類裏,也可以稱爲分別算法。在給定的數據集裏確定p(y) 和p(x|y),然後依據貝葉斯定理,得到

 

其中x|y=1)p(y=1)+p(x|y=0)p(y=0)。爲得到每種假設的最高概率,所以可知

 

 

1、高斯分別算法(Gaussian discriminant analysis,GDA)

     多元正太分佈的函數這裏就不詳細展開了,以後會另開一個關於機器學習中的常用數學的博客專題。高斯分別算法面對的是連續變量x。在高斯分別分析模型

y~Bernoulli(φ )

 x|y=0 ~N(μ0,Σ )

x|y=1∼ N(μ1,Σ)

所以它們的概率分佈函數是:


在概率分佈函數裏的參數φ, Σ, μ0 and μ1 ,可以通過最大似然概率計算。似然概率函數爲

 

最大化似然概率,可確定各參數值如下:

 

 

2、高斯分別算法和logistic迴歸算法的比較

     兩者都是針對分類問題。但是如果p(x|y)滿足多元高斯分佈,則可以推導出p(y|x)滿足logistic迴歸。反之則不然。這說明高斯分別算法具有更好的模型假設性,在訓練的時候需要更少的數據。在數據集大的時候,高斯分別算法比logistic迴歸算法更有效,一般而言,我們也認爲在數據集小的時候,高斯分別算法也更有效。logsitic迴歸算法具有更好的魯棒性,在數據集明顯不符合高斯分佈的時候,logistic迴歸算法的效率比高斯分別算法的效率好。因此,實踐中用到的更多的是logistic迴歸算法。

    此外,當x|y = 0 ∼ Poisson(λ0) ,x|y = 1 ∼ Poisson(λ1) (滿足指數簇)時,p (y|x)滿足logistic迴歸。

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