【machine learning-十-grading descent梯度下降实现】

grading descent

grading descent 算法就是更新参数,今天来学习下如何更新w和b

梯度下降

还是以线性回归的均方差损失函数如下为例:

损失函数的可视化图如下 :

横轴和纵轴分别是w和b,z轴是损失值。梯度更新w和b,让损失能走到局部最小值附近,这个局部的最小值意味着,在它周围损失的变化已经很小了。

参数更新方法 --导数和学习率

更新的方法如下:


是learning rate,也就是学习率。

它决定了梯度下降的幅度,也就是一次走大步,还是小步,通常学习率在0~1之间。

这一项是导数(其实是偏导数),微积分中的概念,不过不懂也没问题,下一节会简单介绍,且刚开始不需要深入的探究。

通常情况下,正确的做法是w和b同时更新:

当然也有特殊的情况,非同时更新,但是很少见,所以我们按照正确的左侧做法,同时更新w和b就可以。

从导数项直观理解梯度下降

为了直观理解,还是先假设b为0,损失函数映射到二维空间上

通过上面的图可以看出,损失函数的最小值是在曲线的底,所以我们的目标就是要损失靠近这个点。

而导数其实是某个具体点的斜率,于是就有图中的两种情况:

  • 导数为正数,w-学习率*导数 就是在减少w,此时刚好是在靠近最小值的点
  • 导数为负数,w-学习率*导数就是在增大w,此时也是是在靠近最小值的点

也就是说无论是在最小值的左侧或者右侧的w,都能通过上面的公式,更新到靠近最小值的w点

资料来源-吴恩达《机器学习》

相关推荐
用户5191495848451 分钟前
掌握比特币:开放区块链编程全解析
人工智能·aigc
轻赚时代8 分钟前
PC 端 AI 图像处理工具实操指南:抠图 / 证件照优化 / 智能擦除全流程解析
图像处理·人工智能·经验分享·笔记·深度学习·创业创新·学习方法
晓山清16 分钟前
Meeting Summarizer Using Natural Language Processing论文理解
人工智能·python·nlp·摘要生成
池央21 分钟前
从“算子不支持”到“NPU高效执行”:CANN 8.0 TBE 自定义算子落地实践
linux·人工智能
龙腾AI白云25 分钟前
卷积神经网络(CNN)详细介绍及其原理详解前言一、什么是卷积神经网络二、输入层
人工智能·django
上海蓝色星球31 分钟前
打破BIM应用“花瓶”窘境:让模型“活”在业务场景中
大数据·人工智能
币圈菜头34 分钟前
GAEA:情感AI如何改变我们的生活?12月空投前瞻
人工智能·web3·区块链·生活
骥龙34 分钟前
5.15、未来已来:AI安全的发展趋势与伦理思考
人工智能·安全
糖果罐子♡35 分钟前
在 openEuler 上部署 YOLOv8 实现实时目标检测
人工智能·yolo·目标检测
鲸采云SRM采购管理系统37 分钟前
SRM采购系统:鲸采云如何实现全链路管控
大数据·人工智能