您的位置:首页 > 其它

参数线性回归和梯度下降

2014-12-21 22:20 381 查看
本文大量摘自Rachel-Zhang的CSDN博客,侵联删。

背景

作为一枚本科木有接触过机器学习而第一份工作就是机器学习相关的本科渣渣。目前硬着头皮边学边用一些机器学习相关的基础内容,写到博客里mark一下,会大量摘抄各位神犇的博客,如有侵权,请联系我,我会及时删除。

单参数线性回归

参数线性回归是给出一系列点假设拟合直线为h(x)=theta0+theta1*x, 记Cost Function为:


m是样本数量,
xi代表第i个样本的特征, yi代表第i个样本的实际值(0或者1)。
看着很像方差吧,如何评价这个直线是否拟合得好呢,就是求这个J的最小值。我们的目的就是找到合适的theta0 和 theta1使得J最小。我们假设theta0=0,那么这个就变成了一个二次函数。

二次函数求极值大家应该都知道怎么求。
如果theta != 0,是一个二元二次函数。就是一个三维的



此处盗图

啊这是两个参数的情况,像是一个3D的碗型。在实际情况中,会有很多参数,就不是图形能体现的了。大家懂这个意思就行了。

梯度下降

那么我们如何求这个J函数的最小值呢?其实就像下山一样,我们在山上也没法直接到谷底啊,除非你跳崖,问题是就算你能保证你跳崖之后完好无损,你能保证你跳崖的姿势正确能跳到谷底么?所以我们还是一小步一小步地走到谷底吧,步子别太大了,容易扯到蛋。
我们先在山上选一个点,其实这个点就是由theta0 和 theta1 组成的坐标点,然后往下山的方向走一小步,别往山上走啊。

就这样摩擦摩擦,似魔鬼的步伐,一步两步、一步两步,慢慢下山了。
那么现在问题来了:

如果你步子迈得太小了,走到猴年马月啊。



如果你步子迈得太大了。各种来回晃悠,所以这个步长的选择很重要。



求导过程就省略了,看不懂的就自行先补习高等数学吧。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: