为什么要对数值类型特征做归一化?

给出一个场景

通过住户的居住面积和楼层来分析他们的居住舒适度,楼层的特征会在1-20(层)数值范围内,居住面积的特征会在30-200(平方米)数值范围内,那么根据这两种特征分析出来的数据居住面积会成为决定性更大的特征,这显然是不准确的,此时就需要我们进行特征归一化,使得各个特征处于同一个数值量级,然后再进行分析。

常用的特征归一化方法

  1. 最大最小归一化(Min-Max Scaling)
    最大最小归一化对原始数据进行线性变换,使结果映射到[0,1]范围内,实现对原始数据的等比缩放。
    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
  2. 零均值归一化(Z-Score Normalization)
    零均值归一化会将原始数据映射到均值为0、标准差为1的分布上。
    z = x − μ σ z=\frac{x-\mu}{\sigma} z=σxμ
    其中均值是 μ \mu μ,标准差是 σ \sigma σ

为什么要进行特征归一化?

借助随机梯度下降的例子来说明一下归一化的重要性。假设现在我们有两个特征x1、x2,x1的范围是[0,10],x2的范围是[0,4],在他们的学习速率相同的情况下x1的更新速度要大于x2,此时需要较多的迭代才能找到最优解;而当他们在同一数值范围内的时候,他们的更新速度就会变得更为一致,此时就更容易快速的通过梯度下降找到最优解。
用一张图片来说明一下(左边是归一化之前,右边是归一化之后):
在这里插入图片描述

实际应用中哪里需要归一化

可以看到上文中我用到了梯度下降来距离,可以看出归一化对梯度下降的影响是很大的,所以在实际应用中通过梯度下降求解的算法通常都是需要进行归一化的,常见的有线性回归、逻辑回归、支持向量机、神经网络等模型。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

二哥不像程序员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值