为什么要做特征归一化/标准化?

特征归一化/标准化是数据预处理的关键技术,有助于消除特征间单位和尺度差异,确保算法对各特征同等对待。本文探讨了不同方法如min-max normalization、mean normalization、standardization和Scaling to unit length,以及何时需要或不需要feature scaling。涉及距离计算的算法如K-means、KNN通常需要scaling,而概率模型和基于树的模型则通常不需要。标准差归一化(Z-score Normalization)有助于梯度下降的收敛速度和损失函数形状。文章还讨论了不同损失函数对feature scaling的影响,并提供了相关案例分析。
摘要由CSDN通过智能技术生成


博客: blog.shinelee.me | 博客园 | CSDN

写在前面


Feature scaling,常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技术,有时甚至决定了算法能不能work以及work得好不好。谈到feature scaling的必要性,最常用的2个例子可能是:

  • 特征间的单位(尺度)可能不同,比如身高和体重,比如摄氏度和华氏度,比如房屋面积和房间数,一个特征的变化范围可能是 [ 1000 , 10000 ] [1000, 10000] [1000,10000],另一个特征的变化范围可能是 [ − 0.1 , 0.2 ] [-0.1, 0.2] [0.1,0.2],在进行距离有关的计算时,单位的不同会导致计算结果的不同,尺度大的特征会起决定性作用,而尺度小的特征其作用可能会被忽略,为了消除特征间单位和尺度差异的影响,以对每维特征同等看待,需要对特征进行归一化

  • 原始特征下,因尺度差异,其损失函数的等高线图可能是椭圆形,梯度方向垂直于等高线,下降会走zigzag路线,而不是指向local minimum。通过对特征进行zero-mean and unit-variance变换后,其损失函数的等高线图更接近圆形,梯度下降的方向震荡更小,收敛更快,如下图所示,图片来自Andrew Ng。

    Feature Scaling from Andrew Ng

对于feature scaling中最常使用的Standardization,似乎“无脑上”就行了,本文想多探究一些为什么,

  • 常用的feature scaling方法都有哪些?
  • 什么情况下该使用什么feature scaling方法?有没有一些指导思想?
  • 所有的机器学习算法都需要feature scaling吗?有没有例外?
  • 损失函数的等高线图都是椭圆或同心圆吗?能用椭圆和圆来简单解释feature scaling的作用吗?
  • 如果损失函数的等高线图很复杂,feature scaling还有其他直观解释吗?

根据查阅到的资料,本文将尝试回答上面的问题。但笔者能力有限,空有困惑,能讲到哪算哪吧(微笑)。

常用feature scaling方法


在问为什么前,先看是什么。

给定数据集,令特征向量为 x x x,维数为 D D D,样本数量为 R R R,可构成 D × R D \times R D×R的矩阵,一列为一个样本,一行为一维特征,如下图所示,图片来自Hung-yi Lee pdf-Gradient Descent

feature matrix

feature scaling的方法可以分成2类,逐行进行和逐列进行。逐行是对每一维特征操作,逐列是对每个样本操作,上图为逐行操作中特征标准化的示例。

具体地,常用feature scaling方法如下,来自wiki

  • Rescaling (min-max normalization、range scaling)
    x ′ = a + ( x − min ⁡ ( x ) ) ( b − a ) max ⁡ ( x ) − min ⁡ ( x ) x^{\prime}=a+\frac{(x-\min (x))(b-a)}{\max (x)-\min (x)} x=a+max(x)min(x)(xmin(x))(ba)
    将每一维特征线性映射到目标范围 [ a , b ] [a, b] [a,b],即将最小值映射为 a a a,最大值映射为 b b b,常用目标范围为 [ 0 , 1 ] [0, 1] [0,1] [ − 1 , 1 ] [-1, 1]

  • 31
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值