机器学习(3)——梯度下降

例子

假设:
在这里插入图片描述我们有一个代价函数,我们想要获得最小值。
首先定义两个参数值为0,然后改变两个参数值取减少代价函数的值

在这里插入图片描述在梯度算法中,想象自己在红色山顶(最高处),每走一步想下降速度最快的地方移动,然后再环顾四周,找到下降速度最快的方向移动。周而复始最后走到谷底。这就完成了一次梯度算法。

数学原理

看看背后的深层数学原理
在这里插入图片描述
本课程中
:=表示赋值的意思

=表示做等价判断或者声明

等式右边的是一个偏导数的计算

其中的参数阿尔法表示的是学习速度(learn rate),也就是下山所迈出的步子。
在这里插入图片描述
计算机实现的就是这两个过程,同时更新0,1两个参数值
而右边的则是错误表示。没有做到同步更新
梯度下降——同步更新

在这里插入图片描述我们继续将参数变成一个。在阿尔法取正数时,我们所做的目的都是让参数取到最小。该偏导数的值可正可负,都会引导参数趋向最小值。

在这里插入图片描述接下来我们谈谈参数阿尔法。在之前的例子中,阿尔法表示的是速率下降的快慢,也就是下山的步伐。上下两个例子分别列举了小,大两种情况。

太小时变化的过慢
太大会出现变化错误,不会找到最小的参数值——不会收敛(converge)甚至发散(diverge)

在这里插入图片描述给出一个例子,假如说比较时参数达到了一个局部最低点。这时偏导数图像为一条水平直线也就是0.
之后梯度下降算法就维持到这一点。这也就是我们想要的结果。

这样就解释了即使学习速率阿尔法不变时,梯度下降算法也可以收敛到局部最低点。
在这里插入图片描述从起始点向局部最小值收敛的过程中,偏导数的值在逐渐变小,梯度下降会自动采取较小的幅度,实际上就没有必要另外减小阿尔法,最终趋于局部最小收敛。

做到这里也就发现,梯度算法也不仅仅是在解决线性回归,而是在解决最小化任何代价函数J(x),
接下来我们要做的就是把他变为我们要处理的线性回归身上。
在这里插入图片描述在这里插入图片描述为两个参数求偏导得到下面两个式子。
在这里插入图片描述在普通的代价函数中我们一看到,初始值不同后,我们趋向会是不同的局部最小值。
在这里插入图片描述但是在线性代价函数中,会出现一个碗形结构——凸函数(convex function)。无论你初始值设在哪里都可以收敛到真实最小值在这里插入图片描述
在这里插入图片描述在我们列出假设函数与代价函数图像,进行线性回归梯度下降。当代价函数越往中心移动时,假设函数越拟合真实情况

这是我学习到的第一个机器学习算法称为——batch梯度下降算法
在这里插入图片描述batch算法意味着每一次梯度下降,我们都在遍历整个训练集的样本。
后续课程会展示其他不同的梯度下降算法,有些是遍历部分样本的。

学到这里真的太辛运看到吴恩达老师的入门视频了,真的国外的教学视频由浅入深,照顾小白,不是应试教育的急功近利。不再是那些沙雕的python调库垃圾。谢谢吴老师!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值