关于归一化

来源:11-4 scikit-learn中的SVM

手中的铅笔

2020-10-04

老师,前面你讲了两种数据预处理的方式:最大最小值归一化和均值方差标准化。这一节提到 SVM 使用之前必须统一量纲。关于统一量纲,我有一些问题。

我个人觉得最大最小值归一化是可以统一量纲的,因为它可以把所有值压缩到 0 - 1 之间;但均值方差标准化只是改变了原始的分布情况,不能说它可以统一量纲吧?尽管大多数数据会满足正态分布,大多数数据点会落在几个标准差的范围内,但可能有一些数据点会落在离原点较远的位置。要说统一量纲,只能说可以统一大部分数据的量纲吧?

写回答

1回答

liuyubobobo

2020-10-04

嗯,其实在这里,说成是统一量纲不够精准,更准确地说,是同一尺度。


因为比如一个特征是表示房屋里有几间房;另一个特征是房屋在几层;还有一个特征是房屋的面积;还有一个特征是房屋离最近地铁的距离。


那么。第一个特征的量纲是“间”;第二个特征的量纲是“层”;第三个特征的量纲是“平方米”;第四个量纲的特征是“米”。这些量纲是统一不了的。


但关键是,我们希望在同一个“尺度”下看待不同的特征。举个例子,语文成绩和数学成绩两个特征,但语文满分是 80 分;数学满分是 120 份,我两个科目都考了 60 分,很明显,同样这个 60 分,对语文和数学两个科目来说,是不一致的。


不过,这个例子,使用最大最小归一足以,这是因为,这个特征有非常明确的上限和下限。但有的特征并非如此。比如离最近地铁的距离。如果我们仅仅以测试数据中的最大最小做为标准,但是测试数据来了更大的值或者更小的值怎么办?当然,我们可以使用一些方式处理这种情况,但更合理的方式是使用标准化,把整个数据转成是均值 0 方差 1 的数据。


这本质实际上是将数据看成了一个均值 0 方差 1 的分布,看每一个数据处于这个分布的什么位置。这也是在同一尺度看待数据的方式。因为标准化后,所有的特征都是在一个均值 0 方差 1 的分布中。


继续加油!:)

3
7
手中的铅笔
回复
liuyubobobo
原来还有统筹规划,妈的:)我得给慕课网官方发邮件,提醒他们别瞎几把规划,别瞎几把挑老师,给你们几个好评多的老师多发点钱,得让你们多出几门课:)
2020-10-04
共7条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5893 学习 · 2454 问题

查看课程