坊间关于逻辑回归原理介绍的文章太繁多了。这里主要是做一些整理的工作,力求简洁清晰,又尽量涵盖所有要点。
模型
逻辑回归的预测函数是一个复合函数,是线性函数外面套一个逻辑函数(sigmoid函数)。
所以模型的预测值总是介于(0, 1)区间内,可以理解成判别为1的概率。
若预测值大于0.5,则判别为1;若预测值小于0.5,则判别为0。
逻辑回归模型是一个二分类模型。
决策边界
假设我们现在有个训练集(下图左上角),
我们的假设函数是 ,
假设我们已经拟合好了参数,参数的最终结果是 。
在sigmoid函数的图像中我们可以看出,当 x > 0 时 y > 0.5, 当 x < 0 时 y < 0.5。
所以当 >= 0 时 y = 1, 当 < 0 时 y = 0。
也就是决策边界是
对于不同的数据集分布,我们可以选择相应的函数图像来进行分割。
比如下图这样的数据集分布,我们可以用圆形的函数来分割:
代价函数
逻辑回归代价函数的单样本表示:
为了让大家更直观理解,我纯手工画了两幅图:
可见,当预测值远离实际值时,代价值会出现非线性暴增。
下图则是总体样本(假设为m个)的代价函数:
如果面试算法工程师,基本上都会被问到上面这条函数。建议能够默写出来。
梯度下降
在机器学习领域,我们可能听说过代价函数,损失函数 和目标函数,那三者有什么区别呢?
损失函数等同于代价函数。目标函数是在约束条件下,最小化损失函数。
例如下图的 就是目标函数。
关于梯度下降法,Peter Harrington的《机器学习实战》给出非常详细的讲解,
甚至还介绍了效果相当、但占用更少计算资源的随机梯度下降法。有兴趣的同学可以去看看。
梯度下降的公式推导也在另一篇博文的3.3、3.4章里有非常详细介绍(推荐看看),这里就不重复了。
后记
感谢Andrew Ng老师,本文的大部分图片都是来自他的机器学习公开课。
看了很多关于逻辑回归原理的博文,我写这篇算是相当简明扼要了,若有遗漏的点,希望不吝指教 : )