【机器学习】特征归一化的重要性及方式

V1.0

特征归一化的重要性

特征归一化的问题产生于,我们在使用特征向量中不同的特征数据时,特征数据尺度(或者说数量级不同)而造成的问题。
例如,KNN算法中不同的计算距离时,不同特征的量纲不同,比如说特征1的数量级大概在 100 100 100左右附近,特征2的数量大概在 1 1 1左右附近,在使用特征1和特征2计算距离时,特征1就会对最终的距离结果产生很大的影响,而特征2的影响就变得相对小很多,这会导致结果的较大偏差。因此要进行特征归一化,将不同特征变换到同一尺度。
d i s t a n c e = ( 120 − 90 ) 2 + ( 1.2 − 1.0 ) 2 distance=\sqrt{(120-90)^2+(1.2-1.0)^2} distance=(12090)2+(1.21.0)2

特征归一化的方式

特征归一化主要包括两种方式

  • 最大最小值归一化
  • 零均值归一化

最大最小值归一化

x n o r m = x − x m i n x m a x − x m i n x_{norm}=\frac{x-x_{min}}{x_{max}-x_{min}} xnorm=xmaxxminxxmin
其中 x m i n {x_{min}} xmin是数据的最小值, x m a x {x_{max}} xmax是数据的最大值。
适用于数据有限范围的情况,因为其需要使用最大值最小值

最大最小值归一化的局限性

极端数据会对最大最小值归一化的结果产生较大影响。
假设我们有一组一维数据,其中有一个很极端的数据,比如说5000。其他数据大概分布在0-1000左右,这会导致这组数据的最大最小值归一化的结果,一般的数据会分布在0.2左右。

零均值归一化

x n o r m = x − μ σ x_{norm}=\frac{x-\mu}{\sigma} xnorm=σxμ
其中 μ \mu μ 是数据的均值, σ \sigma σ 是数据的标准差。
零均值归一化,适合于绝大多数的情况。

测试集的归一化

假设我们使用零均值归一化,得出了训练集的数据,即训练集的均值和标准差。那么我们在测试集上使用什么均值和标准差呢?
正确的方法是使用训练集的数据,这是因为测试集的数据往往较难获得。在测试样本较少的情况下,不能很好表示的平均的样本的分布情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YoseZang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值