逻辑回归笔记整理
逻辑回归(Logistic Regression)
首先需要明确两个概念:
-
逻辑回归并非回归算法,而是分类算法。“回归”一词来源于最佳拟合(拟合:调整分类边界),可简单理解为用一条直线对一些数据点进行拟合(该线称为最佳拟合直线),而拟合过程称为回归。
- logistic分类的思想:根据现有数据对分类边界建立回归公式。
分类问题
对于二分类问题:
yϵ{0,1} 其中,0表示负例,1表示正例。
对于多分类问题:
yϵ{0,1,2,3,...,n}
若分类器使用的是回归模型,并且模型已经训练好,可设置一个阈值:
若 hθ(x)≥0.5,y属于正例;若 hθ(x)<0.5,y属于负例。
对于二分类问题,线性回归模型Hypothesis输出值hθ(x)可以大于1也可以小于0。而对于逻辑回归,Hypothesis输出值介于0到1之间:
0≤hθ(x)≤1
代价函数
将Hypothesis输出值界定在0到1之间,需引入函数g,令Hypothesis表示为:
hθ(x)=g(θTx)
g称为Sigmoid Function或Logisitic Function:
g(z)=1+e−z1
其函数图形为:

其中,θ为参数。综合以上两个式子,可得到LR模型的数学表达式:
hθ(x)=1+e−θTx1
决策边界
假设给定阈值0.5,当hθ(x)≥0.5时,y=1;当hθ(x)<0.5时,y=0。对于hθ(x)=g(θTx)≥0.5,则θTx≥0,意味着预估y=1;反之,当预测y=0时,θTx<0。
故可认为θTx=0是一个决策边界,当其大于或小于0时,LR分别预测不同的分类结果。如:
hθ(x)=g(θ0+θ1x1+θ2x2)
θ0,θ1,θ2,分别取-3,1,1,当−3+x1+x2≥0时,y=1,则x1+x2=3是一个决策边界:

这是一个线性的决策边界,当hθ(x)更复杂时,可得到非线性的决策边界:
hθ(x)=g(θ0+θ1x1+θ2x2+θ3x12+θ4x22)
θ0,θ1,θ2,θ3,θ4分别取值-1,0,0,1,1,当x12+x22≥1时,y=1,此时决策边界是一个圆:

代价函数(Cost Function)
LR的代价函数为对数似然损失函数:
f(x)={−log(hθ(x))−log(1−hθ(x))if y=1if y=0
加入惩罚项:
J(θ)=m1i=1∑mCost(hθ(x(i)),y(i))
最终的代价函数公式为:
J(θ)=m1[i=1∑my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))]
取似然函数为:
L(θ)=i=1∏mP(y(i)∣x(i);θ)=i=1∏m(hθ(x(i)))y(i)(1−loghθ(x(i)))1−y(i)
对数似然函数为:
l(θ)=logL(θ)=i=1∑m(y(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i))))
最大似然估计就是求使l(θ)取最大值时的θ。
多类分类问题
处理方法:保留其中一类,剩下的作为另一类。

分别计算其中一类相对于其他类的概率:

对于每一个类i训练一个LR分类器,并预测 y=i 的概率。对于每一个新的输入变量x,分布对每一个类别进行预测,取最大概率的那个类作为分类结果。
参考链接:
[1]: http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference