【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点

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

相关推荐
小和尚同志31 分钟前
54.6k star 的 Multica: 集多 Agent 和看板于一体的 AI 平台
人工智能·aigc·three.js
一枕槐安4871 小时前
少样本提示(Few-shot)在业务场景的落地实践
大数据·人工智能·意图分类·mmr多样性·knn检索·动态示例选择
王中阳Go2 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
海宇AI2 小时前
零信任架构实战:基于海宇个人风险报告构建自动化分期商城信用额度初审网关
运维·人工智能·架构·自动化
tellmewhoisi2 小时前
深度学习32:卷积神经网络:卷积层(卷积运算,填充,步幅)
人工智能·深度学习·cnn
weixin_307779133 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
Sinokap3 小时前
OpenAI 披露 AI 安全实验:智能体如何突破隔离边界?
人工智能·安全
云和数据.ChenGuang3 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
重生之我在番茄自学网安拯救世界4 小时前
AI 开发者日报 第1期(本周精选)| 插件市场投毒、智能体搞出“官僚饥荒村”,十年前的 CNN 打赢大模型
人工智能·网络安全·大模型·ai编程·智能体
涛声依旧-底层原理研究所4 小时前
拆解 Cordis 底座:Agent 是如何被「组合」出来的
人工智能·架构