邏輯迴歸 Logistic Regression

介紹

邏輯迴歸(Logistic Regression)是機器學習中一種應用非常廣泛的分類預測算法,而且簡單。工業中廣泛應用LR算法,例如CTR預估,推薦系統等。邏輯迴歸模型的預測函數爲:
hw,b(x)=11+e(wTx+b)h_{w,b}(x) = \frac{1}{1+e^{-(w^\mathrm{T}x+b)}}
其中w,bw,b爲模型參數。

Sigmoid函數

首先f(x)=sigmoid(x)=11+exf(x)=sigmoid(x)=\frac{1}{1+e^{-x}}的定義域爲RR,值域爲(0,1)(0,1),兩端不可取。sigmoid(x)sigmoid(x)關於點(0,12\frac{1}{2})對稱。其函數圖爲:
在這裏插入圖片描述
而且非常重要的一點,sigmoid(x)=sigmoid(x)(1sigmoid(x))sigmoid(x)^{\prime} = sigmoid(x)(1-sigmoid(x))

LR模型

考慮二分類任務,y{0,1}y\in\{0,1\},有:
P(y=1x;w,b)=e(wTx+b)1+e(wTx+b)P(y=1|x;w,b) = \frac{e^{(w^\mathrm{T}x+b)}}{1+e^{(w^\mathrm{T}x+b)}}
P(y=0x;w,b)=11+e(wTx+b)P(y=0|x;w,b) = \frac{1}{1+e^{(w^\mathrm{T}x+b)}}
考慮到w是一個向量,我們令Θ=(w1,w2,w3,w4,...,b)\Theta = (w_{1},w_{2},w_{3},w_{4},...,b),表示的是樣本每一個屬性xjx_{j}的權重。相應的,x=(x1,x2,x3,x4,...,1)\mathbf x=(x_{1},x_{2},x_{3},x_{4},...,1),則模型預測函數可以改寫成:
hθ(x)=11+e(ΘTx)h_{\theta}(x) = \frac{1}{1+e^{-(\Theta ^\mathrm{T}\mathbf x)}}
然後,我們用極大似然估計法來估計模型參數Θ\Theta,有:
L(Θ)=1mi=1m(y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i))))L(\Theta) = -\frac{1}{m}\sum_{i=1}^{m}(y^{(i)}\log(h_{\theta}(x^{(i)}))+(1-y^{(i)})\log(1-h_{\theta}(x^{(i)})))
則我們的優化目標是找到能使目標函數最小的參數:
Θ^=arg minL(Θ){\hat\Theta}=\argmin L(\Theta)

參數估計

LR的目標函數是關於Θ\Theta的凸函數,並且連續可導,這裏可以採用梯度下降來求解其最優解:
L(Θ)Θj=1mi=1m(y(i)1hθ(x(i))(1y(i))11hθ(x(i)))hθ(x(i))Θj=1mi=1m(y(i)hθ(x(i)))xj\frac{\partial L(\Theta)}{\partial \Theta_{j}}=-\frac{1}{m}\sum_{i=1}^{m}(y^{(i)}\frac{1}{h_{\theta}(x^{(i)})}-(1-y^{(i)})\frac{1}{1-h_{\theta}(x^{(i)})})\frac{\partial h_{\theta}(x^{(i)})}{\partial \Theta_{j}}=-\frac{1}{m}\sum_{i=1}^{m}(y^{(i)}-h_{\theta}(x^{(i)}))x_{j}
則每次梯度下降更新參數:
Θj=Θj+1mi=1m(y(i)hθ(x(i)))xj\Theta_{j} = \Theta_{j} +\frac{1}{m}\sum_{i=1}^{m}(y^{(i)}-h_{\theta}(x^{(i)}))x_{j}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章