logistic迴歸和用最大似然估計選取CostFunction

邏輯迴歸的想法是用迴歸的方法來解決分類問題,然而直接用線性迴歸達不到我們想要的效果如下圖(原因不再贅述),所以我們選取了sigmoid函數來進行擬合,原因以後闡述

所以我們選擇瞭如下的函數來擬合:

然而,應該怎樣定義它的CostFunction呢?同樣,線性迴歸爲何選用最小二乘法的CostFunction?

先給出不準確的定義:這個Cost函數就只有一個極值點,且爲極小值(如何判斷?導數爲0點只有一個,且當x大於極值點時,導數恆大於0,所有的能用梯度下降來擬合的函數必須滿足這一關係)

其實,CostFunction的選取來源於極大似然估計:

以線性迴歸爲例:

我們可以把y表示成以下形式:

其中最後的誤差項代表我們未考慮的因素帶來的誤差(比如預測房價是我們沒有考慮採光這一特徵),且假設這個誤差項服從均值爲0的高斯分佈,那麼誤差項的概率密度爲:


那麼,預測出來的y的概率密度爲:

以下,我們要用最大似然估計來確定theta的值,是我們預測的結果概率最大(具體參見概率密度定義):

用對應公式求得:

取對數得到costFunction:

可知,要使上式最大就是是減號後面的部分最小,即得到了我們需要的CostFunction!

邏輯迴歸也是一樣,,只是不是梯度下降,是梯度上升,如下:

最大似然估計爲:



取對數得到CostFuction:

這回,theta需要使上式最大!很明顯,上式只有一個極大值,應該是梯度上升!所以得到:

得到theta的更新式爲:

綜上:logistic迴歸與線性迴歸還是有很大的區別的,不僅在於擬合曲線不一樣,CostFunction也不同,只是最後換算後theta的更新表達式相同罷了,具體是巧合還是必然,待研究以後來此說明。

具體的代碼參見下一篇博文,思路參見點擊打開鏈接

補充:其實關於上述論述還有其他的解釋和說明,但實質並不衝突。

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