class-邏輯回歸最大熵
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-邏輯回歸最大熵