logistic regression

如下是臺大林軒田老師講的機器學習基石第10課的學習筆記 。算法

軟性二值分類(soft binary classification)

目標函數

gif.gif

Paste_Image.png

這裏咱們的二值分類和硬性二值分類的數據是同樣的,可是目標函數是不同的。而軟性二值分類所真正須要的數據是跟目標函數同樣的機率,可是咱們收集的數據倒是分類的結果。機器學習

logistic hypothesis

對於提取的特徵向量:
gif.gif
計算各個份量的加權分數,但咱們須要把這個分數轉化爲0-1之間的機率值。(由於咱們的目標函數是這個)
用到的轉換函數叫logistic函數函數

Paste_Image.png

這樣咱們的logistic hypothesis就是:學習

gif.gif

而其中的的logistic function(sigmoid函數就一種)能夠爲:
優化

Paste_Image.png
sigmoid型函數表示是一個s型的函數。spa

logistic 迴歸

做法

來近似目標函數 f(x)=P(y|x) .net

error measure錯誤衡量

Paste_Image.png

咱們這裏也要找一個Ein來minimise一下 ,當咱們的目標是一個機率p的時候,咱們能夠用一個特殊的方式。
這個方式就是最大似然估計的方法,咱們假設目標函數爲:
Paste_Image.pngcode

則對於一個數據,它取各個值的機率分別爲:對象

Paste_Image.png

那麼咱們能夠從數據中取出N個樣本(in sample),觀測它們的分佈,咱們想要達到的目標是咱們的目標函數可以讓取出這N個觀測的機率儘量的大,這個就是最大似然估計獲得最優化的方法。blog

Paste_Image.png

用f(x)替換成

Paste_Image.png

用咱們的hypothesis替換f:

Paste_Image.png

Paste_Image.png
讓這個可能性最大的g就是咱們要找的g

如今咱們發現這個s型的logistic函數有對稱性

Paste_Image.png

因此咱們能夠用這個性質來簡化優化函數,由於p(xi)對於全部的h是同樣的,因此沒什麼關係

Paste_Image.png

而後咱們用咱們的hypothesis的定義式子來替換這個h,要找likelihood的最大值,咱們把連乘經過取對數換成連加,經過帶入logistic函數最終獲得Ein最小化的形式。這個error 衡量咱們叫交叉熵錯誤(信息熵的概念)。
Paste_Image.png

最優化

對這個Ein 求梯度爲0 的w的值

Paste_Image.png

Paste_Image.png

要想讓這個Ein的梯度小到接近0,就不斷的嘗試 啓發式搜索 、迭代優化(iterative optimization)

v 是方向 η是步頻

Paste_Image.png

每一步都要用貪心的策略,找一個降低最快的方向
每一步

這個優化對象不是線性的,咱們應該使用泰勒展開的形式,把公式近似替代爲線性的形式

Paste_Image.png

梯度降低法 gradient descent

v的方向取梯度的反方向

Paste_Image.png

η 應該和梯度的大小成比例,這樣才能最終收斂。這樣和v的分母抵消,最後造成定值學習率(fixed learning rate )

Paste_Image.png

下面是logistic 迴歸算法用梯度降低法作優化

Paste_Image.png

Paste_Image.png

其它資料

logistic迴歸

相關文章
相關標籤/搜索