机器学习之梯度下降法直观理解

形象化举例,由上图所示,假如最开始,我们在一座大山上的某处位置,因为到处都是陌生的不知道下山的路,所以只能摸索着根据直觉,走一步算一步。在此过程中,每走到一个位置的时候,都会求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。不断循环求梯度,就这样一步步地走下去,一直走到我们觉得已经到了山脚。

当然这样走下去,有可能我们不能走到山脚,而是到了某一个局部的山势低处。由此,从上面的解释可以看出,梯度下降不一定能够找到全局的最优解,有可能是一个局部的最优解。当然,如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解。

核心思想归纳:

  1. 初始化参数,随机选取取值范围内的任意数;
  2. 迭代操作:
    a) 计算当前梯度;
    b) 修改新的变量;
    c) 计算朝最陡的下坡方向走一步;
    d) 判断是否需要终止,如否,返回a)
  3. 得到全局最优解或者接近全局最优解。
相关推荐
add45a2 分钟前
C++中的工厂方法模式
开发语言·c++·算法
koo3646 分钟前
pytorch深度学习笔记23
pytorch·笔记·深度学习
無限進步D9 分钟前
二分算法 cpp
算法
xushichao198910 分钟前
C++中的工厂模式高级应用
开发语言·c++·算法
LaughingZhu17 分钟前
Product Hunt 每日热榜 | 2026-03-21
人工智能·经验分享·深度学习·神经网络·产品运营
2501_9249526918 分钟前
C++模块化编程指南
开发语言·c++·算法
qzhqbb18 分钟前
差分隐私与大模型+差分隐私在相关领域应用的论文总结
人工智能·算法
一招定胜负21 分钟前
基于通义千问 API 的课堂话语智能分类分析工具实现
人工智能·分类·数据挖掘
2401_8319207422 分钟前
基于C++的爬虫框架
开发语言·c++·算法
阿_旭27 分钟前
基于YOLO26深度学习的【桃子成熟度检测与分割系统】【python源码+Pyqt5界面+数据集+训练代码】图像分割、人工智能
人工智能·python·深度学习·桃子成熟度检测