邏輯迴歸
之前在線性迴歸的章節中,我們瞭解了線性迴歸的原理就是把點落在一條直線上,而在邏輯迴歸的部分則是希望能夠把點落在一條曲線上,這是廣義的線性迴歸,然後我們再用一個閾值來將那些點分開而達到分類的效果。
而在最大熵原理的指導下,我們知道了那條曲線應該是一個什麼樣子的。
LR和最大熵模型
首先,回顧我們之前推導出的最大熵模型爲:exp(∑i=1nwifi(x,y))∑y exp(∑i=1nwifi(x,y))
在二分類的邏輯迴歸模型中,y的取值假定有兩種 y0,y1 ,那麼對應到特徵函數 fi(x,y) 上,我們可以設定:f(x,y)={h(x), y=y10, y=y0 ,也就是說,我們定義特徵函數只有在y=y1 的時候抽取特徵。
當y=y1 時:
P(y1|x)=exp(∑i=1nwifi(x,y1))exp(∑i=1nwifi(x,y1))+exp(∑i=1nwifi(x,y0))
P(y1|x)=exp(w h(x))exp(w h(x))+exp(w 0)
P(y1|x)=exp(w h(x))exp(w h(x))+1
當y=y0 時:
P(y0|x)=exp(∑i=1nwifi(x,y0))exp(∑i=1nwifi(x,y1))+exp(∑i=1nwifi(x,y0))
P(y0|x)=exp(w 0)exp(w h(x))+exp(w 0)
P(y0|x)=1exp(w h(x))+1
綜合起來:
P(y0|x)=1−P(y1|x)
具體結合二分類的邏輯迴歸模型來說,在LR中,條件概率由P(Y|X)表示,X的取值範圍是所有實數,而Y的取值範圍只有兩個,這裏爲了數學上的計算方便一點,把這兩個定位1和0,也就是說在上面的式子中,令 y1=1,y0=0 ,此時LR的條件概率分佈爲:
{P(Y=1|X)=exp(h(x))1+exp(h(x)) P(Y=0|X)=11+exp(h(x))
LR和對數機率
我們既然知道了LR的條件概率分佈,也就知道了對於一個給定的x,可以求出被分類成1和0的概率值,通過將x分類到概率值比較大的那一類就可以完成對於x的分類過程。
一件事件的機率(odds)是指該事件發生的概率與不發生的概率的比值。也就是說,如果一個事件發生的概率是p,那麼不發生的概率自然是1-p,那麼它的機率就是 p1−p ,如果將機率對數化:logit(p)=log(p/1-p)
在LR中,如果只關注y=1的概率時,輸出y=1的對數機率就是輸入x的線性函數:
logP(Y=1|X)1−P(Y=1|X)=wx
LR的參數估計
根據上面的推導,可以設:{P(Y=1|X)=h(x) P(Y=0|X)=1−h(x)
我們可以用極大似然估計來求解模型的參數
*之前在最大熵模型的章節中就證明過
似然函數爲:∏i=1N[h(xi)yi][1−h(xi)1−yi]
對數化後爲:
∑i=1N[yilog h(xi)+(1−yi)log(1−h(xi))]
→
∑i=1N[yilogh(xi)1−h(xi)+log(1−h(xi))]
→
∑i=1N[yi(wxi)+log(1+exp(wxi))]
然後用梯度下降或者牛頓法來繼續求解。