逻辑回归笔记整理

逻辑回归(Logistic Regression)

首先需要明确两个概念:

  1. 逻辑回归并非回归算法,而是分类算法。“回归”一词来源于最佳拟合(拟合:调整分类边界),可简单理解为用一条直线对一些数据点进行拟合(该线称为最佳拟合直线),而拟合过程称为回归。
  2. logistic分类的思想:根据现有数据对分类边界建立回归公式

分类问题

对于二分类问题:
yϵ{0,1}y\epsilon\{0,1\} 其中,0表示负例,1表示正例。

对于多分类问题
yϵ{0,1,2,3,...,n}y\epsilon\{0,1,2,3,...,n\}
若分类器使用的是回归模型,并且模型已经训练好,可设置一个阈值:
hθ(x)0.5h_{\theta}(x)\geq0.5,y属于正例;若 hθ(x)<0.5h_{\theta}(x)<0.5,y属于负例

对于二分类问题,线性回归模型Hypothesis输出值hθ(x)h_{\theta}(x)可以大于1也可以小于0。而对于逻辑回归,Hypothesis输出值介于0到1之间:
0hθ(x)10\leq h_{\theta}(x)\leq1

代价函数

将Hypothesis输出值界定在0到1之间,需引入函数g,令Hypothesis表示为:
hθ(x)=g(θTx) h_{\theta}(x)=g(\theta^Tx)

g称为Sigmoid Function或Logisitic Function:
g(z)=11+ez g(z)=\frac1{1+e^{-z}}
其函数图形为:
逻辑回归知识点整理
其中,θ\theta为参数。综合以上两个式子,可得到LR模型的数学表达式:
hθ(x)=11+eθTx h_{\theta}(x)=\frac1{1+e^{-\theta^Tx}}

决策边界

假设给定阈值0.5,当hθ(x)0.5h_{\theta}(x)\geq0.5时,y=1y=1;当hθ(x)<0.5h_{\theta}(x)<0.5时,y=0y=0。对于hθ(x)=g(θTx)0.5h_{\theta}(x)=g(\theta^Tx)\geq0.5,则θTx0\theta^Tx\geq0,意味着预估y=1y=1;反之,当预测y=0y=0时,θTx<0\theta^Tx<0
故可认为θTx=0\theta^Tx=0是一个决策边界,当其大于或小于0时,LR分别预测不同的分类结果。如:
hθ(x)=g(θ0+θ1x1+θ2x2) h_{\theta}(x)=g(\theta_0+\theta_1x_1+\theta_2x_2)
θ0,θ1,θ2\theta_0,\theta_1,\theta_2,分别取-3,1,1,当3+x1+x20-3+x_1+x_2\geq0时,y=1y=1,则x1+x2=3x_1+x_2=3是一个决策边界:
逻辑回归知识点整理
这是一个线性的决策边界,当hθ(x)h_{\theta}(x)更复杂时,可得到非线性的决策边界:
hθ(x)=g(θ0+θ1x1+θ2x2+θ3x12+θ4x22) h_{\theta}(x)=g(\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_1^2+\theta_4x_2^2)
θ0,θ1,θ2,θ3,θ4\theta_0,\theta_1,\theta_2,\theta_3,\theta_4分别取值-1,0,0,1,1,当x12+x221x_1^2+x_2^2\geq1时,y=1y=1,此时决策边界是一个圆:
逻辑回归知识点整理

代价函数(Cost Function)

LR的代价函数为对数似然损失函数
f(x)={log(hθ(x))if y=1log(1hθ(x))if y=0f(x)= \begin{cases} -log( h_{\theta}(x))& \text{if y=1}\\ -log(1- h_{\theta}(x))& \text{if y=0} \end{cases}
加入惩罚项:
J(θ)=1mi=1mCost(hθ(x(i)),y(i)) J(\theta)=\frac1m\sum_{i=1}^{m}Cost(h_{\theta}(x^{(i)}),y^{(i)})
最终的代价函数公式为:
J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))] J(\theta)=\frac1m\left[\sum_{i=1}^{m}y^{(i)}logh_{\theta}(x^{(i)})+(1-y^{(i)})log(1-h_{\theta}(x^{(i)}))\right]
取似然函数为:
L(θ)=i=1mP(y(i)x(i);θ)=i=1m(hθ(x(i)))y(i)(1loghθ(x(i)))1y(i)L(\theta)=\prod_{i=1}^{m}P(y^{(i)}|x^{(i)};\theta)=\prod_{i=1}^{m}(h_{\theta}(x^{(i)}))^{y^{(i)}}(1-logh_{\theta}(x^{(i)}))^{1-y{(i)}}
对数似然函数为:
l(θ)=logL(θ)=i=1m(y(i)loghθ(x(i))+(1y(i))log(1hθ(x(i))))l(\theta)=logL(\theta)=\sum_{i=1}^{m}\left(y^{(i)}logh_{\theta}(x^{(i)})+(1-y^{(i)})log(1-h_{\theta}(x^{(i)}))\right)
最大似然估计就是求使l(θ)l(\theta)取最大值时的θ\theta

多类分类问题

处理方法:保留其中一类,剩下的作为另一类。
逻辑回归知识点整理
分别计算其中一类相对于其他类的概率:
逻辑回归知识点整理
对于每一个类i训练一个LR分类器,并预测 y=i 的概率。对于每一个新的输入变量x,分布对每一个类别进行预测,取最大概率的那个类作为分类结果。

参考链接:
[1]: http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference

相关文章: