【机器学习】参数优化器

本文介绍了机器学习中的关键概念,如线性回归和梯度下降,以及各种优化算法如SGD(无动量)、SGDM(含动量)、Adagrad、RMSPro和Adam,详细讲解了待优化参数、损失函数、学习率、一阶动量和二阶动量的计算过程,以及如何修正动量偏差。
摘要由CSDN通过智能技术生成

前置知识:机器学习概念,线性回归,梯度下降

待优化参数w,损失函数loss,学习率lr,每次迭代一个batch

  1. 计算t时刻损失函数关于当前参数的梯度:

    g_t=\frac{\partial loss}{\partial w}

  2. 计算t时刻一阶动量mt和二阶动量Vt

  3. 计算t时刻下降梯度:

    \eta_t=lr\cdot \frac {m_t}{\sqrt{V_t}}

  4. 计算t+1时刻的参数:

    w_{t+1}=w_t-\eta_t

一阶梯度:与梯度相关的函数

二阶动量:与梯度平方相关的函数

SGD(无momentum)

m_t=g_t \\V_t=1 \\\eta_t=lr\cdot \frac {m_t}{\sqrt{V_t}}=lr\cdot g_t \\w_{t+1}=w_t-\eta_t=w_t-lr\cdot g_t

SGDM(含momentum的SGD)

在SGD的基础上增加了一阶动量

m_t=\beta\cdot m_{t-1}+(1-\beta)g_t \\V_t=1 \\\eta_t=lr\cdot \frac{m_t}{\sqrt {V_t}} =lr\cdot(\beta\cdot m_{t-1}+(1-\beta)g_t) \\w_{t+1}=w_t-\eta_t=w_t-lr\cdot(\beta\cdot m_{t-1}+(1-\beta)g_t)

mt这个公式表示各时刻梯度方向的指数滑动平均值

超参数β接近1

Adagrad

在SGD的基础上增加二阶动量

m_t=g_t \\V_t=\sum^t_{i=1}g^2_i \\\eta_t=lr\cdot \frac{m_t}{\sqrt {V_t}}=lr\cdot \frac{g_t}{\sqrt {\sum^t_{i=1}g^2_i}} \\w_{t+1}=w_t-\eta_t=w_t-lr\cdot \frac{g_t}{\sqrt {\sum^t_{i=1}g^2_i}}

一阶动量mt是当前的梯度

二阶动量Vt是从开始到t时刻梯度平方的累计和

RMSPro

在SGD的基础上增加二阶动量

m_t=g_t \\V_t=\beta\cdot V_{t-1}+(1-\beta)g_t^2 \\\eta_t=lr\cdot \frac{m_t}{\sqrt {V_t}}=lr\cdot \frac{g_t}{\sqrt {\beta\cdot V_{t-1}+(1-\beta)g_t^2}} \\w_{t+1}=w_t-\eta_t=w_t-lr\cdot \frac{g_t}{\sqrt {\beta\cdot V_{t-1}+(1-\beta)g_t^2}}

Adam

同时引入了SGDM的一阶动量和RMSPro的二阶动量

m_t=\beta_1\cdot m_{t-1}+(1-\beta_1)g_t \\V_t=\beta_2\cdot V_{t-1}+(1-\beta_2)g_t^2

修正一阶动量的偏差:

\hat {m_t}=\frac{m_t}{1-\beta_1^t}

修正二阶动量的偏差:

​​​​​​​\hat {V_t}=\frac{V_t}{1-\beta_2^t}

得到:

\\\eta_t=lr\cdot \frac{\hat m_t}{\sqrt {\hat V_t}} =lr\cdot {\frac{m_t}{1-\beta_1^t}}/{\sqrt {\frac{V_t}{1-\beta_2^t}}} \\w_{t+1}=w_t-\eta_t=w_t-lr\cdot {\frac{m_t}{1-\beta_1^t}}/{\sqrt {\frac{V_t}{1-\beta_2^t}}}

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惊雲浅谈天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值