【mechine learning-九-梯度下降】

梯度下降

上一节讲过,随机的寻找w和b使损失最小不是一种合适的方法,梯度下降算法就是解决解决这个问题的,它不仅可以用于线性回归,还可以用于神经网络等深度学习算法,是目前的通用性算法。

更加通用的梯度下降算法

之前二维关于w和b的损失函数(无特殊说明,均以均方误差成本函数为例)如下:,

但是在更多的例子里,或者说更加复杂的神经网络里面,w是很多个,目前很多模型都是超过几千亿参数:

已经无法使用随机法来解决最小化J这个损失,必须用更加通用的梯度下降算法来解决最小化损失的问题。

算法步骤

假设某一个模型的成本函数也就是Loss fuction如上(不是线性回归也不是均方误差):

如何从这里面找到J的最小值呢?方法如下:

  1. 设定w和b初始值。如图中左边这条线的起点。
  2. 从现在的位置旋转360度,找到J下降最快的点,向下走一步。(这意味着你走的是最快下山的路)
  3. 以下降后的位置,重复上述步骤,直到发现走到了一个局部最小的山谷底,也就是J的具备最小值。

梯度下降有意思的一件事情,假设随机选择的起始点是另外一个位置,比如右面这条线的起始点,那么找到的就是右边这个局部的最低点,这两个是完全不同的最低点。至于具体怎么实现算法留在下一节。

相关推荐
火山引擎开发者社区3 小时前
火山引擎发布《企业级 ArkClaw 安全白皮书》
人工智能
阿里云大数据AI技术4 小时前
Hologres AI Function 文本分类实战:从提示词设计到 KV-Cache 调优,全程 SQL 搞定
人工智能·sql
code_pgf4 小时前
AI-Agent记忆机制分析
大数据·人工智能
阿拉斯攀登6 小时前
安全与可控性:输出校验、权限控制
人工智能·chatgpt·agent·memory·claude·知识库·向量数据库
冬奇Lab6 小时前
每日一个开源项目(第152篇):SAG - 用 SQL JOIN 代替 PageRank 做多跳 RAG 检索
人工智能·开源
冬奇Lab6 小时前
Workflow 系列(09):主流框架对比——Prompt-based、LangGraph、Temporal、n8n 如何选
人工智能·工作流引擎
程序员老猫7 小时前
vide coding 个人产品,那就从博客开始吧
人工智能·程序员·全栈
geo搜搜果数据7 小时前
实测5大AI平台品牌排名:复现GEO监测流程
人工智能·langchain·搜搜果