逻辑回归和线性回归联系与区别
线性回归解决的是连续变量问题,那么在分类任务中可以用线性回归吗?例如判断是良性肿瘤还是恶性肿瘤,判断是垃圾邮件还是正常邮件,等等……
答案是也可以,但是效果不好,见下图:

图显示了是否购买玩具和年龄之间的关系,可以用线性回归拟合成一条直线,将购买标注为1,不购买标注为0,拟合后取当0.5值为阈值来划分类别。
可以看到,在途中,年龄的区分点约为19岁。
但当数据点不平衡时,很容易影响到阈值,见以下图:

可以看到,0值样本的年龄段往高年龄端偏移后,真实的阈值依然是19岁左右,但拟合出来的曲线的阈值往后边偏移了。可以想想,负样本越多,年龄大的人越多,偏移越严重。
逻辑斯谛分布
介绍逻辑回归模型之前,首先看一个并不不常见的概率分布,即逻辑斯谛分布。
设X是连续随机变量, X服从逻辑斯谛分布是指X具有下列的分布函数和密度函数:

曲线在中心附近增长较快,在两端增长速度较慢。形状参数γ的值越小,曲线在中心附近增长得越快。

逻辑回归原理
理想的替代函数应当预测分类为0或1的概率,当为1的概率大于0.5时,判断为1,当为1的概率小于0.5时,判断为0。因概率的值域为 [0,1] ,这样的设定比线性回归合理很多。
常用的替代函数为Sigmoid函数,即:
h(z)=1+e−z1
其中,z=θTx
我们可以看到,当z大于0时,函数大于0.5;当函数等于0时,函数等于0.5;函数小于0时,函数小于0.5。如果用函数表示目标分到某一类的概率,我们可以采用以下“单位阶跃函数”来判断数据的类别:
h(z)=⎩⎪⎨⎪⎧0,0.5,1,z<0z=0z>0
逻辑回归损失函数
P(y=1∣x;θ)=hθ(x)P(y=0∣x;θ)=1−hθ(x)
可以写作一般公式,
P(y∣x;θ)=h(x)y(1−h(x))(1−y)
极大似然函数为,L(θ)=i=1∏mhθ(x(i))y(i)(1−hθ(x(i))(1−y(i))
对数极大似然函数为,l(θ)=logL(θ)=i=1∑my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))
损失函数为,
J(θ)=−m1l(θ)=−m1i=1∑my(i)hθ(x(i))+(1−y(i))(1−hθ(x(i)))损失函数表示了预测值和真实值之间的差异程度,预测值和真实值越接近,则损失函数越小。
为什么不直接用和线性回归一样的平方损失函数?
回答:如果和线性回归一样的平方损失函数,则损失函数的形式为∑i=1m(y(i)−1+e−θTx1)2,此为非凸函数,求解复杂,而且很容易求得局部最优解为非全局最优解。
梯度下降
我们用梯度下降法求解
θ:=θ−αΔθJ(θ)=θ+mαΔθl(θ)
当g(z)=1+e−z1
g′(z)=g(z)(1−g(z))
证明:

因此:
