请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

数据归一化为什么有用?对归一化无法直观理解

之前接触归一化就感觉很难理解,虽然表面上不难理解似乎操作很有道理,因为数值大的特征计算两个向量之间的距离会掩盖值小的特征,但还是有些不相信归一化是否有道理。

我是觉得应该要考虑这些特征之间是独立还是相关的:

如果是相关的,归一化是不是就否定了特征之间本来就有的差距。

如果是独立的,归一化是不是否定了特征之间的差距。

还是说归一化特征之间的差距是不重要的?为什么不重要呢?有没有一些其他解释?


正在回答

2回答

这其实是一个非常好的问题。同时其实也是一个非常大的问题。


整体上,@慕无忌9014402 的回答是对的。在机器学习算法上,算法看待每一个特征都是独立的。虽然你对特征的直观解释有可能是相关的,但是算法将他们作为独立的特征处理。我们关注的是特征和output(也就是y)之间的依赖关系,而不是特征之间的依赖关系。所以,我们进行归一化处理,是在同一个尺度下看各个特征对output(也就是y)的影响。


特征之间可能是相关的。但是这个相关性是我们在特征工程阶段关注的。比如我们有一个房产数据,采集了房屋的长(L)和宽(W)。看他们和房屋价格之间的关系。我们很有可能会发现找不到L和W两个特征和房价之间的关系。有的时候L很大,房价也很高,有的时候L不大,房价也很高,反之亦然,对W也亦然。但是当我们引入L*W这个特征以后,我们管它叫area,就会发现area和房价之间的关系非常强烈。我们通过“相关的特征”组合出了一个更好的特征,能够更准确地反映和房价(y)之间的关系。


在这个简单的例子里,L, W和area是相关的。但是在实践中,这种相关对于预测房价没有意义,甚至可能起反效果,我们很有可能将L和W两个特征扔掉,效果更好。这就是feature selection了。


具体特征之间的差距是否可能有意义。这就要看我们怎么定义“差距”了,在我们的例子里,我们完全可以定义L和W之间的差距,就是L*W:)


当然了,在一些更复杂的应用中,会检测特征之间的独立程度。相应的其实也有很多方法,大多是统计学上的方法。他们的作用,也在于特征工程。通过特征之间可能存在的微妙联系,去发现;提取;筛选;甚至是生成更好的特征。

2 回复 有任何疑惑可以回复我~
  • 提问者 神经旷野舞者 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-02-04 18:27:29
  • 提问者 神经旷野舞者 #2
    老师写的太好了,学到很多,还是不太明白一点,如果只关注特征和结果的依赖关系,那么特征之间的大小差距大就应该可以不归一化了吧,结果只要和每个特征单独作用?
    等过段时间再看了再理解下。
    回复 有任何疑惑可以回复我~ 2018-02-04 18:46:15
  • liuyubobobo 回复 提问者 神经旷野舞者 #3
    需要归一化,归一化的原因就是要把他们放在同一个尺度下,请仔细体会课程中的例子。恰恰是因为我们只关注特征和结果之间的关系,我们才可以保证归一化不影响最终的结果。但是有一些算法无需归一化,有一些算法需要。在具体介绍算法的时候我会提及。kNN是典型的需要进行归一化处理的算法。
    回复 有任何疑惑可以回复我~ 2018-02-05 06:43:36
ianzhang 2018-02-03 21:21:21

我觉的特征之间应该是独立的,每个特征只是对结果label有影响,归一化也只是针对特征与结果之间差距进行标准化

1 回复 有任何疑惑可以回复我~
  • 提问者 神经旷野舞者 #1
    有的特征也可能相关吧,比如x,和x^2,x^3,就是相关的?
    会不会特征之间的差距也是有意义的,这样归一化是不是没了,我直观上理解是没了,可能我弄错了,就是这个地方想不明白?
    回复 有任何疑惑可以回复我~ 2018-02-03 21:55:45
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信