李宏毅机器学习-Task5

Task5

神经网络设计技巧

有一个崎岖不平误差曲面

某时刻损失函数不随参数更新而下降,怎么回事?

猜想:梯度(导数)到达0了?

  • 卡在局部最低
  • 卡在平缓的马鞍处

分批次训练,批次的大小至关重要,不同规模的批次拥有不同的优缺点

动量思想:每次下降的方向不仅是与梯度相反的方向,并且考虑进去上一步的方向

训练受阻(损失函数不再下降)不等同于梯度很小,还有什么原因呢?

自动调整学习率

应该用不同的学习率配合不同的参数:全局学习率之后,每次通过,全局学习率逐参数的除以历史梯度平方和的平方根,使得每个参数的学习率不同(Adagrad优化方法)

改进:RMSProp方法

常用的优化方法Adam:RMSProp+momentum

有无办法将崎岖不平的误差曲面变简单呢?(只有一个全局最低点)

分类

将不同的类别用one-hot 向量(只有一个有效位,其余为0)表示

二分类问题一般用Sigmoid函数将结果映射到0-1之间,多分类问题一般用softmax函数将结果映射到0-1之间

计算代价:

  • 将映射到0-1后的结果和目标标记做差再平方再求和
  • 用交叉熵

批次标准化

有无办法将崎岖不平的误差曲面变简单呢?(只有一个全局最低点)

批次标准化就是这种想法

将不同维度的输入统一到相同的范围内,这样出来的误差曲面不会很崎岖

特征归一(标准)化

上一篇:C语言 百炼成钢7


下一篇:task5