机器学习(3)-西瓜书-逻辑回归

在前文中讲了线性回归,但是线性回归主要用作回归任务,如果要做分类任务,可以采用逻辑回归。虽然它们名字里都有回归俩字,但是逻辑回归是用来分类用的。。线性回归的方程返回值是个任意实值,想要用这个值对特征类别进行判定,我们无法找到一个稳定的阈值(因为返回值是任意的,无法找到一个固定的阈值来将两类分隔开)。如果我们能将这个值映射到0到1之间,那么我们就可以在(0, 1)范围内找一个固定值来分隔两类特征(这里有两个类别:0和1)。

1. 逻辑回归

逻辑回归中使用的映射函数是sigmoid函数,它能讲实值z映射到(0, 1)范围内并且函数处处可导,为使用梯度下降或者牛顿迭代提供了很好的性质。下图蓝色的曲线就是sigmoid函数


假设线性回归为g(x) = wx+b,把它代入到f(z)里去,得到y = 。这样我们就能将g(x)的值映射到(0, 1)里。

我们可以将y当作特征x属于类别1的概率,比如,输入样本的特征为xi,输出yi就是这个样本属于类别1的概率。逻辑回归最简单的用法就是当y>0.5时类别判定为1,否则为0。实际中可能需要调整这个阈值。


2.参数学习

得到逻辑回归的表达式后,我们就需要从样本中学习,来获得参数的具体值。在线性回归中我们利用均方误差来衡量公式预测值和实际值之间的误差,但是在逻辑回归中,我们不能用均方误差来做,因为逻辑回归用均方误差写出的损失中包含sigmoid的平方,它是是非凸函数,极值不是最值,所以我们要重新找方法来衡量这个误差。

逻辑回归中使用的是似然函数来衡量预测值和实际值的契合程度。之前说过返回值y可以当作x属于1的概率,那么我们可以将它表示为条件概率:


p(y=1|x)表示再已知特征x的情况下预测值为1的概率,那么1-y就是预测值为0的概率,也就是上式中的p(y=0|x)。我们学习的目的是要使预测类别等于实际类别的概率最大。那么怎么表示这种概率,假设第i个样本的标签为yi,那么预测值y和标签yi相等的概率p(y=yi)为:


这样表示的话,当y=1,要使y=yi,yi也为1,那么‘+’右边的式子为0,就只有左边p(y=1|x;w)。当y=0同理。然后似然函数L就可以用p(y=yi)来表示:

这个式子表示的就是m个样本的预测值和标记相等的总概率,学习参数的过程就是最大化L(w)因为p里面有e,所以用ln()可以简化后面的运算,如果我们用梯度下降来求,只需要在式子前面加个负号,这样最大化就变成最小化了。如果用牛顿法来求,直接套公式就行。


猜你喜欢

转载自blog.csdn.net/yeshen4328/article/details/80681322