1. 程式人生 > >《機器學習》對數機率迴歸——筆記

《機器學習》對數機率迴歸——筆記

對數機率迴歸不是迴歸函式而是分類函式。

 

廣義線性模型y=g^{^{-1}}(w^{^{T}}x+b)

提出問題:需要找到一個單調可微函式將分類任務的真實標記y與線性迴歸模型的預測值聯絡起來

線性迴歸預測值z=w^{^{T}}x+b,應用於分類問題一般選用“單位階躍函式”

y=\left\{\begin{matrix}0,z<0 & \\ 0.5,z=0 & \\ 1,z>0 & \end{matrix}\right.

但階躍函式不連續,而對數機率函式正好可以替代階躍函式,它單調可微,函式表示式為

y=\frac{1}{1+e^{^{-z}}} 把線性模型代入得到

y=\frac{1}{1+e^{^{-(w^{^{T}}+b))}}}                                 (1)

根據對數形式進行更新變形為:

ln\frac{y}{1-y}=w^{^{T}}x+b                                     (2)

y視為樣本x為正例的可能性,1-y則放映了做為反例的可能性。

利用對數機率迴歸進行分類的優點:

                  1.無需視線假設資料分佈,避免了分佈不準確所帶來的問題;

                  2.不僅預測出類別,而且磕到近似概率預測;

                  3.任意階磕到的凸函式,比較好優化;

下面推到怎樣求模型中的w和b:

對於某一個分類任務,結果輸出(0,1)

根據式子(1)中的y視為類後驗概率估計p(y=1|x)

則式子(2)可以寫成:ln\frac{p(y=1|x)}{p(y=0|x))}=w^{T}x+b

p(y=1|x)+p(y=0|x)=1

組合解出:

p(y=1|x) = \frac{e^{w^{T}x+b}}{1+e^{w^{T}x+b}}

p(y=0|x) = \frac{1}{1+e^{w^{T}x+b}}

可以通過最大似然估計來計算w和b,給定資料集(x{_{i}},y{_{i}}){_{i=1}^{m}},對率迴歸模型最大化“對數似然”:

L(w,b)=\sum lnp(y{_{i}}|x{_{i}};w,b)

為了方便令\beta =(w;b),\grave{x}=(x;1)w^{^{T}}x+b可簡化為\beta ^{^{T}}\hat{x}

再令

p{_{1}}(\check{x};\beta )=p(y=1|\check{x};\beta )=\frac{e^{\beta ^{T}x{_{i}}}}{1+e^{\beta ^{T}x{_{i}}}}

p{_{0}}(\check{x};\beta )=p(y=0|\check{x};\beta )=1-p{_{1}}(\check{x};\beta )=1-\frac{1}{1+e^{\beta ^{T}x{_{i}}}}

根據最大似然估計代入對數似然模型中得到

L(w,b)=\sum(-y{_{i}}\beta^{T}x{_{i}}+ln(1+e^{\beta^{T}x{_{i}}})))

上式是關於\beta的高階可導連續凸函式,根據凸優化理論,經典的數值優化演算法如梯度下降法、牛頓法等求得最優解

演算法思路: