数据归一化问题

  统计/机器学习 监督式学习 深度学习    浏览次数: 592
1

如果输入数据进行了归一化操作,经过网络模型,得到的预测输出值是不是也会偏小;意思是输入数据归一化,会影响预测的输出值?这时候是不是标签数据也需要进行归一化操作?


 

梦雨666   2018-06-21 13:58



   2个回答 
3

数据归一化(normalization)相当于做数据矩阵的较弱的right preconditioning,目的是减小矩阵的condition number,从而让梯度递减一类的优化算法收敛更快,而且求矩阵逆的误差减小。

举个简单的例子,一层的线性回归,$Xw=y$,其中$X$是mxn输入数据矩阵,每一行是一个n维数据点,$w$是要求的网络参数,y是m个1维输出。当做数据归一化时,相当于乘上了right preconditioner$P$。

$XP^{-1}Pw=y$

其中$P$是个简单的可逆的对角线矩阵。$P_{ii}=\sigma_i$, $P_{ij}=0,i \neq j$, $\sigma_i$是输入数据X第i维的标准差。新求的网络参数是$Pw=w'$。新矩阵$XP^{-1}=X'$的condition number会小于$X$。还可以看出对$y$没有变化。

当用最小二乘法时,$loss=argmin_w(|XP^{-1}w'-y|^2)$,近似锥形。当condition number约等于1时,loss function在$w'$空间上的等高线(contour)更接近于圆/球;否则,当condition number是一个很大的正数时,等高线更接近于椭圆/椭球。对于梯度下降算法,圆形等高线下降更快。

结论是应该对输入数据做归一化,保持原始输出。

SofaSofa数据科学社区 DS面经 问答 实战

Zealing   2018-06-23 14:28

normalization是数据正则化吧?归一化和正则化不是一个东西吧? - dzzxjl   2018-09-25 10:00
正则化是regularization吧。normalization可以说是归一化,也可以说是正规化。 - u_u   2018-09-25 10:33
归一化,标准化,正规化,正则化这几个词被用混了。 我理解的归一化是rescaling,把值变为0,1之间。标准化(normalization)也可叫正规化(standarization),指z-score normalization。正则化(regularization)指给损失函数(loss function)中加入正则项(regularization term),比如L1/L2/total variation。 - Zealing   2018-09-25 10:44
1

归一化是把数据都变为(0,1)的范围内,这样的话处理起来方便,计算量也大大减少了,损失函数更容易收敛。

SofaSofa数据科学社区 DS面经 问答 实战

GodStick   2018-09-25 21:41



  相关主题

一个关于机器学习模型性能的问题。   1回答

用神经网络做二元分类,输出层用Sigmoid还是Softmax?   3回答

dropout rate一般设置多大?   3回答

深度学习和人工神经网络是一回事吗?   1回答

deep learning中的pooling是什么意思?   6回答

关于神经网络的性能   1回答

神经网络中的gradient check是什么意思?   2回答

神经网络中的dense和sparse是什么意思?   2回答

前馈神经网络如何选择隐藏层的数量   2回答

训练神经网络中经常提到的epoch是什么意思   2回答

神经网络中的Dropout和Bagging   1回答

pytorch 的交叉熵损失总是报错,同样的结构改成MSELoss就没有问题   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!