【漫话机器学习系列】210.标准化(Standardization)

标准化(Standardization):深入理解数据预处理中的常用技术

在数据科学与机器学习的实践中,**标准化(Standardization)**是一项极为常见且重要的预处理操作。它可以显著提升模型训练的效率与效果,尤其是在涉及距离计算(如KNN、SVM)或梯度下降的算法中。本文将通过图示公式,深入剖析标准化的定义、计算方法及其应用背景。


什么是标准化?

标准化,也称为 Z-score 归一化,是一种将特征值转换为标准正态分布的方法。标准化后的数据其均值为 0标准差为 1,这意味着数据被"平移"到以 0 为中心,并根据原始分布的离散程度"压缩或拉伸"。


标准化的公式

如下图所示,标准化的数学表达式为:

其中各符号含义为:

  • :标准化后的第 iii 个特征值(橙色注释)

  • ​:原始第 iii 个观察值(绿色注释)

  • :特征向量的平均值(红色注释)

  • :特征向量的标准差(蓝色注释)


如何理解标准化?

标准化的核心思想是"去除位置偏移与量纲影响"。对于不同量纲或尺度的数据(如身高与收入),如果不进行标准化直接输入模型,可能会导致模型更关注数值大的特征,忽略本身重要性相当但数值较小的特征。

通过标准化,我们将每一个样本的特征值减去该特征的平均值,然后除以标准差,从而实现单位标准化。这个处理过程的结果是:

  • 标准化后的数据 均值为 0

  • 标准化后的数据 标准差为 1

  • 标准化后的数据符合标准正态分布(或接近)


为什么要进行标准化?

以下几种情况特别推荐使用标准化:

  1. 不同量纲的特征同时存在

    例如:房价预测模型中同时包含"面积(平方米)"与"房间数(个)"。

  2. 需要计算欧几里得距离或点积的模型

    例如:KNN、KMeans、SVM、线性回归、PCA等。

  3. 模型对特征尺度敏感时

    特别是在使用梯度下降优化算法的场景中,标准化有助于加快收敛速度。


实现方法(Python 示例)

python 复制代码
from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

scikit-learn 中,StandardScaler 实现了对每列特征的标准化,即减去均值再除以标准差。它默认沿列方向(每个特征)进行操作。


标准化 vs 归一化(Normalization)

项目 标准化(Standardization) 归一化(Normalization)
定义 减去均值再除以标准差 缩放到 [0, 1] 区间
结果 均值为0,标准差为1 最小值为0,最大值为1
适用 对于有正态分布假设的模型 神经网络输入或图像像素等场景

总结

标准化是一种基础但极其重要的数据预处理方法,它通过"居中+等比例伸缩"将数据调整到标准正态分布状态,为后续建模打下坚实基础。在使用大多数机器学习模型之前,对特征数据进行标准化处理,是提升模型性能与稳定性的关键一步。

相关推荐
聆风吟º7 小时前
CANN runtime 全链路拆解:AI 异构计算运行时的任务管理与功能适配技术路径
人工智能·深度学习·神经网络·cann
uesowys7 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
AI_56787 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
User_芊芊君子7 小时前
CANN大模型推理加速引擎ascend-transformer-boost深度解析:毫秒级响应的Transformer优化方案
人工智能·深度学习·transformer
智驱力人工智能8 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
qq_160144878 小时前
亲测!2026年零基础学AI的入门干货,新手照做就能上手
人工智能
Howie Zphile8 小时前
全面预算管理难以落地的核心真相:“完美模型幻觉”的认知误区
人工智能·全面预算
人工不智能5778 小时前
拆解 BERT:Output 中的 Hidden States 到底藏了什么秘密?
人工智能·深度学习·bert
盟接之桥8 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
kfyty7258 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai