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

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

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

核心思想归纳:

  1. 初始化参数,随机选取取值范围内的任意数;
  2. 迭代操作:
    a) 计算当前梯度;
    b) 修改新的变量;
    c) 计算朝最陡的下坡方向走一步;
    d) 判断是否需要终止,如否,返回a)
  3. 得到全局最优解或者接近全局最优解。
相关推荐
猫头虎2 分钟前
猫头虎AI分享|一款Coze、Dify类开源AI应用超级智能体快速构建工具:FastbuildAI
人工智能·开源·prompt·github·aigc·ai编程·ai-native
小七rrrrr3 分钟前
动态规划法 - 53. 最大子数组和
java·算法·动态规划
code小毛孩8 分钟前
leetcodehot100 矩阵置零
算法
何妨重温wdys17 分钟前
矩阵链相乘的最少乘法次数(动态规划解法)
c++·算法·矩阵·动态规划
重启的码农19 分钟前
ggml 介绍 (6) 后端 (ggml_backend)
c++·人工智能·神经网络
重启的码农19 分钟前
ggml介绍 (7)后端缓冲区 (ggml_backend_buffer)
c++·人工智能·神经网络
数据智能老司机20 分钟前
面向企业的图学习扩展——图简介
人工智能·机器学习·ai编程
盼小辉丶20 分钟前
PyTorch生成式人工智能——使用MusicGen生成音乐
pytorch·python·深度学习·生成模型
姜不吃葱30 分钟前
【力扣热题100】双指针—— 接雨水
数据结构·算法·leetcode·力扣热题100
PineappleCoder35 分钟前
大小写 + 标点全搞定!JS 如何精准统计单词频率?
前端·javascript·算法