首先推導二類分類訓練集上的邏輯斯蒂迴歸模型(Logistic Regression), 然後推導最大熵模型(Maximum Entropy Model), 最後給出給出最大熵模型等價於邏輯斯蒂迴歸模型的條件.
1. 邏輯斯蒂迴歸
訓練集T={(xi,yi)|i=1,2,...,N},x∈Rn,y∈{0,1} .
我們假設特徵X 與輸出Y 之間具有某種相關關係: X,Y 是隨機變量, 且X 的取值決定了Y 的分佈, 即Y=Y(x) .
爲了預測Y 的取值,我們建立模型擬合Y 在X 給定時的條件概率:
P(Y=1|X=x)=P{Y(x)=1}=f(x;β)
,其中
f(x;β) 是用來擬合這個條件概率的
參數模型.
我們希望參數模型 f(x;β) 滿足這樣的性質:
- f(x;β)∈[0,1] .
- f 應該至少是個連續函數. 這是因爲我們希望模型f 的輸出能夠隨 x 平滑地變化.
- f 應該儘可能簡單.
幸運的是, 恰好存在一個函數完美滿足上述所有條件,即sigmoid函數:
f(x;β)=11+e−(β0+βT1x)
於是,我們的模型變成:
P(Y=1|X=x)=11+e−(β0+βT1x)
我們使用最大似然估計來求解模型參數β :
⎧⎩⎨⎪⎪⎪⎪maxβL(β)L(β)=ln∏i=1nf(xi;β)yi(1−f(xi;β))1−yi
爲什麼選擇sigmoid函數
保留訓練集T 以及X,Y 的相關關係不變,現在我們使用廣義線性模型(GLM)對訓練集建模:
L(η(EY))=β0+βT1x
.
現在我們來細化上述模型:一方面,考慮到Y∈{0,1} , 不妨假設Y 服從二項分佈:
Y(x)∼B(p(x))
; 另一方面, 我們使用
Y 的期望來預測
Y 的取值, 這樣我們有:
η(EY)=η(EY(x))=EY(x)=p(x)
.
考慮到二項分佈的連接函數L 通常取logit 函數:
logit(x)=lnx1−x
,於是, 上述模型變爲:
lnp(x)1−p(x)=β0+βT1x
,解得
p(x)=11+e−(β0+βT1)
.此即sigmoid函數.
2. 最大熵模型
離散分佈P 的熵:
H(P)=−∑x∈Ωp(x)lnp(x)
二維離散分佈
PX,Y 的
條件熵:
H(PY|X)=−∑x∈Ω1,y∈Ω2p(x)p(y|x)lnp(y|x)
給定訓練集T={(xi,yi)|i=1,2,..,N},x∈Ω1,y∈Ω2 , 我們學習一個熵最大的條件概率模型p(y|x) . 注意PY|X 是一個矩陣, 用p 表示.
目標函數爲: maxpH(p) , 由於目標函數與訓練集無關, 因此, 爲了擬合訓練集, 我們引入如下約束:
- ∀x∈Ω1,PX(x)=P̂ X(x) , P̂ X 是X 在訓練集上的經驗邊緣概率分佈;
- ∑yp(y|x)=1 . 值得注意的是, 這是一個約束, 而不是每個 x 對應一個的多個約束. 原因在於, p 是一個矩陣, 此條件可以等價表述爲 Ap=1 , 是一個仿射約束;
- 爲了表示我們關於訓練集的其他先驗知識, 我們還可以額外引入M 個如下形式的約束:
Efi(x,y)=Ê fi(x,y),fi(x,y),i=1,2,...,M
, Ê 是訓練集上的經驗期望.
我們來分析上述約束條件. 首先, 約束(3)可以等價轉換爲:
∑x,yfi(x,y)[p̂ (x,y)−p(x)p(y|x)]=0
.再由約束(1), 將目標函數以及約束條件中的所有
p(x) 用
p̂ (x) 替換, 我們最終得到如下形式的約束最優化問題:
s.t.minp∑x,yp̂ (x)p(y|x)lnp(y|x)∑yp(y|x)=1∑x,yfi(x,y)[p̂ (x,y)−p̂ (x)p(y|x)]=0,i=1,2,...,M
.注意, 這一個
凸最優化問題.
引入拉格朗日乘子, 構造拉格朗日函數:
L(α,β,p)=−H(p)−α⎛⎝⎜⎜∑yp(y|x)−1⎞⎠⎟⎟−∑i∑x,yβifi(x)[p̂ (x,y)−p̂ (x)p(y|x)]
利用
∂L∂p(y|x)=0
可以得到(推導過程很複雜, 可以參考文獻[1]):
p(y|x)=e∑iβifi(x,y)∑ye∑iβifi(x,y)
此即最大熵模型. 參數β 可以通過求解拉格朗日對偶問題或者等價地利用極大似然估計解出.
3. 邏輯斯蒂迴歸與最大熵模型的等價性
在最大熵模型中, 令:
⎧⎩⎨⎪⎪⎪⎪Ω={0,1}M=2f1(x,y)=yf2(x,y)=xy
即可得到邏輯斯蒂迴歸模型.
附錄: 線性迴歸, GLM以及GAM
設 X,Y 是具有相關關係的兩個隨機變量, 且Y 的分佈取決於X 的觀察值, 即Y=Y(x) . 爲了刻畫出X 和Y 的關係, 我們通常使用簡單的線性迴歸模型:
y=α0+α1x1+α2x2+⋯+αnxn
,或簡寫爲
y=α⋅x
其中參數向量
α 的值通常使用
最小二乘法求出.
有時, 線性迴歸過於簡單的形式不足以將X,Y 之間的複雜關係描述清楚, 因此我們將等式左側替換爲迴歸變量Y(x) (或其期望EY )的函數:
L(EY)=α⋅x
.此即
廣義線性模型(GLM), 函數
L 即
連接函數. 例如,
logistic迴歸就是一種廣義線性模型, 其連接函數爲
logit函數.
我們還可以將GLM進一步泛化. 保留等式左側不變, 將等式右側xi 替換模型b(xi) , 即可得到廣義加性模型(GAM):
L(EY)=α0+α1f(x1)+α2f(x2)⋯αnf(xn)
參考文獻
[1]. <統計學習方法>