【机器学习】梯度下降

文章目录

    • [1. 梯度下降概念](#1. 梯度下降概念)
    • [2. 梯度下降的技巧](#2. 梯度下降的技巧)
      • [2.1 动态设置学习率](#2.1 动态设置学习率)
      • [2.2 Adagrad调整梯度](#2.2 Adagrad调整梯度)
      • [2.3 随机梯度下降(SGD)](#2.3 随机梯度下降(SGD))
      • [2.4 特征缩放](#2.4 特征缩放)
    • [3. 梯度下降理论基础](#3. 梯度下降理论基础)

1. 梯度下降概念

  • 梯度:Loss 对参数在某一点的偏微分,函数沿梯度的方向具有最大的变化率
  • 梯度下降:从某点出发,计算该点梯度,以一定的学习率沿着该梯度的反方向移动,直到梯度接近 0
  • 公式: w t + 1 = w t − η d L d w w_{t+1} = w_t - \eta \frac{dL}{dw} wt+1=wt−ηdwdL

2. 梯度下降的技巧

2.1 动态设置学习率

  • 原理:离终端越远,学习率越大;离终点越近,学习率越小。
  • 公式: η t = η t \eta_t = \frac{\eta}{\sqrt{t}} ηt=t η
    其中,t 是迭代次数。

2.2 Adagrad调整梯度

  • 原理:

    • 梯度大的时候,调正的步伐不一定要大,要综合考虑到二阶导数的影响。
    • 通过参数的历史信息来调整学习率。
  • 使用 Adagrad 方法更新参数的公式:

    • η t σ t = η ∑ i = 1 t ( g i ) 2 \frac{\eta^t}{\sigma^t} = \frac{\eta}{\sqrt{\sum_{i=1}^{t} (g^i)^2}} σtηt=∑i=1t(gi)2 η
    • w t + 1 = w t − η t σ t g t w^{t+1} = w^t - \frac{\eta^t}{\sigma^t} g^t wt+1=wt−σtηtgt

    其中: σ t \sigma^t σt 是梯度平方的累加和(即历史梯度的平方和的平方根)。

  • 总结:化简后,分子是一阶导数,分母其实是反应二阶导数的影响

2.3 随机梯度下降(SGD)

  • 概念:不考虑所有样本,每次随机选取某个或某些样本点来做梯度下降更新参数。
  • 作用:
    • 训练更迅速,结果也不会太差。
    • 可能受到某些样本的影响,导致不精确。

2.4 特征缩放

  • 概念:将不同的输入特征统一缩放到相同的范围或分布。

特征归一化

  • 公式: x ′ = x − min ⁡ ( x ) max ⁡ ( x ) − min ⁡ ( x ) x' = \frac{x - \min(x)}{\max(x) - \min(x)} x′=max(x)−min(x)x−min(x)
  • 将数据统一到特定的范围,避免某些极端数据的影响。

特征标准化

  • 公式: x ′ = x − μ σ x' = \frac{x - \mu}{\sigma} x′=σx−μ

    其中:

    • μ \mu μ 是特征的均值。
    • σ \sigma σ 是特征的标准差。
  • 效果:

    • 数据更符合正态分布,处理后的特征均值为 0,标准差为 1。
    • 减少特征间方差的差异,帮助加速收敛。

特征缩放的优点

  • 未处理之前:

    • Loss 是一个椭圆,每次更新沿着等高线(梯度)方向走,不是往圆心(最低点)走。
    • 如果不使用 Adagrad,可能很难得到好的结果。
  • 处理之后:

    • Loss 是一个圆,每次更新都往圆心(最低点)走,容易训练。
    • 有助于模型训练和加快收敛速度。

3. 梯度下降理论基础

泰勒级数近似

  • 理论:
    • 移动方向与梯度(偏导)方向相反时,内积最小。
    • 发现附近以 \\theta 半径圈的最小值,移动到那里。

使用前提

  • Loss function 必须是无限可微的。
  • 附近圈小,可以忽略高次项,意味着学习率要足够小。

相关推荐
大咖分享课1 分钟前
深度剖析:最新发布的ChatGPT Agent 技术架构与应用场景
人工智能·openai·智能助手·ai代理·chatgpt agent·自主任务执行
lucky_lyovo12 分钟前
卷积神经网络--网络性能提升
人工智能·神经网络·cnn
liliangcsdn16 分钟前
smolagents - 如何在mac用agents做简单算术题
人工智能·macos·prompt
nju_spy20 分钟前
周志华《机器学习导论》第8章 集成学习 Ensemble Learning
人工智能·随机森林·机器学习·集成学习·boosting·bagging·南京大学
星座52841 分钟前
基于现代R语言【Tidyverse、Tidymodel】的机器学习方法与案例分析
机器学习·r语言·tidyverse·tidymodel
静心问道43 分钟前
TrOCR: 基于Transformer的光学字符识别方法,使用预训练模型
人工智能·深度学习·transformer·多模态
说私域1 小时前
基于开源AI大模型、AI智能名片与S2B2C商城小程序源码的用户价值引导与核心用户沉淀策略研究
人工智能·开源
亲持红叶1 小时前
GLU 变种:ReGLU 、 GEGLU 、 SwiGLU
人工智能·深度学习·神经网络·激活函数
说私域1 小时前
线上协同办公时代:以开源AI大模型等工具培养网感,拥抱职业变革
人工智能·开源
群联云防护小杜1 小时前
深度隐匿源IP:高防+群联AI云防护防绕过实战
运维·服务器·前端·网络·人工智能·网络协议·tcp/ip