- 邏輯斯蒂迴歸(logistic regression)是一種分類方法
- 最大熵是概率模型學習的一個準則,將其推廣到分類問題得到最大熵(maximum entropy)模型
- 兩者都屬於對數線性模型
邏輯斯蒂迴歸模型
邏輯斯蒂分佈
- 定義:設 X 是連續隨機變量, X服從邏輯斯蒂分佈是指 X 具有下列分佈函數和密度函數:
F(x)=P(X≤x)=11+e−(x−μ)/γ
f(x)=F′(x)=e−(x−μ)/γγ(1+e−(x−μ)/γ)2
μ 爲位置參數,γ 爲形狀參數- 分佈函數屬於邏輯斯蒂函數,其圖形式一條S形曲線(sigmoid curve),該曲線以點
(μ,12) 爲中心對稱,即滿足:
F(−x+μ)−12=−F(x−μ)+12 - 曲線在中心附近增長速度較快,在兩端增長速度較慢,形狀參數
γ 的值越小,曲線在中心附近增長得越快 -
二項邏輯斯蒂迴歸模型
- 二項邏輯斯迴歸模型是一種分類模型,由條件概率分佈 P(Y|X) 表示,形式爲參數化的邏輯斯諦分佈
- 定義:二項邏輯斯迴歸模型是如下的條件概率分佈:
P(Y=1|x)=exp(w⋅x+b)1+exp(w⋅x+b)
P(Y=0|x)=11+exp(w⋅x+b)
x∈Rn 是輸入,Y∈{0,1} ,w∈Rn 和b∈R 是參數,w 稱爲權值向量,b 稱爲偏置- 若將 w ,b 寫成更簡潔的形式,多加一維度就好:
w=(w(1),w(2),…,w(n),b)T ,x=(x(1),x(2),…,x(n),1)T - 對於給定的輸入實例 x , 按照上式求出兩個條件概率,哪個大就將實例 x 歸類到哪一類
- 邏輯斯迴歸模型特點
- 一個事件的機率(odds)指該事件發生的概率與該事件不發生的概率的比值,若一個事件發生的概率是 p, 那麼該事件的機率爲
p1−p ,該事件的對數機率(log odds) 或 logit 函數是:
logit(p)=logp1−p - 用上面兩個條件概率代入可得:
logP(Y=1|x)1−P(Y=1|x)=w⋅x - 即是說,在該模型中,輸出Y=1的對數機率是輸入 x 的線性函數
- 一個事件的機率(odds)指該事件發生的概率與該事件不發生的概率的比值,若一個事件發生的概率是 p, 那麼該事件的機率爲
模型參數估計
- 用極大似然法估計模型參數:
- 設
P(Y=1|x)=π(x),P(Y=0|x)=1−π(x) - 似然函數爲
∏i=1N[π(xi)]yi[1−π(xi)]1−yi - 對數似然函數爲
L(w)=∑i=1N[yilogπ(xi)+(1−yi)log(1−π(xi))]=∑i=1N[yilogπ(xi)1−π(xi)+log(1−π(xi))]=∑i=1N[yi(w⋅xi)−log(1+exp(w⋅xi))] - 對L(w) 求極大值,得到 w 的估計值
- 這樣問題就變成了以對數似然函數爲目標函數的最優化問題。邏輯斯諦迴歸學習中通常採用的方法是梯度下降法及擬牛頓法
- 設
多項邏輯斯蒂迴歸
- 上面的邏輯斯諦迴歸模型是二項分佈模型,屬於二類分類,可以將其推廣爲多項邏輯斯諦迴歸模型
- 假設離散型隨機變量Y 的取值集合是
{1,2,⋯,K} ,則多項邏輯斯諦迴歸模型爲P(Y=k|x)=exp(wk⋅x)1+∑K−1k=1exp(wk⋅x),k=1,2,⋯,K−1
P(Y=K|x)=11+∑K−1k=1exp(wk⋅x)
最大熵模型
最大熵原理
- 最大熵原理是概率模型學習的一個準則。最大熵原理認爲,學習概率模型時,在所有可能的概率模型(分佈)中,熵最大的模型是最好的模型。
- 通常用約束條件來確定概率模型的集合
- 假設離散隨機變量 X 的概率分佈是 P(X),則其熵爲
H(P)=−∑xP(x)logP(x)
- 熵滿足以下不等式:
0≤H(P)≤log|X| - |X| 是 X 的取值個數,當且僅當X的分佈是均勻分佈時右邊的等號成立:即 X 服從均勻分佈時,熵最大
- 熵滿足以下不等式:
最大熵模型的定義
- 即是用最大熵原理選擇最好的分類的模型
- 假設滿足所有約束條件的模型集合爲
C≡{P∈P|EP(fi)=EP~(fi)}
- 其中
EP~(fi) 表示特徵函數fi(x,y) 關於經驗分佈P~(X,Y) 的期望值 (經驗分佈指訓練數據的分佈) - 上述的特徵函數(feature function)
fi(x,y) 是個二值函數,當 x y 滿足這個事實時取值爲1, 否則取0 EP~(fi) 是特徵函數關於經驗分佈P~(X,Y) 的期望值,EP~(fi)=∑x,yP~(x,y)fi(x,y)
- 其中
- 定義在條件概率分佈
P(Y|X) 上的條件熵爲H(P)=∑x,yP~(x)P(y|x)logP(y|x) - 則模型集合
C 中條件熵H(P)最大的模型稱爲最大熵模型,式中對數爲自然對數
最大熵模型的學習
- 最大熵模型的學習過程就是求解最大熵模型的過程,可以形式化爲約束最優化問題
- 思路如下:
- 該優化問題爲:
maxP∈CH(P)=−∑x,yP~(x)P(y|x)logP(y|x) s.t.EP(fi)=EP~(fi),i=1,2,⋯,n ∑yP(y|x)=1 - 將約束最優化的原始問題轉換爲無約束最優化的對偶問題,通過求解對偶問題求解原始問題:用 拉格朗日函數
- 對偶後,對拉格朗日函數求偏導
- 該優化問題爲:
極大似然估計
- 對偶函數的極大化等價於最大熵模型的極大似然估計
模型學習的最優化算法
- 邏輯斯諦迴歸模型、最大熵模型學習歸結爲以似然函數爲目標函數的最優化問題
- 通常通過迭代算法求解
- 從優化角度,常用的方法爲:改進的迭代尺度法,梯度下降法,牛頓法或擬牛頓法。牛頓法或擬牛頓法一般收斂速度更快
改進的迭代尺度法
- 改進的迭代尺度法(improved iterative scaling, IIS)是一種最大熵模型學習的最優化算法