深度学习的实用层面 —— 1.9 正则化输入

训练神经网络,其中一个加速训练的方法就是归一化输入。

假设我们有一个训练集,它有两个输入特征,所以输入特征x是二维的,如图是数据集的散点图,归一化输入需要两个步骤,第一步是零均值化,计算公式为 μ = 1 m ∑ i = 1 m x [ i ] \mu=\frac{1}{m}\sum_{i=1}^mx^{[i]} μ=m1i=1mx[i] x : = x − μ x:=x-\mu x:=xμ通过移动训练集,完成零均值化,如下图所示。

第二步是归一化方差,注意,特征 x 1 x_1 x1的方差比特征 x 2 x_2 x2的方差要大得多,我们要做的是给 σ \sigma σ赋值,其计算公式为 σ 2 = 1 m ∑ i = 1 m ( x [ i ] ) 2 \sigma^2=\frac{1}{m}\sum_{i=1}^m(x^{[i]})^2 σ2=m1i=1m(x[i])2 σ 2 \sigma^2 σ2是一个向量,它的每个特征都有方差。注意我们已经完成零均值化,我们把所有训练数据除于 σ 2 \sigma^2 σ2,图片最后变成下图

x 1 x_1 x1 x 2 x_2 x2的方差都等于1,提示一下,如果你用它来调整训练数据,那么用同样的 μ \mu μ σ 2 \sigma^2 σ2来归一化测试集,尤其是你不希望训练集和测试集的归一化有所不同。不论 μ \mu μ的值是什么,也不论 σ 2 \sigma^2 σ2的值是什么,这两个公式中都会用到它们,所以得用同样的方法调整测试集,而不是在训练集和测试集上分别预估 μ \mu μ σ 2 \sigma^2 σ2。因为我们希望不论是训练数据还是测试数据都是通过相同 μ \mu μ σ 2 \sigma^2 σ2定义的相同数据转换,其中 μ \mu μ σ 2 \sigma^2 σ2是由训练集数据计算得来的。

为什么我们要这么做呢?为什么我们想归一化特征?回想一下代价函数 J ( w , b ) = 1 m ∑ i = 1 m L ( y ^ [ i ] , y [ i ] ) J(w,b)=\frac{1}{m}\sum_{i=1}^mL(\hat{y}^{[i]},y^{[i]}) J(w,b)=m1i=1mL(y^[i],y[i]),如果使用非归一化的输入特征,代价函数就会像下图一样,这是一个非常细长狭窄的代价函数,如果特征值在不同的范围内,假如 x 1 x_1 x1的取值范围从1到1000,特征 x 2 x_2 x2的取值范围是0-1,结果是参数 w 1 w_1 w1 w 2 w_2 w2的范围或者比率将会非常不同,图中的数据轴应该是 w 1 w_1 w1 w 2 w_2 w2,但直观理解,标记为 w w w b b b,代价函数有点像狭长的碗一样。
在这里插入图片描述
如果画出该函数的部分轮廓,如上图,是一个狭长的函数。

然而如果你归一化特征,代价函数看起来更对称,如果在狭长的代价函数上运行梯度下降法,必须使用一个非常小的学习比率,因为如果是在图中的这个位置,梯度下降法可能需要多次迭代过程,直到最后找到最小值。

在这里插入图片描述
但如果函数是一个更圆的球形轮廓,那么不论从哪个位置开始,梯度下降法都能够更直接地找到最小值,可以在梯度下降法中使用较大步长,而不是像在狭长函数中反复执行。
在这里插入图片描述
当然,实际上w是一个高维向量,因此使用二维绘制w并不能正确地传达直观理解。但总的直观理解是代价函数会更圆一些,而且更容易优化,前提是特征都在相似范围内,而不是例如1到1000,0到1的范围。而是在-1到1范围内或相似偏差,这使得代价函数J优化起来更简单更快速。

实际上如果假设特征 x 1 x_1 x1的范围在0-1之间, x 2 x_2 x2的范围在-1到1之间。 x 3 x_3 x3的范围在1-2之间,它们是相似范围,所以会表现得很好。当它们在非常不同的取值范围内,如其中一个从1到1000,另一个是从0到1,这对优化算法非常不利。但是仅将它们设置为均化零值,假设方差为1,确保所有特征都在相似范围内,通常可以帮助学习算法运行得更快。

所以如果输入特征处于不同范围内,归一化特征值就非常重要了,如果特征值处于相似范围内,那么归一化就不是很重要了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值