梯度下降

何为梯度?

  • 梯度:在数学上,梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
  • 梯度是使得该函数取得最大值的方向,即梯度的方向是函数值增大的方向。

梯度下降的三种方法

那么梯度下降指的就是梯度的反方向。

  • 假设目标函数为均方差损失函数
  • 计算预测值和真实值之间的欧式距离。预测值和真实值越接近,两者的均方差就越小
  • 均方差函数常用于线性回归(linear regression),即函数拟合(function fitting)。
公式为:

J ( θ ) = 1 2 m ∑ i = 1 m ( y ( i ) − h θ ( x ( i ) ) ) 2 J(\theta)=\frac{1}{2m}\sum_{i=1}^m(y^{(i)}-h_\theta(x^{(i)}))^2 J(θ)=2m1i=1m(y(i)hθ(x(i)))2 优 化 目 标 是 使 得 损 失 最 小 优化目标是使得损失最小 使
θ \theta θ求导如下:
∂ J ( θ ) ∂ θ i = − 1 m ∑ i = 1 m ( y i − h θ ( x i ) ) x j i \frac{\partial J(\theta)}{\partial\theta_i}=-\frac{1}{m}\sum^{m}_{i=1}(y^{i}-h_{\theta}(x^{i}))x^i_j θiJ(θ)=m1i=1m(yihθ(xi))xji

批量梯度下降法

θ j ′ = θ j − ∂ J ( θ ) ∂ θ i = θ j + 1 m ∑ i = 1 m ( y i − h θ ( x i ) ) x j i \theta'_j=\theta_j-\frac{\partial J(\theta)}{\partial\theta_i}=\theta_j+\frac{1}{m}\sum^{m}_{i=1}(y^{i}-h_{\theta}(x^{i}))x^i_j θj=θjθiJ(θ)=θj+m1i=1m(yihθ(xi))xji
批量梯度下降容易得到最优解,但是由于每次都是考虑所有的样本,收敛速度很慢

小批量梯度下降法

θ j ′ = θ j + α 1 10 ∑ k = i i + 9 ( h θ ( ( x k ) − y k ) ) x j k \theta'_j=\theta_j+\alpha\frac{1}{10}\sum_{k=i}^{i+9}(h_{\theta}((x^k)-y^k))x^k_j θj=θj+α101k=ii+9(hθ((xk)yk))xjk
这里的批次大小为10,一般取36,64,128,512…,最常见的为32,64
α \alpha α是学习率,也就是每次优化更行的步长。

每次更新选择一小部分数据计算,小批量随机梯度下降兼顾了迭代速度和收敛方向,也是最常用的

随机梯度下降法

随机梯度下降每次只使用一个样本
θ j ′ = θ j + ( y i − h θ ( x i ) ) x j k \theta'_j=\theta_j+(y^i-h_{\theta}(x^i))x^k_j θj=θj+(yihθ(xi))xjk
随机梯度下降算法每次都找一个样本,迭代速度快,但是不一定每次都朝着收敛的方向,样本中的数据可能存在一些错误点,异常点等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

年少无为呀!

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

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

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

打赏作者

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

抵扣说明:

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

余额充值