逻辑回归
- 1、逻辑回归模型
- 2、逻辑回归的代价函数
- 3、梯度下降
1、逻辑回归模型
逻辑回归是一种针对二分类问题的算法。在二分类算法中,标签 y 往往都等于 0 或者 1,以此表示某个样本是否属于某个类别。比如在一个针对猫的二分类任务中,y=0 表示这张图片不是猫,y=1 表示这张图片是猫。
对于输入的 x,逻辑回归算法能够输出一个预测值,我们称之为 ,这代表对真实标签 Y 的估计。准确的说 是当给定输入特征 x 时,预测标签 y 为 1 的概率。
一般来说 x 是一个 n 维的向量,表示一个样本包含 n 个特征。约定逻辑回归的参数是 w 和 b,w 也是一个 n 维的向量,b 是一个实数。给定一个 x 以及参数 w 和 b, 如何产生输出 呢?线性回归 可以吗。显然这对于二分类并不是一个好的算法,因为我们希望 能够输出 y 为 1 的概率,所以 的值应该在0和1之间。而线性回归 可能会比1大很多或者是一个负,这对于概率就失去了意义。
所以这里我们采用逻辑回归,而逻辑回归就只是在线性回归的基础上加入了 sigmoid 激活函数。如何实现逻辑回归呢?根据刚刚的描述,我们先创建一个线性回归模型
接着再将线性回归的输出传入 sigmoid 函数
这样就使线性模型转变成了一个非线性的模型。我们可以用下图来描述逻辑回归的结构。
根据 sigmoid 函数的表达式,可以描绘出它的曲线:
通过 sigmoid 曲线可以看到,不管 z 取到何值,sigmoid 函数总能巧妙的把 z 映射到 0 到 1 的范围内,这样就能很好的表示样本属于某个类别的概率。sigmoid 函数是使逻辑回归成为一个非线性模型的关键,所以往往又把 sigmoid 函数叫做逻辑函数。
给定包含 m 个样本的数据集,假设每个样本包含一个 n 维的特征向量 x 和 一个标签 y,则可以表示为:
则对于数据集中的第 i 个样本:
我们希望逻辑回归模型的预测值接近于样本的真实标签,即
2、逻辑回归的代价函数
为了优化逻辑回归模型的参数 w 和 b,需要定义一个代价函数。在讨论代价函数之前,先学习一下损失函数。损失函数(Loss function) 用来计算对单个样本的预测值 和期望输出
在线性回归中,损失函数为平方差函数,其是凸函数,执行梯度下降算法时,loss 能很好地收敛,从而得到更优的参数。理论上来说,我们也可以在逻辑回归中使用平方差函数为损失函数,但因为逻辑回归中存在 sigmod 函数,最终得到的损失函数并不能保证是凸函数,存在许多局部最优解,这对于梯度下降是不利的。所以逻辑回归模型需要定义新的损失函数。
参考链接:
逻辑回归使用交叉熵作为损失函数。以下是它的定义:
当 = 1 时,,此时 越靠近 1, 越小。在学习过程中,我们要使 越来越小,使需要让 逐渐靠近 1。 当 = 0 时,,此时 越靠近 0, 越小。在学习过程中,我们要使 越来越小,使需要让
代价函数(Cost function) 用来计算模型在整个训练集中所有样本的损失的平均值。与损失函数不同的是,它体现的是整体的误差,通过整体误差的高低也可以判断模型性能的好坏。代价函数的定义如下:
3、梯度下降
需要注意的是,逻辑回归模型的自变量是样本的特征向量 x,因变量是预测结果 。而代价函数是用来评估这个模型的性能,从它的定义也可以看出它的自变量为模型的参数 w 和 b,它的因变量为模型在整个训练集上的误差。对于不同的 w 和 b,损失函数输出的整体误差也不尽相同。学习的目的就是找到使代价函数达到最小的参数 w 和 b,换句话说就是找到使整体误差最小的参数 w 和 b,而梯度下降算法刚好可以达到这个目的。
模型参数 w 与 x 的维度一样,都是 n 维的向量。但是为了更好地绘图,在这里定义 w 和 b 都是单一实数。代价函数 J(w,b) 是在 水平轴 w 和 b 上的曲面 因此曲面的高度就是 J(w,b)在某一点的值。理想的代价函数是一个凸函数,这样就存在一个全局最优值(最小值),同时它也是梯度下降想要到达的位置,它位于图中最底下的红点处。
对于逻辑回归,几乎所有的初始化方法都有效,通常用 0 来进行初始化。随机初始化也有效,但是对于逻辑回归通常不这么做。但是因为函数是凸函数,无论在哪里初始化,应该达到同一点或大致相同的点。梯度下降算法从初始点开始,每到达一点,都会先找到最陡的下坡方向,然后朝着这个方向向下移动到一个新的位置并且更新参数 w 和 b,重复这两个步骤,最终可以到达至曲面的最低点附近。而这个最低点对应的 w 和 b,就是我们想要得到的 w 和 b。
在数学上,这个最陡的下坡方向可以用代价函数对参数 w 和 b 的偏导来体现。则通过刚刚的描述,我们可以把梯度下降定义为:
重复以下步骤 { }
其中 被称为 学习率(learning rate),它可以用来控制梯度下降每一步移动的大小,从而控制训练的时间。如果我们令