对于输入的归一化,存在两种形式,一种是[0,1]标准化,另一种是零均值归一化,神经网络中一般选择第二种形式。这会使代价函数的会更圆一些,更容易优化。
归一化需要两个步骤:1.零均值 2.归一化方差 最终使输入特征在[-1,1]的范围内。
第一步是零均值化 它是一个向量,x等于每个训练数据 x减去μ,意思是移动训练集,直到它完成零均值化。
第二步是归一化方差:
这是节点的平方,σ2是一个向量,它的每个特征都有方差,注意,我们已经完成零值均化,(x(i))2元素y2就是方差,我们把所有数据除以向量σ2。
最终特征会变为在相似范围内,而不是从1到1000,0到1的范围,而是在-1到1范围内或相似偏差,这使代价函数会更圆一些,而且更容易优化。
注意:需要用相同的 μ 和 σ2来归一化测试集,注意对y不做处理,只对输入的特征x进行归一化。自己一开始有的疑惑是需不需要对y进行归一化,其实没有必要。