1. 程式人生 > >class-邏輯回歸最大熵

class-邏輯回歸最大熵

l-bfgs max-width net 觀點 通過 離散 n) 自然 等價

我們知道,線性回歸能夠進行簡單的分類,但是它有一個問題是分類的範圍問題,只有加上一個邏輯函數,才能使得其概率值位於0到1之間,因此本次介紹邏輯回歸問題。同時,最大熵模型也是對數線性模型,在介紹最大熵模型的同時需要了解拉格朗日對偶法對約束最優化問題的求解,在文章末有幾個關於牛頓法的鏈接,可供拓展閱讀。 內容: 1 logistic regression model
1.1 logistic distribution
1.2 binary logistic regression model
1.3 模型參數估計
1.4 multi-nominal logistic regression model
2 最大熵模型

2.1 最大熵原理
2.2 最大熵模型定義
2.3 最大熵模型的學習training
2.4 極大似然估計
3 模型訓練算法
3.1 改進叠代尺度法(IIS)
3.2 擬牛頓法


logistic regression和maximum entropy model 都屬於對數線性模型。

1 logistic regression model

1.1 logistic distribution

定義:設X是連續分布隨機變量,X服從logistic distribution是指具有下列分布函數和密度函數:
技術分享圖片
where,μ為位置參數,γ>0為形狀參數。
分布曲線:
技術分享圖片
F(x)為S型曲線(sigmoid curve),以(μ,1/2)中心對稱,即:技術分享圖片

,γ越小中間位置增長越快。

1.2 binary logistic regression model

二項邏輯回歸模型是一種分類模型,用條件概率P(Y|X)表示,X取值為實數,Y取值為0或1。通過監督學習來估計模型參數
條件概率分布:
技術分享圖片
where,x屬於Rn是輸入,Y屬於{0,1},w是權值向量,b是偏置,w·x是內積inner product。
邏輯回歸是對於給定的輸入實例x求得P(Y=1|x)和P(Y=0|x)的概率,取概率較大者的類別作為x的分類。
為了簡化將w,x擴充為w=(w1,w2,…,wn,b),x=(x1,x2,…,xn,1),則logistic distribution為:


技術分享圖片
一個事件的幾率odds是指該事件發生的概率與不發生的概率比值,若發生為p,則幾率為p/(1-p),該事件的對數幾率log odds為:技術分享圖片
代入上式可得:技術分享圖片
說明:輸出Y=1的對數幾率是輸入x的線性函數,對輸入x分類的線性函數w·x其值域為實數域,線性函數的值越接近於無窮,概率值就越接近於1,線性函數的值越接近負無窮概率值就越接近於0,這就是邏輯回歸model。

1.3 模型參數估計

技術分享圖片
這樣,目標函數變為對數似然函數為目標函數的最優化問題,常用gradient descent 或者擬牛頓法求解,那麽學到的model是:w hat是w的最大似然估計值
技術分享圖片

似然函數的理解1
wiki百科
似然函數就是likelihood function,似然也是一種概率,但是是對已知結果對參數預測進行估計。更大的作用在於當參數變化時似然性的改變,變大就更有“說服力”。

1.4 multi-nominal logistic regression model

與1.2的區別就是Y取值為{1,2,3,…,K},參數估計法也是類似的。
技術分享圖片
推薦閱讀:http://blog.jobbole.com/88521/
https://www.cnblogs.com/sparkwen/p/3441197.html

2 最大熵模型

2.1 最大熵原理

最大熵原理經過推導將得到最大熵模型,其實它是一個概率模型的學習準則。最大熵原理認為學習概率模型時,在所有可能model中,熵最大的model是最好的model,若有約束條件,則是在此條件下選取熵最大的model。
假設離散隨機變量X的概率分布為P(X),其熵為:技術分享圖片,滿足技術分享圖片
where,|X|是X的取值個數,當且僅當 X滿足均勻分布時等號成立,即均勻分布熵最大。
首先要滿足已有事實即約束條件,如果沒有別的條件時(如果僅有概率和為1)不確定信息就通過熵的最大化來表示等可能(均勻分布,等可能概率)

2.2 最大熵模型定義

目標是利用最大熵原理選擇最好的分類模型。
考慮模型應該滿足的條件:訓練集T={{(x1,y1),…(xN,yN)}};可以確定聯合概率分布P(X=x,Y=y),邊緣概率分布P(X=x):
技術分享圖片ν是出現的頻次,N是總樣本數(通過頻率來表示概率)
特征函數(feature function):f(x,y)描述輸入x與輸出y之間的某一事實。定義為:
技術分享圖片
特征函數與經驗分布的期望值:技術分享圖片
進而特征函數關於模型P(Y|X)與經驗分布的P(X=x)期望值:技術分享圖片
註:若model能夠獲取訓練數據的信息,那麽可以假設這兩個期望值相等——這就是model學習的約束條件技術分享圖片,其中有n個特征函數就有n個約束條件。
最大熵模型:假設所有滿足約束條件的模型集合:
技術分享圖片
定義在條件概率分布P(Y|X)上的條件熵為:
技術分享圖片
其中,集合C中條件熵H(P)最大的模型稱為最大熵模型,對數為自然對數。

2.3 最大熵模型的學習training

最大熵模型的學習就是求解最大熵模型的過程,即約束條件下找最優化的問題(約束最優化)。
技術分享圖片等價於
技術分享圖片
展示推導過程:
首先引入拉格朗日函數L(p,w)將約束問題轉化為無約束最優化的對偶問題:
技術分享圖片(可以發現跟高數中拉格朗日乘數法類似)
將原始問題技術分享圖片轉化為技術分享圖片的對偶問題。
求解對偶問題
首先求解min部分,記作技術分享圖片,其解記作技術分享圖片
最小化問題就是求解其偏導=0,即
技術分享圖片
當P(x)>0時,Pw的解為:
技術分享圖片
根據summation(P(y|x))=1,消去分母得
技術分享圖片其中,技術分享圖片
where,Zw(x)稱為規範化因子,fi(x,y)是特征函數;wi是特征的權值。由上式表示的模型就是最大熵模型Pw,w是最大熵模型的參數向量。
其次求解max部分,技術分享圖片,將其解記為w star:技術分享圖片 ,通過最優化算法求對偶函數ψ(w)的極大化

2.4 極大似然估計

證明:對偶函數的極大化等價於最大熵模型的極大似然估計
對數似然函數:技術分享圖片
最大熵模型下,代入P(y|x)得到:
技術分享圖片
技術分享圖片(首尾步用到Summation(P)=1去掉w0);
比較上二式得,技術分享圖片
因此,最大熵模型就轉化為具體求解對數似然函數或者對偶函數的極大化問題。
最大熵模型的一般形式:
技術分享圖片技術分享圖片
技術分享圖片為任意實數的特征函數。

3 模型訓練算法

邏輯回歸模型和最大熵模型最終都可以歸結為以似然函數為目標函數的最優化問題,通常采用叠代法。從優化的觀點來看,目標函數是光滑凸函數,很容易找到全局最優解。此處兩個方法。

3.1 改進叠代尺度法(IIS)

improved iterative scaling是一種最大熵模型學習的最優化算法。由以上結論可知似然函數為:
技術分享圖片
目標是求得L的參數,即對數似然函數的極大值時的w hat。
IIS思想:
技術分享圖片
對於經驗分布P(x,y),模型參數從w到w+δ,對數似然函數改變量:
技術分享圖片
利用不等式技術分享圖片求得該變量的下界
技術分享圖片
即,得到一個下界。如果使下界不斷變大,相應的對數似然函數也會變大。A(δ|w)中δ是向量,同時優化不易,故每次只優化一個變量δi,固定其他。因此,如下處理:引入f#(x,y)=技術分享圖片,表示所有特征在(x,y)出現的次數(fi為二值函數),因此上界A改寫為:
技術分享圖片(乘一個f#,在除一個)
根據Jensen不等式:
技術分享圖片
所以,
技術分享圖片
將右側記為B(δ|w),因此,似然函數變化量為:
技術分享圖片
對B偏導δi
技術分享圖片比用A直接偏導δ處簡單
偏導=0得:
技術分享圖片依次求出delta然後w叠代
IIS算法:
技術分享圖片
技術分享圖片
說明:關鍵步驟(a),求解δi,
如果f#(x,y)是常數則f#(x,y)=M,那麽δi可得:技術分享圖片
如果f#(x,y)不是常數,則必須通過數值計算來獲取δi,最簡單有效方法是牛頓法,另g(δi)=0表示(a)中等式,叠代公式為
技術分享圖片
選取合適的初值,方程有單根,牛頓法恒收斂,且收斂速度快。

3.2 擬牛頓法

最大熵模型:
技術分享圖片
目標函數:
技術分享圖片
梯度:
技術分享圖片where技術分享圖片
最大熵模型的BFGS算法:
技術分享圖片


附:更為詳細的介紹:
牛頓法
擬牛頓法
DFP algorithm
BFGS algorithm
L-BFGS algorithm

class-邏輯回歸最大熵