逻辑回归 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}

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