采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
之前接触归一化就感觉很难理解,虽然表面上不难理解似乎操作很有道理,因为数值大的特征计算两个向量之间的距离会掩盖值小的特征,但还是有些不相信归一化是否有道理。
我是觉得应该要考虑这些特征之间是独立还是相关的:
如果是相关的,归一化是不是就否定了特征之间本来就有的差距。
如果是独立的,归一化是不是否定了特征之间的差距。
还是说归一化特征之间的差距是不重要的?为什么不重要呢?有没有一些其他解释?
这其实是一个非常好的问题。同时其实也是一个非常大的问题。
整体上,@慕无忌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:)
当然了,在一些更复杂的应用中,会检测特征之间的独立程度。相应的其实也有很多方法,大多是统计学上的方法。他们的作用,也在于特征工程。通过特征之间可能存在的微妙联系,去发现;提取;筛选;甚至是生成更好的特征。
非常感谢!
老师写的太好了,学到很多,还是不太明白一点,如果只关注特征和结果的依赖关系,那么特征之间的大小差距大就应该可以不归一化了吧,结果只要和每个特征单独作用? 等过段时间再看了再理解下。
需要归一化,归一化的原因就是要把他们放在同一个尺度下,请仔细体会课程中的例子。恰恰是因为我们只关注特征和结果之间的关系,我们才可以保证归一化不影响最终的结果。但是有一些算法无需归一化,有一些算法需要。在具体介绍算法的时候我会提及。kNN是典型的需要进行归一化处理的算法。
我觉的特征之间应该是独立的,每个特征只是对结果label有影响,归一化也只是针对特征与结果之间差距进行标准化
有的特征也可能相关吧,比如x,和x^2,x^3,就是相关的? 会不会特征之间的差距也是有意义的,这样归一化是不是没了,我直观上理解是没了,可能我弄错了,就是这个地方想不明白?
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.4k 19
3.4k 17
2.9k 15
1.6k 15
1.4k 14