Pytorch实践之梯度下降法

基本概念

凸函数:在函数上任取两点,两点的线段均在这个函数的平面上。


请添加图片描述


分治法:找到最近的,不断进行小方格划分,直到找到最优点。


请添加图片描述


以上为优化问题,求最小值,N代表总数len(XS)。

算法

α代表学习率,取得小一点,保持收敛,每次都选择梯度下降的最快的方向,这就类比是算法中的贪心算法,只看眼前最好的选择,不一定得到最优的结果(全局),只能得到局部最优。


请添加图片描述


打个比方,如上图,从高点下落,此时梯度下降最快,但是爬升时梯度是正的,切非最快,所以就要往低点行进,最终回落到局部最小点,但是此时的局部最小点不是全局最小点。此函数称为非凸函数,即取两个点,连成直线,不能保证线的所有点都在函数上方。


请添加图片描述


鞍点处梯度不变。

Cost(w)就相当于纵坐标y,W就相当于横坐标x。
请添加图片描述

计算MSE的目标函数
请添加图片描述

套公式( )

请添加图片描述

epoch进行100轮的训练

请添加图片描述

损失函数不断衰减,趋于收敛稳定

请添加图片描述

此图像为训练发散了,学习率取的太大

请添加图片描述

梯度下降:用整个成本均值的平均损失作为梯度下降的依据

请添加图片描述

随机梯度下降:指的是,N个数据从中随机选一个数据,所以公式就是单个样本的损失函数对权重求导

请添加图片描述

eg:

梯度下降是所有样本的,这样陷入到鞍点,就动不了

但是随机梯度下降:因为取的是随机样本,又因为带有噪声,所以会推动行进

单个样本以上


请添加图片描述

拿一个样本进行更新

更新:每一个样本对梯度进行更新
随机 梯度下降:拿单个样本的损失函数对权重求导,然后进行更新

综上:
批量梯度,批量随机梯度

请添加图片描述

深度学习就是要看epoch轮数与损失之间的图像

代码实践

请添加图片描述

随机梯度下降,定义函数无需遍历所有。

函数也是向着收敛方向。

梯度下降需要遍历所有的点。

结果是收敛的。
请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值