高深莫测的梯度下降法(GD)和随机梯度下降法(SGD)

梯度下降法:

·不是一个机器学习方法
·是一种基于搜素的最优化方法
·作用:最小化一个损失函数
(最终我们要求解的线性回归模型的本质就是最小化一个损失函数,直接计算出最小化函数的对应的参数的数学解,但是后面会发现很多机器学习的模型是求不到这样的数学解的,基于这样的模型我们就需要基于搜素的策略来找到这个最优解,而梯度下降发就是在机器学习领域最小化损失函数的最为常用的方法,掌握梯度法来求一个目标函数的最优值,是很重要的一件事情)
·梯度上升法:最大化一个效用函数
在这里插入图片描述

如上图绘制一个二维坐标平面,这个二维坐标平面不是一个描述特征平面,描述的是定义了一个y轴为损失函数,取x轴不同的参数对于y轴损失函数的取值寻找合适的点参数使得损失函数j取得最小值。
对于每去取一个x值相对应的有一个函数j,若果这一点的导数不为零的话这一点肯定不在一个极值点上,在直线方程中导数代表斜率,在曲线方程中,导数代表切线斜率,换个角度就是导数代表theta单位变化时,J相对应的变化。啥意思就是指本质就是斜率的定义,theta如果加1的话,J相对应又有一个取值,那这个J相对于原来的J是减少了,减少了多少就是被这个导数所刻画的。注意正负号的关系,由于在这一点的导数是负值(即斜率为负值)
当我们的theta增加的时候J值是减小的,相反theta减小的时候J是增大的,所以从某种意义上来说导数是可以代表方向,对应J增大的方向,由于我们这里的导数是负值,所以大J增大的方向是x轴的负方向上,也就是theta的减小的方向上。因为我门是希望找到最小值,所以我们希望J对应的减小的方向移动,所以就应该向导数的负方向移动,对应的我门还需要移动一个步长,以此类推找到极值点。为什么叫梯度?我们这个例子用的是一维的函数,所以我门直接用导数就可以了。但是在多位函数中我门需要对各个维度的分量分别求导,最终得到的方向就是梯度,也就是说对于多位函数来说,梯度可以代表方向,对应损失函数J增大的方向

n称为学习率(learning rate)
n的取值影响获得最优解的速度
n取值不合适,甚至得不到最优解
n是梯度下降法的一个超参数

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值