数据归一化中"均值归一化"的问题

小弟这几天在看机器学习入门的书,今晚看到归一化的时候产生一个问题,阐述如下:
书上说机器学习多使用的归一化方法是均值方差归一化,这种归一化可以很好的解决数据中出现极端值的问题,在对training_data和test_data处理方面,test_data使用的mean和std都是train的mean和std,这些我都理解,但是我发现一个问题,如果在均值归一化处理test_data的时候,使用的max和min也是training的,那么很有可能出现test_data大于1或者小于0的情况啊。举例如下:
training_data中max = 50,min = 10,新来了一个test_data = 60,那么均值归一化的结果就是 = ( 60 - 10) / (50 - 10 ) = 1.25 > 1。
书上说是meanScaler是机器学习常用的方法,偶尔也会使用均值归一化,但是使用均值归一化的时候出现上面的问题怎么办呢?
求教大佬们
全部评论
train和test放在一起搞
点赞 回复 分享
发布于 2018-10-08 16:36
你把train的max和min记录下来 测试集直接就用这两个做归一化就OK了,如果都是1或0那说明你的数据有问题。两者分布差太多。
点赞 回复 分享
发布于 2018-10-08 06:36
少量超出范围一般不影响,大量出现说明数据集分布差异太大,数据集划分有问题
点赞 回复 分享
发布于 2018-10-08 02:27
搞学术的时候通常自己划分训练集测试集,这时可以训练集和测试集统一归一化;但实际工程中不可能,所以只能对训练集进行归一化,会发生你说的这种情况,但无所谓啊,我们训练模型本来就是为了考验模型的泛化能力啊。。。
点赞 回复 分享
发布于 2018-10-07 22:07

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务