中心化、标准化、归一化?

中心化、标准化、归一化

image

图.左边是原始数据的分布情况、中间是经过中心化的分布情况、右边是经过标准化后的情况。图片来自知乎

说明:本文纯属胡说,没有加入严谨的数学推导,如有问题还请查看专业的书籍和博客文章

1. 中心化

Zero-centered或者Mean-subtraction

  • 说明

中心化,就是把数据整体移动到以0为中心点的位置

把数据当做整体,将数据的中心点移动到以0的位置
       ^                     ^
       |                     |
       | *   *               |
       |   *                 |
       | *   *             * | *
-------+------->  =>  -------*-------
       |                   * | *
       |                     |
       |                     |
  • 具体计算

将数据减去这个数据集的平均值。

  • 示例

例如有一系列的数值

1,3,5,7,9

计算平均值为(1 + 3 + 5 + 7 + 9 )/ 5 = 5

1-5 = -4
3-5 = 2
5-5 = 0
7-5 = 2
9-5 = 4

数据变为

-4,2,0,2,4

2. 标准化

Standardization

  • 说明

把整体的数据的中心移动到0,数据再除以一个数。

  • 具体计算

在数据中心化之后,数据再除以数据集的标准差(即数据集中的各项数据减去数据集的均值再除以数据集的标准差)

x' = (x - mean) ) / σ

再拿上面的数值举例

原始数据为

1,3,5,7,9

经过计算得到数据的标准差约为σ = 2.8

(1 - 5)/2.8 = -1.42
(3 - 5)/2.8 = -0.71
(5 - 5)/2.8 = 0
(7 - 5)/2.8 = 0.71
(9 - 5)/2.8 = 1.42

标准化之后的结果为

-1.42,-0.71,0,0.71,1.42

3. 归一化

Normalization

  • 说明

把数据的最小值移动到0,在除以数据集的最大值。

  • 具体计算

官方版

首先找到这个数据集的最大值max以及最小值min,然后将max-min,得到两个的差值R,也就是叫做极差,然后对这个数据集的每一个数减去min,然后除以R

x' = (x - X_min) / (X_max - X_min)

民间版

这里你要是不记得中心化的话,先看一下中心化。然后开始,首先我们把数据仍然当做整体,然后把最小的点移动到0这个位置,然后回过头看计算公式是不是变了。由于min变成了0,那么计算的公式就是x / max',这里的max'是经过移动之后的数值。

把数据当做整体,然后把最小的点移动到0这个位置
       ^                     ^
       |                     |
       | *   *               |
       |   *                 *   *
       | *   *               | *
-------+------->  =>  -------*---*---
       |                     |  
       |                     |
       |                     |
  • 示例

还是拿上面的例子举例

首先用官方版的方式计算一下

原始数据

1,3,5,7,9

最大值9,最小值1,极差9-1 = 8

接下来计算归一化后的数值

(1 - 1) / 8 = 0
(3 - 1) / 8 = 0.25
(5 - 1) / 8 = 0.5
(7 - 1) / 8 = 0.75
(9 - 1) / 8 = 1

然后用民间版的方式计算一下

原始数据

1,3,5,7,9

按照整体把最小值移动到0,得到

0,2,4,6,8

然后除以最大值

0 / 8 = 0
2 / 8 = 0.25
4 / 8 = 0.5
6 / 8 = 0.75
8 / 8 = 1

可以看到,其实这个归一化还是那种计算小的占最大的比例。那么问题来了,那为什么不这样算呢?就是说不移动整体,直接把每一个数占据最大数的比例求出来不就行了吗?

也就是这样:

1 / 9 = 0.11
3 / 9 = 0.33
5 / 9 = 0.55
7 / 9 = 0.77
9 / 9 = 1

额,说实话,这里我觉得没什么不妥当,同样也是将数据收缩在0~1的范围内,但是我换了个数据好像就...

再拿一个数据

5,6,7,8,9

按照上面的计算,这里暂时简称为“简单除法法”

5 / 9 = 0.55
6 / 9 = 0.66
7 / 9 = 0.77
8 / 9 = 0.88
9 / 9 = 1

而使用归一化进行计算是这样的:

(5 - 5) / 4 = 0
(6 - 5) / 4 = 0.25
(7 - 5) / 4 = 0.5
(8 - 5) / 4 = 0.75
(9 - 5) / 4 = 1

可以看到使用“简单除法法”进行计算得到的位于0~1范围内的数值没有经过归一化后的数据“拉得开”,好像腻乎在一块一样;同样是相对于某一数值的比例,使用归一化就不仅能将数据在收缩在0~1范围内,而且还让数据在这个范围内展开。这里不是太好想象为什么是这样?这样,我们打开photoshop,你没有看错,打开它

PS图标.PNG

然后文件->新建->确定->新建一个图层,好,新建了一个,然后我们画一个方块,矩形工具->按住shift拖动->得到一个方块,然后按住alt对着方块拖动鼠标,直到拖出三个,然后按照下图所示的方式排列。

三个方块.PNG

之后按住ctrl加选图层,把这三个方块的对应的图层都选中,右键->合并形状。然后把三个方块拖到画布的右上角

三个方块右上角.PNG

ctrl + t,可一看到在中心有一个点,这个点是变形时候的参考点,我们把点移动到最下面这个方块的左下角。然后把鼠标移动到缩放框的右上角按住shift+alt进行拖动,感受一下拖动的感觉;然后这个时候把大小还原,将那个中心点移动到这个画布的左下角,然后再次把鼠标移动到缩放框的右上角按住shift+alt进行拖动,感受一下拖动的感觉 。

三个方块变形.PNG

中心化、归一化、标准化的作用怎么理解呢?

中心化上面的过程我们看到了,相当于把数据位移了一下。在说这个之前,我们来玩一下找不同,百度搜一下找不同,我随便找了一张,我还记得这是朵拉,哈哈,你能快速找到不同吗?

朵拉.PNG

这里有没有骚一点的操作呢?还记得上面的家伙吧你应该还没有关吧,进入photoshop。然后,现在你手上有ps,你怎么快速找不同呢?

我用photoshop把连在一起的两张图裁剪开,分别放到两个图层中。得到下面的图。

找不同并排.PNG

然后将两张图片叠在一起,就像这样,然后来回调整最上面一个图层的不透明度或者关闭打开最上面图层的眼睛,可以看到明显变化的位置就是不同啦!你可以试一下啊!

叠在一起.PNG

归一化、标准化可以说都是线性的,在知乎 - 微调 的回答中,他通过公式的转变最后认为归一化、标准化很相似,都是x + b / c这样一种形式,具体的可以看参考中的知乎链接。对应到这篇文章中就可以这样做,你可以把那三个方块的中心点放到中心然后拖动缩放框进行缩放就是标准化啦。在说归一化、标准化的作用之前,首先来看一句话

一滴水里观沧海,一粒沙里看世界

看这句话我就想起了我们和宇宙的“体型”的极大悬殊,宇宙浩瀚无垠,极其庞大;沙粒,微乎其微,极其渺小。另外除了上面这句话之外,还有“一花一世界,一叶一菩提”也比较常听到,这种“以小见大”的境界其实有一种理论模型的说法,我记得在一些初高中的化学或者物理课本上都画有原子图,中心一个原子核,然后又三个电子围绕着中心旋转,我相信很多人脑子里只要有过太阳系和这幅原子图的映像后会将它们联系起来。

原子.PNG

原子的半径为10^(-10) m,太阳系的半径为6*10^(12)m,它们的“体型”的差别用“天壤之别”似乎也不够,但是这种内部的“运转”形式又是如此的相似,难道说我们这个世界存在着一种特殊的规律?其实之前就有人提出过一个观念,叫做分形宇宙(Fractal Universe)

太阳系.jpg

分形宇宙论,是物理宇宙学中的一个小众理论,算是一种非主流学说。这一理论认为,宇宙中的物质分布和宇宙结构本身在各个尺度上具有分形结构。在17世纪,著名的哲学家、数学家莱布尼茨就提出了单子论思想, 认为一种宇宙由无数个单子构成,每一个单子里面有一个完整的宇宙。 这个思想就有分形宇宙论的萌芽。

随着科学的发展,人们发现,宇宙在不同的尺度上,确实有着惊人的重复性结构。比如,把原子放大到10的17次方倍,它表现出来的性质就和一颗白矮星差不多。如果放大到10的30次方倍,它的各种力学和结构常数就非常接近于我们观测的银河系。更有甚者,把我们生活的环境或者世界比喻为一个“细胞”,而这个细胞在不断变大,细思极恐...

这个是混沌动力学里面研究的一个饶有兴趣的课题,它给我们展现了复杂的结构如何在不同层面上一再重复。所谓的分形宇宙也只是一家之言罢了。

读到这里,你的脑海中是不是已经浮现出了一个“小宇宙”、“大原子”呢?你的脑子是不是进行了一次归一化或者说标准化的过程呢?

更新

最近回过头来看看之前写的,没有特别说明其中归一化与标准化的中的差别。另外也发现标准化与归一化的形式还不单单只是一种。

英文名 中文 公式
Rescaling 缩放
Rescaling.PNG
Mean normalisation 平均值归一化
Mean_normalisation.PNG
Standardization 标准化
Standardization.PNG
Scaling to unit length 缩放到单位长度
Scaling_to_unit_length.PNG

说明:公式截取自机器学习中的特征缩放(feature scaling)浅谈

可以看到最前面两种(Rescaling 和 Mean normalisation)与前面说到的归一化是相似的,我觉这里这两个可以归为一类。

它们的分母是是一样的,都是max(X) - min(X),也就是说它们以自己内部的最大的差距最为分母,但是分子不一样,分别是x - min(X)x - mean(X),这是个什么意思呢?

这里的x - mean(X)就是之前说到的中心化

                    中心化
x - min(X)       x - mean(X)   -----> 求距离
   \                 /
      \           /  除以  ------> 进行缩放
         \     /
      max(X) - min(X)  ------> 得到缩放尺度

因为分母相同,这里先暂时不管分母。

假如有六个点,在每条路上都一条标杆,这里我们来计算一下每一个距离标杆的长度

x - min(X)计算距离

| A - A
|------|  B - A
|-------------|  C - A
|---------------------|  D - A
|----------------------------|  E - A
|-----------------------------------|  F - A
=====================================
A      B      C       D      E      F
^
|
作为标杆的地方

x - mean(X)计算距离

|-----------------|  A - mean
       |----------|  B - mean
              |---|  C - mean
        C - mean  |---|
        E - mean  |----------|
        F - mean  |-----------------|
                  v
=====================================
A      B      C       D      E      F
                  |
                 mean
                  ^
                  | 
                  作为标杆的地方

通过图来看,x - min(X)中的min(X)x - mean(X)中的mean(X)是两幅图中各自的标杆,如果移动这条标杆的位置就可以互相转换。所以这两个是相似的。但是我们可以看到,第一种得到的数值均为正数,但是第二种是有正负值的,分布于均值两侧。

那么第三种呢?这个对应到上面我们说到的标准化的东西。但是与上面归一化有什么差别呢?

我们拿第二种(Mean normalisation)与第三种(Standardization )进行对比会比较好理解,这两个的分子都是相同的,但是分母不同,前者是max(X) - min(X)(也就是极差),后者是std(X)(也就是标准差),我们看看这两者的计算方式的特点

公式 涉及到的数值 受奇异值的影响
max(X) - min(X) 最大值与最小值
std(X) 所有数值

如果说数据存在特别大的或者特别小的数据的时候,归一化可能会导致数据黏糊在一起的情况(因为归一化的分母始终是数据中距离最大的点的距离),但是标准化(不仅仅会考虑单个极其特别的点,其他的点都会考虑,得到)出现这种情况会好一些(特别是数据量较大的情况下可能会抹除奇异值的影响)。

另外,归一化求得的数值最后会在[-1, 1]之间,而标准化不一定,有可能会大于1或者小于-1

参考

中间如果有错误,望能告知。

如需转载,请注明来源https://www.jianshu.com/p/e41fc6aa5268

版权声明:本文采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容