歸一化的主要公式

1.將數據歸一到[0,1]:

深度學習數據歸一化 負值_#深度學習

其中深度學習數據歸一化 負值_深度學習數據歸一化 負值_02深度學習數據歸一化 負值_#神經網絡_03分別是數據的最大值和最小值。

2.將數據歸一化到[-1,1]:

深度學習數據歸一化 負值_#深度學習_04

其中深度學習數據歸一化 負值_#神經網絡_05是數據的均值。

3.將數據歸一化到均值為0,標準差為1的標準正態分佈上:

深度學習數據歸一化 負值_#神經網絡_06

其中深度學習數據歸一化 負值_#數據歸一化_07深度學習數據歸一化 負值_#機器學習_08分別是數據的均值和標準差。

4.將數據歸一化到[a,b]:

計算係數:
深度學習數據歸一化 負值_#數據歸一化_09

數據歸一化:

深度學習數據歸一化 負值_#神經網絡_10

或者

深度學習數據歸一化 負值_#深度學習_11

歸一化的作用

  1. 消除數據之間的量綱的影響,是數據的分佈一致。(尤其是神經網絡一直在算概率)
  2. 使數據集的更新速度變得更為一致,容易更快地通過梯度下降找到最優解(加速收斂速度)。如下圖所示。
  3. 消除異常樣本的影響,異常樣本會增加網絡學習難度,可能導致訓練不收斂。
  4. 保證輸出特徵中數值小的特徵也可以被充分學習。
  5. 避免梯度消失,比如使用Sigmoid激活函數時,數值小於0和大於1時會導致梯度幾乎為0。

深度學習數據歸一化 負值_#數據歸一化_12

歸一化應用場景

需要用到梯度下降法求解的模型通常需要歸一化,如線性迴歸,羅輯迴歸,支持向量機和神經網絡等模型。

但是對於決策樹則並不適用,以C4.5為例,決策樹在進行節點分裂時主要依據數據集D關於特徵x的信息增益比,而信息增益比跟特徵是否經過歸一化是無關的,因為歸一化並不會改變樣本在特徵x上的信息增益。

不進行歸一化的後果

假設 深度學習數據歸一化 負值_#數據歸一化_13 的範圍在 深度學習數據歸一化 負值_#神經網絡_14,而 深度學習數據歸一化 負值_#數據歸一化_15 的範圍在 深度學習數據歸一化 負值_深度學習數據歸一化 負值_16,梯度每次都前進 1 單位,那麼在 深度學習數據歸一化 負值_#數據歸一化_13 方向上每次相當於前進了 深度學習數據歸一化 負值_#機器學習_18,而在 深度學習數據歸一化 負值_#數據歸一化_15 上只相當於 深度學習數據歸一化 負值_#神經網絡_20!某種意義上來説,在 深度學習數據歸一化 負值_#數據歸一化_15 上前進的步長更小一些,而 深度學習數據歸一化 負值_#數據歸一化_13 在搜索過程中會比 深度學習數據歸一化 負值_#數據歸一化_15

這樣會導致,在搜索過程中更偏向於 深度學習數據歸一化 負值_#數據歸一化_13

深度學習數據歸一化 負值_深度學習數據歸一化 負值_25