1. 什么是梯度?求梯度有什么公式?
-
什么是梯度? 区分:梯度向量、Jacobian、Hessian矩阵
-
求梯度向量的公式:【以下公式的证明点击此处查看】
2. 批量梯度下降 | 随机梯度下降 | 小批度梯度下降 区别
- 批量梯度下降:经过训练集的所有样本后才更新一次参数
- 最后得到的是一个全局最优解。
- 由于算法复杂度是看迭代次数,所以适用于样本量大的情况。
- 随机梯度下降:每经过到训练集的一个样本就更新一次参数
- 最后得到的可能是全局最优解,也可能是局部最优解。
- 由于算法复杂度是看迭代次数,所以适用于样本量较小的情况。(样本量越少越容易更快的找到极值点)
- 小批度梯度下降:是批量梯度下降与随机梯度下降的折中。对于所有要经过的点,经过一小批点更新一次参数
- 最后得到的可能是全局最优解,也可能是局部最优解。
- 适用于样本量折中的一种情况。
举一个例子:
感知机模型中经验风险为:
假设目标函数为经验风险最小化,那么对 Remp(w, b) 求梯度有:(使用上面提到的求梯度的公式很容易得到以下结果)
-
由于梯度是航叔上升或下降最快的方向,所以自然的得到参数的更新公式:
很显然,这是经过训练集的所有样本后才更新一次参数。这就是批量梯度下降 -
只需要将上面的求和去掉就变成了经过一个样本更新一次参数。即:随机梯度下降
3. 随机梯度下降的两种方式:原始形式 和 对偶形式
随机梯度下降的核心是每经过到训练集的一个样本就更新一次参数。而对于参数更新的公式也可以不同。
-
原始形式的随机梯度下降:就是前面介绍的,根据批量梯度下降的参数迭代公式改进得到。
-
对偶形式的随机梯度下降:根据原始形式的随机梯度下降的参数迭代公式改进得到。降低了计算量。
注意:只要某方法有对应的对偶形式,那么它一定是对原始形式在以下3个方面之一做了优化:
- 降低时间复杂度
- 降低空间复杂度
- 原问题无法解决,使用对偶形式就可以解决。
还是拿感知机模型的例子举例:
-
原始形式:
-
改进过程: