Tensorflow-损失降低(4)

损失降低方法

Reducing loss 主要有几种常用的方法:

  1. 迭代法
  2. 梯度下降法
  3. 学习速率
  4. 优化随机速率
  5. 随机梯度下降方法

迭代方法

迭代方法就是将模型预测值与实际值之间的误差值反馈给模型,让模型不断改进,误差值会越来越小,即模型预测的会越来越精确。就是一个不断尝试的过程

梯度下降方法

一种快速找到损失函数收敛点的方法。回归问题所产生的损失与权重值的图形(损失曲线)始终是凸形,凸形问题只有一个最低点;即只存在一个斜率正好为 0 的位置。这个最小值就是损失函数收敛之处。

学习速率

用来确定每一步的大小
梯度下降法算法用梯度乘以一个称为学习速率(有时也称为步长)的标量,以确定下一个点的位置。例如,如果梯度大小为 2.5,学习速率为 0.01,则梯度下降法算法会选择距离前一个点 0.025 的位置作为下一个点。
超参数是机器学习算法中用于调整的旋钮。大多数机器学习编程人员会花费相当多的时间来调整学习速率。

优化随机速率

  • 如果选择的学习速率过小,就会花费太长的学习时间
  • 相反,如果指定的学习速率过大,下一个点将永远在 U 形曲线的底部随意弹跳,很可能会越过最低点。
  • 学习速率刚刚好。每个回归问题都存在一个金发姑娘学习速率。即最低点。

随机梯度下降方法

批量:在梯度下降法中,批量指的是用于在单次迭代中计算梯度的样本总数。到目前为止,我们一直假定批量是指整个数据集。如果数据集太大(即批量过于巨大),则单次迭代就可能要花费很长时间进行计算。SGD就是用来解决此问题的。
理解一下:全批量梯度下降法、小批量随机梯度下降法、随机梯度下降法

  1. 全批量梯度下降法:如果是超大批量,则单次迭代就可能要花费很长时间进行计算。
  2. 小批量随机梯度下降法(小批量SGD):是介于全批量迭代与 SGD 之间的折衷方案。小批量通常包含 10-1000 个随机选择的样本。小批量 SGD 可以减少 SGD 中的杂乱样本数量,但仍然比全批量更高效。
  3. 随机梯度下降法(SGD):通过从我们的数据集中随机选择样本,我们可以通过小得多的数据集估算(尽管过程非常杂乱)出较大的平均值。随机梯度下降法 (SGD) 将这种想法运用到极致,它每次迭代只使用一个样本(批量大小为 1)。如果进行足够的迭代,SGD 也可以发挥作用,但过程会非常杂乱。“随机”这一术语表示构成各个批量的一个样本都是随机选择的。

猜你喜欢

转载自blog.csdn.net/qq_40188689/article/details/83501547
今日推荐