DPCM之预测误差均方值推导&&最小二乘法总结

标题DPCM之预测误差均方值推导

DPCM之预测误差均方值推导&&最小二乘法总结_第1张图片

最小二乘法总结

一、梯度下降法

1、算法原理

梯度下降法是指参数不断沿着负梯度方向不断更新,直到最小值,其形象化表示如下图:
DPCM之预测误差均方值推导&&最小二乘法总结_第2张图片
那为什么会沿着负梯度更新,而不是沿着其他方向更新呢?对于深度学习模型,目标函数J(θ),J(θ)关于参数θ的负梯度将是目标函数下降最快的方向。原因如下:
在求方向导数的时候,用偏微分来简化的计算.

一个平面上无数个方向,函数沿哪个方向变化率最大呢?

目前我不管梯度的事,我先把表达式写出来:
在这里插入图片描述
那么我们可以得到:
在这里插入图片描述

那么此时如果Duf(x,y)要取得最大值,也就是当 α \alpha α为0度的时候,也就是向量I(这个方向是一直在变,在寻找一个函数变化最快的方向)与向量A(这个方向当点固定下来的时候,它就是固定的)平行的时候,方向导数最大.方向导数最大,也就是单位步伐,函数值朝这个反向变化最快.

好了,现在我们已经找到函数值下降最快的方向了,这个方向就是和A向量相同的方向.那么此时我把A向量命名为梯度(当一个点确定后,梯度方向是确定的),也就是说明了为什么梯度方向是函数变化率最大的方向了!!!(因为本来就是把这个函数变化最大的方向命名为梯度)

我的理解是,本来梯度就不是横空出世的,当我们有了这个需求(要求一个方向,此方向函数值变化最大),得到了一个方向,然后这个方向有了意义,我们给了它一个名称,叫做梯度

这里以线性回归为例,讲述梯度下降法的过程:
DPCM之预测误差均方值推导&&最小二乘法总结_第3张图片
从上面的公式可以看到,因为有求和,参数的更新是基于所有的样本,其能得到全局最优解,求解的参数满足风险函数最小化。但是这种参数更新存在的问题是如果样本数量很大,会导致性能很差,这种更新方式叫做批量梯度下降法,后面会提到随机梯度下降和min-batch梯度下降。

2、批量梯度下降、随机梯度下降、小批量梯度下降

上次提到的便是批量梯度下降,参数的每次更新都需要计算全部样本。这种方法可以得到全局最优解,但是其存在的主要问题是需要大量内存,每次学习时间较长(全样本要迭代至少几次才可以收敛)。批量梯度下降易于并行化实现,且整体迭代次数较少。

随机梯度下降是指每个样本迭代更新一次参数,如果数据量很大,可能使用其中一部分样本就已经将参数更新完毕,这时,我们可以只对样本扫描一遍,而对于批量梯度下降,需要扫描多遍全样本,所以随机梯度下降的训练速度更快。但是随机梯度下降很难达到全局最优解,其得到的局部最优解。随机梯度下降一次只使用一个样本,迭代一次计算量为n2,不易于并行实现,收敛波动较大。但是需要较小的内存空间。

小批量梯度下降是对批量梯度下降和随机梯度下降的折中,其在每次迭代时使用batch_size个样本对参数进行更新。其优点如下:

  • 通过矩阵运算,每次在一个batch_size上优化神经网络参数并不会比单个数据慢太多
  • 每次一个batch_size会使得迭代次数减小,相对于随即梯度下降,也更接近于批量梯度下降的效果。
  • 可实现并行化,并且batch_size个样本不需要太大的内存空间,是批梯度下降和随机梯度下降的折中。

二、最小二乘法

1、原理

最小二乘法,又叫做最小平方法,它通过最小化误差的平方和寻找数据的最佳函数匹配,思想比较简单,最小二乘法可以求出参数的解析解。下面仍然以线性回归为例说明最小二乘法的计算过程。
DPCM之预测误差均方值推导&&最小二乘法总结_第4张图片
DPCM之预测误差均方值推导&&最小二乘法总结_第5张图片

2、优缺点

  • 相比较于梯度下降,不需要选择步长。
  • 如果样本量不大,且存在解析解,则最小二乘法是更好的选择。但是如果样本量很大,则求逆矩阵复杂度比较高,此时选择梯度下降更好
  • 计算速度很快

三、牛顿法

牛顿法一般有两个用途,一种是用于求方程的根,一种是用来求最值。下面将就这两个问题分开讨论。

1、牛顿法求方程的根

DPCM之预测误差均方值推导&&最小二乘法总结_第6张图片
下图是使用牛顿法求解 f(x)=0 的解的例子,可以看出,xn的值不断逼近方程的根。

DPCM之预测误差均方值推导&&最小二乘法总结_第7张图片

2、牛顿法求最值

DPCM之预测误差均方值推导&&最小二乘法总结_第8张图片

从上述更新公式可知,在使用牛顿法求最值的时候需要计算一阶导数矩阵和二阶导数矩阵(海瑟矩阵,当f(x)取极小值时,海瑟矩阵正定f(x)取极小值时,海瑟矩阵正定f(x)取极小值时,海瑟矩阵正定),但是海瑟矩阵的逆计算起来还是比较耗时的,所以后续引入了拟牛顿法。

3、优缺点

  • 相比较于梯度下降法,梯度下降法只引入了一阶导数信息,而牛顿法引入了二阶导数信息。
  • 收敛速度快,但是需要计算海瑟矩阵的逆矩阵,计算较复杂

参考

[优化方法] 梯度下降法、最小二乘法、牛顿法、拟牛顿法、共轭梯度法
为什么梯度反方向是函数值局部下降最快的方向

你可能感兴趣的:(DPCM之预测误差均方值推导&&最小二乘法总结)