【机器学习】梯度下降

文章目录

    • [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 必须是无限可微的。
  • 附近圈小,可以忽略高次项,意味着学习率要足够小。

相关推荐
高工智能汽车44 分钟前
商用车自动驾驶,迎来大规模量产「临界点」?
人工智能·机器学习·自动驾驶
AI视觉网奇2 小时前
pyhton 掩码 筛选显示
人工智能·opencv·计算机视觉
bluetata3 小时前
亚马逊云科技 re:Invent 2024 Amazon Bedrock 推出新功能,加速AI落地
人工智能·科技·云计算·aws
old_power3 小时前
Linux(Ubuntu24.04)安装Eigen3库
linux·c++·人工智能
Struart_R4 小时前
DepthLab: From Partial to Complete 论文解读
人工智能·深度学习·计算机视觉·3d·深度估计·场景生成
BlackPercy6 小时前
[paddle] 非线性拟合问题的训练
python·机器学习·paddlepaddle·paddle
WBingJ7 小时前
机器学习基础-机器学习的常用学习方法
深度学习·神经网络·机器学习
小李学AI7 小时前
基于YOLOv8的恶劣天气目标检测系统
人工智能·深度学习·神经网络·yolo·目标检测·机器学习·计算机视觉
有Li7 小时前
对比式机器学习揭示了跨物种共享和特异性的脑功能结构|文献速递-视觉大模型医疗图像应用
人工智能·机器学习
GIS数据转换器8 小时前
低空经济新动力:无人机航测技术的普及与应用
大数据·人工智能·物联网·无人机·智慧城市