【mechine learning-九-梯度下降】

梯度下降

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

更加通用的梯度下降算法

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

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

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

算法步骤

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

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

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

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

相关推荐
果冻人工智能4 分钟前
AI军备竞赛:我们是不是正在造一个无法控制的神?
人工智能
暴龙胡乱写博客9 分钟前
OpenCV---图像预处理(四)
人工智能·opencv·计算机视觉
程序员辣条16 分钟前
深度测评 RAG 应用评估框架:指标最全面的 RAGas
人工智能·程序员
curdcv_po17 分钟前
字节跳动Trae:一款革命性的免费AI编程工具完全评测
人工智能·trae
程序员辣条18 分钟前
为什么需要提示词工程?什么是提示词工程(prompt engineering)?为什么需要提示词工程?收藏我这一篇就够了!
人工智能·程序员·产品经理
孔令飞22 分钟前
Go:终于有了处理未定义字段的实用方案
人工智能·云原生·go
清流君35 分钟前
【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
数据库·人工智能·笔记·mysql·ue5·数字孪生
Blossom.11842 分钟前
人工智能在智能家居中的应用与发展
人工智能·深度学习·机器学习·智能家居·vr·虚拟现实·多模态融合
biter008844 分钟前
ubuntu(28):ubuntu系统多版本conda和多版本cuda共存
linux·人工智能·ubuntu·conda
薄荷很无奈1 小时前
CuML + Cudf (RAPIDS) 加速python数据分析脚本
python·机器学习·数据分析·gpu算力