中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python常見的歸一化方法有什么作用

發布時間:2023-04-08 10:38:37 來源:億速云 閱讀:132 作者:iii 欄目:開發技術

這篇“Python常見的歸一化方法有什么作用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python常見的歸一化方法有什么作用”文章吧。

數據歸一化是深度學習數據預處理中非常關鍵的步驟,可以起到統一量綱,防止小數據被吞噬的作用。

一:歸一化的概念

歸一化就是把所有數據都轉化成[0,1]或者[-1,1]之間的數,其目的是為了取消各維數據之間的數量級差別,避免因為輸入輸出數據數量級差別大而造成網絡預測誤差過大。

二:歸一化的作用

  1. 為了后面數據處理的方便,歸一化可以避免一些不必要的數值問題。

  2. 為了程序運行時收斂速度更快

  3. 統一量綱。樣本數據的評價標準不一樣,需要對其量綱化,統一評價標準,這算是應用層面的需求。

  4. 避免神經元飽和。就是說當神經元的激活在接近0或者1時,在這些區域,梯度幾乎為0,這樣在反向傳播過程中,局部梯度就會接近于0,這樣非常不利于網絡的訓練。

  5. 保證輸出數據中數值小的不被吞食。

三:歸一化的類型

1:線性歸一化

線性歸一化也被稱為最小-最大規范化;離散標準化,是對原始數據的線性變換,將數據值映射到[0,1]之間。用公式表示為:

Python常見的歸一化方法有什么作用

差標準化保留了原來數據中存在的關系,是消除量綱和數據取值范圍影響的最簡單的方法。代碼實現如下:

def MaxMinNormalization(x,Max,Min):
    x = (x - Min) / (Max - Min);
    return x

適用范圍:比較適用在數值比較集中的情況

缺點:

  1. 如果max和min不穩定,很容易使得歸一化的結果不穩定,使得后續使用效果也不穩定。如果遇到超過目前屬性[min,max]取值范圍的時候,會引起系統報錯。需要重新確定min和max。

  2. 如果數值集中的某個數值很大,則規范化后各值接近于0,并且將會相差不大。(如 1,1.2,1.3,1.4,1.5,1.6,10)這組數據。

2:零-均值歸一化(Z-score標準化)

Z-score標準化也被稱為標準差標準化,經過處理的數據的均值為0,標準差為1。其轉化公式為:

Python常見的歸一化方法有什么作用

其中Python常見的歸一化方法有什么作用為原始數據的均值,Python常見的歸一化方法有什么作用為原始數據的標準差,是當前用的最多的標準化公式

這種方法給予原始數據的均值(mean)和標準差(standard deviation)進行數據的標準化。經過處理的數據符合標準正態分布,即均值為0,標準差為1,這里的關鍵在于復合標準正態分布

代碼實現如下:

def Z_ScoreNormalization(x,mu,sigma):
    x = (x - mu) / sigma;
    return x

3:小數定標規范化

這種方法通過移動屬性值的小數數位,將屬性值映射到[-1,1]之間,移動的小數位數取決于屬性值絕對值的最大值。轉換公式為:

Python常見的歸一化方法有什么作用

4:非線性歸一化 

這個方法包括log,指數,正切

適用范圍:經常用在數據分析比較大的場景,有些數值很大,有些很小,將原始值進行映射。

四:批歸一化(BatchNormalization)

1:引入

在以往的神經網絡訓練時,僅僅只對輸入層數據進行歸一化處理,卻沒有在中間層進行歸一化處理。雖然我們對輸入數據進行了歸一化處理,但是輸入數據經過了Python常見的歸一化方法有什么作用這樣的矩陣乘法之后,其數據分布很可能發生很大改變,并且隨著網絡的層數不斷加深。數據分布的變化將越來越大。因此這種在神經網絡中間層進行的歸一化處理,使得訓練效果更好的方法就被稱為批歸一化(BN)

2:BN算法的優點

  1. 減少了人為選擇參數

  2. 減少了對學習率的要求,我們可以使用初始狀態下很大的學習率或者當使用較小的學習率時,算法也能夠快速訓練收斂。

  3. 破換了原來的數據分布,一定程度上緩解了過擬合(防止每批訓練中某一個樣本經常被挑選到)

  4. 減少梯度消失,加快收斂速度,提高訓練精度。

3:批歸一化(BN)算法流程

輸入:上一層輸出結果X={x1,x2,.....xm},學習參數Python常見的歸一化方法有什么作用Python常見的歸一化方法有什么作用

算法流程:

1)計算上一層輸出數據的均值:

Python常見的歸一化方法有什么作用

其中,m是此次訓練樣本batch的大小。

2)計算上一層輸出數據的標準差:

Python常見的歸一化方法有什么作用

3)歸一化處理得到

Python常見的歸一化方法有什么作用

公式中的Python常見的歸一化方法有什么作用是為了避免分母為0而加進去接近于0的很小的值。

4)重構,對經過上面歸一化處理得到的數據進行重構,得到:

Python常見的歸一化方法有什么作用

其中Python常見的歸一化方法有什么作用Python常見的歸一化方法有什么作用為可學習的參數。

以上就是關于“Python常見的歸一化方法有什么作用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

雷州市| 昌江| 襄汾县| 南涧| 昌宁县| 赫章县| 醴陵市| 宝丰县| 甘南县| 澄城县| 包头市| 河西区| 筠连县| 沾益县| 长子县| 平定县| 丹江口市| 库尔勒市| 大城县| 荥阳市| 洱源县| 江口县| 遂宁市| 砚山县| 上思县| 台前县| 永安市| 云和县| 托克逊县| 潮安县| 达州市| 九江县| 阿城市| 酉阳| 凤凰县| 乌兰浩特市| 康平县| 高州市| 和平区| 杨浦区| 乐山市|