⚡一分钟⚡搞懂标准化、归一化和中心化

简介: ⚡一分钟⚡搞懂标准化、归一化和中心化

事情是这样的,就是某天在本菜日常"飙车"回宿舍的途中,想着曾经有个项目在对数据进行预处理的时候,用过一个操作,本来就已经对数据进行了标准化处理,然而在甲方(注意这里是万恶之源)对我算法代码的阅读时提出了,没有进行归一化处理的疑惑,顿时间,我想了想,好像是这么一回事哈,一个转身像超人一样消失在甲方面前,回去加了两行代码(归一化处理),跑完发现,咦~~好像真的效果提高了不少诶。故引发了我对下面的内容的思考,并想多说两句,望各位看官批评指点!!!


(上面不算,不能计时哈o(╥﹏╥)o)


其实有很多博主已经做了对标准化、归一化和中心化的理解介绍,但我始终感觉还是有一一点的繁琐,下面 本菜鸡 就尝试⚡一分钟⚡让你搞懂标准化、归一化和中心化,且他们的适用场景!


指明一点其中标准化和归一化其实都属于特征缩放(Feature scaling)的方法,被人误解很久(估计是翻译问题),下面只讲简单的标准化和归一化,复杂的在后续Blog呈现。


(o(╥﹏╥)o上面也不算哈,不能计时呀o(╥﹏╥)o)

标准化(Standardized)

简单粗暴的定义:将数据按比例缩放,使之落入一个小的特定区间,缩放到均值为0,方差为1。


首先,上公式,

image.png

参考sklearn的数据预处理官方文档,这里引用一下假设的身高和体重数据特征,且均满足正态分布

image.png

原始数据集

当我们通过标准化后,得到的为,

image.png

标准化后的数据

可见标准化后也同样满足正态分布,可以看出每个维度上的尺度是一致的,适合进行综合对比。

适用范畴:常用于数据之间差异过大。

归一化(Normalization)

简单的归一化指的就是,缩放到0和1之间,且保留原始数据的分布。

image.png

同样,简单归一化后的数据为,

image.png

归一化

数据的分布不变,去除了量纲的影响,缩小到(0,1)之间。


适用范畴:主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速。提高收敛速度,提高模型精度。


中心化处理(Decentralized)

在回归分析中,中心化处理(又叫零均值化)常常指的是将变量减去它的均值,可得到均值为0,标准差为1的服从标准正态分布的数据。


简单来说就是将数据平移到坐标中心原点处。


引用一张网络上的元老级图来解释

image.png

中心化和标准化

左边为原始数据,中间为中心化处理,右边则为标准化处理数据。

中心化处理后的数据则是以原点为基准的,对向量也更容易描述。在做PCA时有所用到。


相关文章
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch基础之激活函数模块中Sigmoid、Tanh、ReLU、LeakyReLU函数讲解(附源码)
PyTorch基础之激活函数模块中Sigmoid、Tanh、ReLU、LeakyReLU函数讲解(附源码)
1133 0
|
10月前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费市场分析的深度学习模型
使用Python实现智能食品消费市场分析的深度学习模型
288 36
|
4月前
|
网络协议 开发工具 git
解决 git 报错 “fatal: unable to access ‘https://github.com/.../.git‘: Recv failure Connection was rese
在使用 Git/Git小乌龟 进行代码管理的过程中,经常会遇到各种各样的问题,其中之一就是在执行 git clone 或 git pull 等操作时出现 “fatal: unable to access ‘https://github.com/…/.git’: Recv failure Connection was reset” 的报错。这个问题通常是由网络连接问题或代理设置不正确导致的。在我的个人使用经验中,我亲自尝试了四种方法,它们都能够有效地解决这个报错。个人比较推荐方法二。
2140 0
|
存储 前端开发 安全
C++一分钟之-未来与承诺:std::future与std::promise
【6月更文挑战第27天】`std::future`和`std::promise`是C++异步编程的关键工具,用于处理未完成任务的结果。`future`代表异步任务的结果容器,可阻塞等待或检查结果是否就绪;`promise`用于设置`future`的值,允许多线程间通信。常见问题包括异常安全、多重获取、线程同步和未检查状态。解决办法涉及智能指针管理、明确获取时机、确保线程安全以及检查未来状态。示例展示了使用`std::async`和`future`执行异步任务并获取结果。
422 2
|
7月前
|
人工智能 自然语言处理 安全
AI战略丨大模型时代,基金投顾AI应用探索
AI战略丨大模型时代,基金投顾AI应用探索
|
存储 分布式数据库 API
技术好文:VisualC++查看文件被哪个进程占用
技术好文:VisualC++查看文件被哪个进程占用
|
10月前
|
存储 资源调度 JavaScript
一文带你了解PNPM以及 npm,yarn,pnpm区别
一文带你了解PNPM以及 npm,yarn,pnpm区别
702 9
|
9月前
|
机器学习/深度学习 数据采集 人工智能
《智能算法设计与开发的全解析:从理念到实践》
在数字化时代,智能算法作为人工智能的核心驱动力,广泛应用于各行业。设计时需坚持目标导向、数据驱动、平衡复杂性与可解释性、确保鲁棒性;开发中要合理选择算法、编程语言与工具,注重模型训练、验证和部署维护。实践要点包括保证数据质量、综合评估模型、结合领域知识及团队协作。持续学习新技术也至关重要。
325 11
|
SQL Oracle 关系型数据库
SQL语言的主要标准及其应用技巧
SQL(Structured Query Language)是数据库领域的标准语言,广泛应用于各种数据库管理系统(DBMS)中,如MySQL、Oracle、SQL Server等
401 9