什么是逻辑回归?

逻辑回归虽然带有回归字样,但是逻辑回归属于分类算法。逻辑回归可以进行多分类操作,但由逻辑回归算法本身性质决定其更常用于二分类。

更多:线性回归

在前一篇 线性回归 中已经知道可以通过

来建立特征空间与连续值目标结果之间的关系,也就是说能够解决回归问题,如果想要解决分类问题,如何实现呢?

为不同实数区间时对应到不同的类别,这样就能够得到分类模型,逻辑回归(Logistic Regression)就是基于上面的原理来实现分类的。逻辑回归算是工业界应用最广泛的的模型之一了,比如推荐系统,广告点击预估等等。

由于实际生活中二分类的情况居多,所以下面以二分类为切入点来说明下逻辑回归的原理。

sigmoid 函数

介绍逻辑回归之前,有必要介绍下 sigmoid 函数,我们已经知道,

它得到的结果可能是一个非常大的正数,也有可能是一个负数,为了能够实现将结果转化成一个区分二分类问题的结果,比如将结果约束到(0,1),常用的一个函数是 sigmoid 函数,它的表达式为:

对应的图形如下:

从图形中可以看到,sigmoid 函数有以下性质:

  • 当 z 趋于无穷大时,结果为 1
  • 当 z 趋于无穷小时,结果为 0
  • 当 z = 0 时, 结果为 0.5

什么是逻辑回归

借助 sigmoid 函数,逻辑回归可以将二分类问题中的特征空间与目标结果之间的关系用下面的函数来建立起来:

b 表示一个常数。

一般将结果高于 0.5 的结果认为是 1(正类),低于 0.5 的结果认为是 0(负类)。

逻辑回归的损失函数

我们需要有一个损失函数。逻辑回归的损失函数可以通过最极大似然估计法(Maximum likelihood estimation, 简称MLE)来推导我们的损失函数。

我们需要知道:一个样本可以理解为发生的一次事件,样本生成的过程即事件发生的过程。对于二分类问题来讲,产生的结果有两种可能(0 或 1),符合伯努利试验的概率假设。因此,我们可以说样本的生成过程即为伯努利试验过程,产生的结果(0/1)服从伯努利分布。

那么,对于一个样本,目标结果的概率分布公式表示如下:

将上面的两个式子合在一起,即可表示一个样本的概率分布函数:

上面的式子可以表示一个样本的的概率分布,分号是为了强调在分号后面的w和 b 都是影响概率分布的参数,那么对于 m 训练个样本(观测样本),假设每个样本的生成过程独立,那么 m 个样本的概率分布为:

这个似然函数表示的含义是说当参数w和b取不同的值时,在给定的X(m 个训练样本)条件下,对应的Y 的概率,有了似然函数,只需要求出似然函数最大时参数w和b的值即可。

虽然有了似然函数,但是我们需要的是损失函数,对于损失函数来说,当然是越小越好,所以直接对似然函数取负,同时为了方便计算,可以对似然函数取 log,可得到最终的损失函数如下:

梯度下降算法

有了损失函数之后,可以使用很多种优化算法来求解,除了上一篇文章介绍的最小二乘法外,这次介绍一个叫做梯度下降的算法来求解参数w和b。

标量场中某一点上的梯度指向标量场增长最快的方向,梯度的长度是这个最大的变化率。

在空间坐标中以参数w和b为轴画出损失函数J(w,b)的三维图像,可知这个函数为一个凸函数。为了找到合适的参数,先将w和b赋一个初始值,正如图中的小红点。因为这个损失函数是凸的,无论初始化的值是多少,总会到达同一个点或大致相同的点。梯度下降就是从起始点开始,试图在最陡峭的下降方向下坡,以便尽可能快地下坡到达最低点,这个下坡的方向便是此点的梯度值。

每次迭代的时候,沿着梯度的反方向,下降速度最快,用数学公式表示如下:

其中, \(\alpha\) 为学习率,通常为一个小于1的数,用来控制梯度下降过程中每一次移动的规格,相当于迈的步子大小。 \(\alpha\) 的不宜太小也不宜过大:太小会使迭代次数增加,容易陷入局部最优解;太大容易错过最优解。

可以看到,关键点在于求偏导,在求偏导之前,先了解一个常识,sigmoid 函数的导数可以这样表示:

同时我们已知:

《什么是逻辑回归?》有一个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注