《机器学习实战》第五章:logistic回归+梯度计算 笔记

看《统计学习方法》的logistic回归和最大熵模型那一章,真的是云里雾里。。。数学功底太弱。。。以下是《机器学习实战》的关于logistic回归的读书笔记,感觉通俗易懂很多。。。


logistic回归的回归,其实是寻找合适的weights。。。logisitic回归也是用于解决分类问题的,使用的是sigmoid函数:《机器学习实战》第五章:logistic回归+梯度计算 笔记

sigmoid的函数输入值z大于0.5的话,就返回1,小于则返回0. 那么我们要做的就是给定这个z,z的计算公式如下:

《机器学习实战》第五章:logistic回归+梯度计算 笔记

xo,x1,x2,,,,xn代表特征们。wo,w1,w2,,,wn即为我们要找的weights,也即我们拟合的对象。


接下来介绍拟合方法:

1.梯度上升法(其实也可以叫梯度下降法。。。)

《机器学习实战》第五章:logistic回归+梯度计算 笔记

《机器学习实战》第五章:logistic回归+梯度计算 笔记

《机器学习实战》第五章:logistic回归+梯度计算 笔记

这个说明的就很详细了,在某个特征上移动的方向是:函数在这个特征上的偏导数的方向(对wi求偏导数!!!这是关键,千万别理解成是对xi求偏导!!!),移动的步长为apfh,(卷机神经网络里一般叫学习率)。

给出代码示栗:

《机器学习实战》第五章:logistic回归+梯度计算 笔记

代码其实比较好理解,精髓在于最后的三行:

《机器学习实战》第五章:logistic回归+梯度计算 笔记

《机器学习实战》第五章:logistic回归+梯度计算 笔记

《机器学习实战》第五章:logistic回归+梯度计算 笔记

以上就是梯度上升的方法。主要记住是对wi进行偏导数计算以确定wi的更新方向,这一概念不能混淆了。。。回归就是寻找wi的值。。。

再来张cs视频的图:

《机器学习实战》第五章:logistic回归+梯度计算 笔记

 嗯,挺直观了吧。。。



2.随机梯度上升:

核心:一次仅用一个样本点来更新回归系数(wi)

《机器学习实战》第五章:logistic回归+梯度计算 笔记

《机器学习实战》第五章:logistic回归+梯度计算 笔记

《机器学习实战》第五章:logistic回归+梯度计算 笔记

收敛的概念:参数达到稳定值,不再一直变化。。。



一些没法正确分类的样本点,每次迭代到他们的时候,就会使得wi得发生一下剧烈的波动。。。:

《机器学习实战》第五章:logistic回归+梯度计算 笔记


3. 改进的随机梯度上升:

《机器学习实战》第五章:logistic回归+梯度计算 笔记

《机器学习实战》第五章:logistic回归+梯度计算 笔记

改进的随机梯度上升,不再会出现周期性的波动,收敛速度也更快。得力于以上的两大改善:随机选取样本更新w和动态改变每一次的alpha(也就是学习率)。