本系列用于推导、记录该系列视频中本人不熟悉、或认为有价值的知识点
本篇记录代码效果不佳时应该怎么做 如下图所示:
接下来探讨,当optimization不佳的时候,如何判断是遇到了鞍点还是遇到了局部最小值点?可以通过多元函数的泰勒公式来估计增量大小,如图:
关于多元函数泰勒公式,可参考https://blog.csdn.net/qq_45812220/article/details/138061259
此时梯度为0,则考虑红框中的参数即可:
而红框是一个二次型,若二次型矩阵是正定或者负定的,则可直接判断出该点是局部最小还是局部最大。若矩阵特征值有正有负,则该点为鞍点:
接下来介绍遇到鞍点时的优化办法。找到一个负的特征值的特征向量,代入上图的v向量,则由特征向量的有关知识,沿该特征向量方向一定可以使损失函数减小:
当然,这个方法不多用,只是介绍,顺便复习有关知识即可。
接下来李宏毅教授介绍了梯度下降的优化方案,如采用动量、RMSProp、Learning Rate Decay、Warm Up等。这些东西数学原理不多,直接参照PPT即可:https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/optimizer_v4.pdf