19、批标准化——Batch Normalization
将分散的数据进行规范化,利于机器学习的学习。W*X的值经常会变得很大或者很小,偏离激活函数敏感的区域,从而X的变化很难带来激活后的变化,而批标准化BN则是计算批数据的均值和方差,再normalize输入激活函数的值。
BN用在激活函数前,用tensorlfow编写的代码如下。
20、可视化梯度
通过可视化梯度下降,更好地理解全局最优和局部最优的区别,明白参数初始值对梯度下降的影响。tensorflow代码如下
从梯度下降图可以看出,参数总是沿着当前的梯度进行移动,到达梯度最低点。
如果我们改变需要拟合的函数呢?我们不回归一个线性方程了,我们来拟合一个非线性方程——y = sin(b*cos(a*x)),参数选择不同的初始值,梯度下降的结果如图所示。可以看出,不同的初始值会带来不同的训练效果。
閱讀更多 甜筒小哥 的文章