深度學習_深度學習基礎知識_數據歸一化

歸一化的主要公式

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

x=xmin(x)max(x)min(x)x^{\prime} =\frac{x - min(x)}{max(x)-min(x)}

其中max(x)max(x)min(x)min(x)分別是數據的最大值和最小值。

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

x=xmean(x)max(x)min(x)x^{\prime}=\frac{x-mean(x)}{max(x)-min(x)}

其中mean(x)mean(x)是數據的均值。

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

x=xμσx^{\prime}= \frac{x-\mu}{\sigma}

其中μ\muσ\sigma分別是數據的均值和標準差。

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

計算係數:
k=bamax(x)min(x)k=\frac{b-a}{max(x)-min(x)}

數據歸一化:

x=a+k×(xmin(x))x^{\prime}=a+k\times(x-min(x))

或者

x=b+k×(xmax(x))x^{\prime}=b+k\times(x-max(x))

歸一化的作用

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

在這裏插入圖片描述

歸一化應用場景

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

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

不進行歸一化的後果

假設 w1w1 的範圍在 [10,10][-10, 10],而 w2w2 的範圍在 [100,100][-100, 100],梯度每次都前進 1 單位,那麼在 w1w1 方向上每次相當於前進了 1/201/20,而在 w2w2 上只相當於 1/2001/200!某種意義上來說,在 w2w2 上前進的步長更小一些,而 w1w1 在搜索過程中會比 w2w2 “走”得更快。

​ 這樣會導致,在搜索過程中更偏向於 w1w1 的方向。走出了“L”形狀,或者成爲“之”字形。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章