欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談Python幾種常見的歸一化方法

 更新時間:2023年04月08日 09:08:09   作者:不想敲代碼的小楊  
這篇文章主要介紹了幾種常見的歸一化方法,數(shù)據(jù)歸一化是深度學習數(shù)據(jù)預處理中非常關鍵的步驟,可以起到統(tǒng)一量綱,防止小數(shù)據(jù)被吞噬的作用,需要的朋友可以參考下

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

一:歸一化的概念

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

二:歸一化的作用

  1. 為了后面數(shù)據(jù)處理的方便,歸一化可以避免一些不必要的數(shù)值問題。
  2. 為了程序運行時收斂速度更快
  3. 統(tǒng)一量綱。樣本數(shù)據(jù)的評價標準不一樣,需要對其量綱化,統(tǒng)一評價標準,這算是應用層面的需求。
  4. 避免神經(jīng)元飽和。就是說當神經(jīng)元的激活在接近0或者1時,在這些區(qū)域,梯度幾乎為0,這樣在反向傳播過程中,局部梯度就會接近于0,這樣非常不利于網(wǎng)絡的訓練。
  5. 保證輸出數(shù)據(jù)中數(shù)值小的不被吞食。

三:歸一化的類型

1:線性歸一化

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

{x}'=\frac{x-min(x)}{max(x)-min(x)}

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

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

適用范圍:比較適用在數(shù)值比較集中的情況

缺點:

  1. 如果max和min不穩(wěn)定,很容易使得歸一化的結果不穩(wěn)定,使得后續(xù)使用效果也不穩(wěn)定。如果遇到超過目前屬性[min,max]取值范圍的時候,會引起系統(tǒng)報錯。需要重新確定min和max。
  2. 如果數(shù)值集中的某個數(shù)值很大,則規(guī)范化后各值接近于0,并且將會相差不大。(如 1,1.2,1.3,1.4,1.5,1.6,10)這組數(shù)據(jù)。

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

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

{x}'=\frac{x-\mu }{\delta }

其中\mu為原始數(shù)據(jù)的均值,\delta為原始數(shù)據(jù)的標準差,是當前用的最多的標準化公式

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

代碼實現(xiàn)如下:

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

3:小數(shù)定標規(guī)范化

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

{x}'=\frac{x}{10^{k}}

4:非線性歸一化 

這個方法包括log,指數(shù),正切

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

四:批歸一化(BatchNormalization)

1:引入

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

2:BN算法的優(yōu)點

  1. 減少了人為選擇參數(shù)
  2. 減少了對學習率的要求,我們可以使用初始狀態(tài)下很大的學習率或者當使用較小的學習率時,算法也能夠快速訓練收斂。
  3. 破換了原來的數(shù)據(jù)分布,一定程度上緩解了過擬合(防止每批訓練中某一個樣本經(jīng)常被挑選到)
  4. 減少梯度消失,加快收斂速度,提高訓練精度。

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

輸入:上一層輸出結果X={x1,x2,.....xm},學習參數(shù)\gamma,\beta

算法流程:

1)計算上一層輸出數(shù)據(jù)的均值:

\mu _{\beta }=\frac{1}{m}\sum_{i=1}^{m}x_{i}

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

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

\delta _{\beta }^{2}=\frac{1}{m}\sum_{i=1}^{m}(x_{i}-\mu _{\beta })^{2}

3)歸一化處理得到

\widehat{x_{i}}=\frac{x_{i}+\mu _{\beta }}{\sqrt{\delta _{\beta }^{2}}+\varepsilon }

公式中的\varepsilon是為了避免分母為0而加進去接近于0的很小的值。

4)重構,對經(jīng)過上面歸一化處理得到的數(shù)據(jù)進行重構,得到:

y_{i}=\gamma \widehat{x_{i}}+\beta

其中\gamma,\beta為可學習的參數(shù)。

到此這篇關于淺談一下幾種常見的歸一化方法的文章就介紹到這了,更多相關常見的歸一化方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 解決paramiko執(zhí)行命令超時的問題

    解決paramiko執(zhí)行命令超時的問題

    這篇文章主要介紹了解決paramiko執(zhí)行命令超時的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 自學python用什么系統(tǒng)好

    自學python用什么系統(tǒng)好

    在本篇文章里小編給大家整理了一篇關于學python用什么系統(tǒng)好的相關文章,有興趣的朋友們可以學習下。
    2020-06-06
  • python設計tcp數(shù)據(jù)包協(xié)議類的例子

    python設計tcp數(shù)據(jù)包協(xié)議類的例子

    今天小編就為大家分享一篇python設計tcp數(shù)據(jù)包協(xié)議類的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 對Python 除法負數(shù)取商的取整方式詳解

    對Python 除法負數(shù)取商的取整方式詳解

    今天小編就為大家分享一篇對Python 除法負數(shù)取商的取整方式詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Gradio構建交互式Python應用使用示例詳解

    Gradio構建交互式Python應用使用示例詳解

    這篇文章主要為大家介紹了Gradio構建交互式Python應用使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 詳解Python中類方法@classmethod的應用技巧

    詳解Python中類方法@classmethod的應用技巧

    在Python中,類方法(class method)是一種特殊的方法,可以在不創(chuàng)建類的實例的情況下調(diào)用,本文將詳細介紹類方法的概念、用法以及在實際開發(fā)中的應用場景,希望對大家有所幫助
    2024-03-03
  • python?中的?return?解析

    python?中的?return?解析

    這篇文章主要介紹了python?中的?return?解析,return?語句用于退出函數(shù),向調(diào)用方返回一個表達式。執(zhí)行到?return?語句時,會退出函數(shù),return?之后的語句不再執(zhí),下文下邊就利用舉例給大家講解該內(nèi)容得相關資料,需要的小伙伴可以參考一下
    2022-02-02
  • python使用篩選法計算小于給定數(shù)字的所有素數(shù)

    python使用篩選法計算小于給定數(shù)字的所有素數(shù)

    這篇文章主要為大家詳細介紹了python使用篩選法計算小于給定數(shù)字的所有素數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 5行Python代碼實現(xiàn)圖像分割的步驟詳解

    5行Python代碼實現(xiàn)圖像分割的步驟詳解

    這篇文章主要介紹了5行Python代碼實現(xiàn)圖像分割的步驟詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • Python解析JSON數(shù)據(jù)的基本方法實例代碼

    Python解析JSON數(shù)據(jù)的基本方法實例代碼

    JSON (JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,下面這篇文章主要給大家介紹了關于Python解析JSON數(shù)據(jù)的基本方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01

最新評論