坊间关于逻辑回归原理介绍的文章太繁多了。这里主要是做一些整理的工作,力求简洁清晰,又尽量涵盖所有要点。

模型

逻辑回归的预测函数是一个复合函数,是线性函数外面套一个逻辑函数(sigmoid函数)。
所以模型的预测值总是介于(0, 1)区间内,可以理解成判别为1的概率。
若预测值大于0.5,则判别为1;若预测值小于0.5,则判别为0。
逻辑回归模型是一个二分类模型。

逻辑回归之算法原理(简洁版)

决策边界

假设我们现在有个训练集(下图左上角),
我们的假设函数是 h(x)=g(θ0+θ1x1+θ2x2)h(x) = g(θ_0 + θ_1x_1 + θ_2x_2)
假设我们已经拟合好了参数,参数的最终结果是 [3,1,1][-3,1,1]
在sigmoid函数的图像中我们可以看出,当 x > 0 时 y > 0.5, 当 x < 0 时 y < 0.5。
所以当 θTxθ^Tx >= 0 时 y = 1, 当 θTxθ^Tx < 0 时 y = 0。
也就是决策边界是 3+x1+x2=0-3+x_1+x_2=0

逻辑回归之算法原理(简洁版)

对于不同的数据集分布,我们可以选择相应的函数图像来进行分割。
比如下图这样的数据集分布,我们可以用圆形的函数来分割:

逻辑回归之算法原理(简洁版)

代价函数

逻辑回归代价函数的单样本表示:

逻辑回归之算法原理(简洁版)

为了让大家更直观理解,我纯手工画了两幅图:

逻辑回归之算法原理(简洁版)

可见,当预测值远离实际值时,代价值会出现非线性暴增。

下图则是总体样本(假设为m个)的代价函数:

逻辑回归之算法原理(简洁版)

如果面试算法工程师,基本上都会被问到上面这条函数。建议能够默写出来。

梯度下降

在机器学习领域,我们可能听说过代价函数损失函数目标函数,那三者有什么区别呢?

损失函数等同于代价函数。目标函数是在约束条件下,最小化损失函数。

例如下图的 minθJ(θ)min_θJ(θ)就是目标函数。

逻辑回归之算法原理(简洁版)

关于梯度下降法,Peter Harrington的《机器学习实战》给出非常详细的讲解,
甚至还介绍了效果相当、但占用更少计算资源的随机梯度下降法。有兴趣的同学可以去看看。
梯度下降的公式推导也在另一篇博文的3.3、3.4章里有非常详细介绍(推荐看看),这里就不重复了。

后记

感谢Andrew Ng老师,本文的大部分图片都是来自他的机器学习公开课。
看了很多关于逻辑回归原理的博文,我写这篇算是相当简明扼要了,若有遗漏的点,希望不吝指教 : )

相关文章:

  • 2021-05-08
猜你喜欢
  • 2021-06-24
  • 2021-07-27
  • 2021-11-30
  • 2021-08-24
  • 2021-06-20
  • 2022-01-08
相关资源
相似解决方案