【机器学习】梯度下降

文章目录

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

相关推荐
非门由也15 小时前
《sklearn机器学习——特征提取》
人工智能·机器学习·sklearn
机器学习之心16 小时前
基于CNN的航空发动机剩余寿命预测 (MATLAB实现)
人工智能·matlab·cnn
钝挫力PROGRAMER16 小时前
AI中的“预训练”是什么意思
人工智能
Godspeed Zhao16 小时前
自动驾驶中的传感器技术39——Radar(0)
人工智能·机器学习·自动驾驶·毫米波雷达
idealmu17 小时前
知识蒸馏(KD)详解一:认识一下BERT 模型
人工智能·深度学习·bert
Cathyqiii17 小时前
生成对抗网络(GAN)
人工智能·深度学习·计算机视觉
ai产品老杨18 小时前
打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程的智慧工业开源了
人工智能·开源·音视频·能源
小陈phd19 小时前
高级RAG策略学习(五)——llama_index实现上下文窗口增强检索RAG
人工智能
凯禾瑞华养老实训室20 小时前
人才教育导向下:老年生活照护实训室助力提升学生老年照护服务能力
人工智能
湫兮之风21 小时前
Opencv: cv::LUT()深入解析图像块快速查表变换
人工智能·opencv·计算机视觉