參考:
百面機器學習
西瓜書
02 邏輯迴歸Logistic Regression(對數機率迴歸)
2.1 邏輯迴歸和線性迴歸
2.2 二分類邏輯迴歸
從線性迴歸到邏輯迴歸,可以理解成要找一個映射f,將連續區間的值映射到有限值的區間,特定的值對應特定的類別。
- 單位階躍函數是很好的選擇,大於0的預測爲一類,小於0的爲另一類,等於0隨意分。但是它不連續,因此構建模型後無法用作f=g−1(⋅)。
- 因此用接近單位階躍函數的可微函數——對數機率函數(logistic function,是sigmoid函數,即S型函數的一種)來代替
f(z)=1+e−z1
可對邏輯迴歸進行化簡
y=f(θTx+b)=1+e−(θTx+b))1y1−y=e−(θTx+b))ln1−yy=θTx+b
若將y視爲樣本作爲正例的可能性P[y=1∣x;θ,b],或說似然;稱1−yy爲機率 (odds) ,對數機率 (log odds ,亦稱logit)爲
ln1−yy
- 可用極大似然法最大化對數似然對參數進行求解
ℓ(θ,b)=i=1∑mlnp(yi∣xi;θ,b)
其中
p(y=1∣x)=1+eθTx+beθTx+bp(y=0∣x)=1+eθTx+b1
2.3 多項邏輯迴歸Softmax regression
當使用邏輯迴歸處理多標籤分類問題時:
2.3.1 基本形式
假設每個樣本屬於k個不同類別的概率服從幾何分佈,則對每一類的分類預測概率可以表示爲
hθ(x)=⎣⎢⎢⎢⎡p(y=1∣x;θ)p(y=2∣x;θ)⋮p(y=k∣x;θ)⎦⎥⎥⎥⎤=∑j=1keθj⊤x1⎣⎢⎢⎢⎡ee⊤xeθ2Tx⋮eqjx⎦⎥⎥⎥⎤
2.3.2 多項邏輯迴歸是二分類邏輯迴歸在多標籤分類下的一種拓展
用多分類的形式寫出二分類邏輯迴歸:
hθ(x)=eθ1Tx+eθ2Tx1[eθ1Txeθ2Tx]
進行一下變化,消除參數θ們的冗餘性
hθ(x)=e0⋅x+e(θ2T−θ1T)x1[e0⋅xe(θ2T−θ1T)x]=[1+eθTx11−1+eθTx1]
這和二分類邏輯迴歸的式子就一樣了。
2.3.3 當存在樣本可能屬於多個類別的情況時
- k個類別,訓練k個二分類的邏輯迴歸分類器
- 對每個類別,第i個分類器用以區分樣本可不可以歸爲第i類,即“第i類”與“非第i類”兩類