背景博客参考:https://blog.csdn.net/soulmeetliang/article/details/72830179
梯度下降非常重要~篇幅也比较长,耐心看(PS:我认为纯数学的推导过程可以选择性的看,过程只是加深理解)
注释2:所有之前参数W的偏微分的均方根
3:η是随时间变化的参数
注释1:gradient究竟是大还是小,是比较得出的,所以用gradient➗之前参数得出的所有均方根,得到的结果来判定gradient是大还是小。
2:g^t是一阶微分,用之前算的一阶导数平方和的平方根来表示二阶微分。
4:GD和SGD对比:
GD:看完所有的examples后更新参数,过程比较稳定,Loss走的方向是按Gradient建议的方向走。 SGD:看完一个example就更新一次参数,如果有20个example就更新20次参数,更快一些。
6:目的是把X2的值缩放的和X1差不多。但是如果由多个参数的时候,通常的做法是将所有参数都缩放到一个标准下,这个过程就是不会改变原始数据的分布规律(标准化)。
通常的做法是把所有的特征数据转换成均值为0,方差为1的数据。
7:W1对LOSS的影响较小,表现为(横轴圈圈)比较平滑;
W2对LOSS的影响较大,表现为(纵轴圈圈)比较陡峭。
并且对于这种椭长的LOSS,一般都是会用AdaGrad分配学习率,因为要沿着等高线的法线方向移动,朝着中心点走很多步;
而对于参数缩放差不多的LOSS,表现为圆形左右,不管初始位置位于何处,都是正朝着中心点移动,效率更高。
8:feature scaling的方式有很多,最简单的一种是把不同样本中的同一维的数据进行处理使其符合高斯分布。
注释1:同向最大,反向最小。(解释了高数中的梯度~)
(u,v)就是梯度方向。η就是使得蓝线到红圈的常数。