归一化(Normalization)与标准化(Standardization)
来源:互联网 发布:哪个网络好用 编辑:程序博客网 时间:2024/05/16 08:00
在机器学习和数据挖掘中,经常会听到两个名词:归一化(Normalization)与标准化(Standardization)。它们具体是什么?带来什么益处?具体怎么用?本文来具体讨论这些问题。
一、是什么
1. 归一化
常用的方法是通过对原始数据进行线性变换把数据映射到[0,1]之间,变换函数为:
其中
2. 标准化
常用的方法是z-score标准化,经过处理后的数据均值为0,标准差为1,处理方法是:
其中
二、带来什么
归一化的依据非常简单,不同变量往往量纲不同,归一化可以消除量纲对最终结果的影响,使不同变量具有可比性。比如两个人体重差10KG,身高差0.02M,在衡量两个人的差别时体重的差距会把身高的差距完全掩盖,归一化之后就不会有这样的问题。
标准化的原理比较复杂,它表示的是原始值与均值之间差多少个标准差,是一个相对值,所以也有去除量纲的功效。同时,它还带来两个附加的好处:均值为0,标准差为1。
均值为0有什么好处呢?它可以使数据以0为中心左右分布(这不是废话嘛),而数据以0为中心左右分布会带来很多便利。比如在去中心化的数据上做SVD分解等价于在原始数据上做PCA;机器学习中很多函数如Sigmoid、Tanh、Softmax等都以0为中心左右分布(不一定对称)。
标准差为1有什么好处呢?这个更复杂一些。对于
其中
是个常数,其中
可见第
其中
三、怎么用
在涉及到计算点与点之间的距离时,使用归一化或标准化都会对最后的结果有所提升,甚至会有质的区别。那在归一化与标准化之间应该如何选择呢?如果把所有维度的变量一视同仁,在最后计算距离中发挥相同的作用应该选择标准化,如果想保留原始数据中由标准差所反映的潜在权重关系应该选择归一化。另外,标准化更适合现代嘈杂大数据场景
- 归一化(Normalization)与标准化(Standardization)
- 数据规范中的归一化(Normalization)与标准化(Standardization)
- 数据的归一化(Normalization)、标准化(Standardization)
- 数据预处理(1)——标准化(Standardization)与归一化(Normalization)
- 模式识别之样本数据归一化(Normalization)与标准化(Standardization)
- 归一化(normalization)/标准化(standardization) 方法汇总
- Matlab 归一化(normalization)/标准化 (standarization)
- 数据标准化/归一化normalization
- 数据标准化/归一化normalization
- 数据标准化/归一化normalization
- Normalization(数据归一化)
- 数据标准化(归一化)
- 标准化、归一化(二)
- 归一化方法(Normalization Method)
- 归一化方法(Normalization Method)
- 数据预处理 归一化(Normalization)
- 数据标准化(data normalization)
- 数据标准化(data normalization)
- java生成excel存放到web-inf
- Android 通过反射获取系统组件的私有变量,并做更改
- NP课后习题8.3
- Javascript 自动在每N个字符后面加-
- java组合模式
- 归一化(Normalization)与标准化(Standardization)
- 自动化部署流程设计
- 安装ipython,输出Hello World
- LeetCode之路:551. Student Attendance Record I
- MySQL数据库规范
- C#实现软件注册
- Qt在ubuntu下的安装及配置
- 唤醒APP
- SRS流媒体服务器压测RTMP&HLS