第1章 多維資料輸入時遇到的困境(為什麼要標準化、規範化資料集)
1.1 多維輸入的困境
在現實生活中,一個目標變數(Yi)可以認為是由多維特徵變數(x)影響和控制的。如上圖左圖中的X1_i,X2_i,X3_i ,其中i = 0,1,2,3......
這些特徵變數的量綱和數值的量級就會不一樣,比如x1_i = 10000,x2_i = 10,x3_i = -0.5.
可以很明顯的看出特徵x1和x2、x3存在量綱的差距;但不表明,X1_i對神經網路輸出的影響是X2_i對神經網路輸出的影響是10000/10 = 1000倍,只表明X1_i在數值上比較大而已,X1_i的波動幅度才是對神經網路的影響程度。同理X2_i和X3_i的絕對值也不表明其影響小,其波動幅度,反應X2_i的樣本對神經網路的影響程度。
比如,反應一個人健康的因素有很多種,如體重、身高、血壓、血脂等。
(1)體重:如果量綱是斤,其數值如120斤,如果量綱是克,其數值為120 * 1000 克。
(2)升高:如果量綱是米,其數值如 1.7米,如果量綱是釐米,其數值為1.7 * 100 = 170釐米
(3)血壓:如120.
(4)血脂含量如:0.2
如果,是單一因素,作為神經網路的引數,其採用什麼量綱並不重要,只要大家都遵循相同的量綱標準就可以了,如體重,不同人的體重比較,可以以米為單位進行比較,也可以釐米為單位進行比較,只要所有人的單位一直就可以。
體重血脂含量的大小的數值比較沒有意義。
1.2 絕對值大小的負面影響
上述因素都反應健康狀態,如果把這些因素作為神經網路的輸入,就帶來一個問題,對於神經網路而言,體重和血壓是同等對待的,然後體重的數值比血脂含量要大很多很多;如果不對數值進行處理,就導致血脂含量較小的絕對數值的影響被體重的數值被覆蓋。這很顯然是不合理的。
如何有效的處理這個問題呢?如何有效的處理這些不同量綱的資料呢?
標準化是應對上述問題一種有效的方法!!!
1.3 RGB影象也有同樣的困境嗎?
雖然,影象的每個通道的每個畫素值,都被限定在0-255之間,按理說,每張圖片的每個畫素的量綱是相同的,不存在上述問題,但實際也有問題。比如,同一物體,不同的背景光線的情況下,拍出來的照片的亮度是不一樣的,所有畫素點的數值的基準實際上相差很大,然而,他們是相同的物體,不能因為他們的背景的光線的基準不同,就把他們作為差別較大的物件來處理。
如何處理這個問題呢?
1.4 應對上述問題的思路
(1)不同量綱的原始資料
(2)折算到相同的空間
應對上述問題,一種有效的方式,就是使得不同量綱的資料,進行標準化,不管其數值大小基準是多少,我們都把他們壓縮到相同的數值空間中;避免不同量綱數值在有較大的差異。
有點像考試,不管原始的總分是多少,70也好,150分也好,把所有科目的分數都折算成100制,這樣不同科目就有一定的可比性。
(3)折算到相同均值空間
不同科目的難度程度可能不同,因此,折算成百分制後,不同科目其實還沒有可比性。為此,還需要按照各科目的平均成績在進行一次折算,比如物理比較難,均分才60分,化學比較簡單,均分在90分,經過均值折算後,他們都折算成一個新的數值。這樣化學的分數與物理的分數就有了可比性。
上述兩種方法的思路,就是標準化、規範化的基本思想。
第2章 什麼是規範化與標準化?
2.1 規範化、標準化的概述
(1)規範化:Normalization
Normalization的中文翻譯一般叫做“規範化”,是一種對數值的特殊函式變換方法,也就是說假設原始的某個數值是x,套上一個起到規範化作用的函式,對規範化之前的數值x進行轉換,形成一個規範化後的數值。
規範化,完成了不同維度資料的規範和統一,但並沒有對如何規範作出規定。就拿考試來講,是規範到100制度,還是規範到150制上,並不要求,只要所有的輸入都規範到相同的空間就行了。
Normalization雖然解決了自身的輸入資料不同維度的規範化,但他沒有解決如何規範的問題。
(2)標準化:Standardization
Standardization在Normalization的基礎之上,對輸入資料進行了進一步的明確和規定,比如對考試而言,不僅僅明確規定要規範到100分制,還要不同科目的不同難易程度進行規範化,採用標準化正態分佈的方式,進行不同難度的規範化。
(3)規範化和標準化
在實際實現是,有時候並不區分規範化:Normalization和標準化:Standardization,他們最終的行為都是標準化。
2.2 標準化的本質
(1)標準化的本質是數值空間的重新對映
(2)標準化的對映的標準化是正態分佈
第3 章 正態分佈
3.1 什麼是正態分佈(normal distribution)
標準正態分佈包含了1個關鍵詞:normal
正態分佈(Normal distribution)又名高斯分佈(Gaussian distribution),是一個在數學、物理及project等領域都很重要的機率分佈,在統計學的很多方面有著重大的影響力。
正態分佈的期望值μ決定了其分佈的中心點的位置,其標準差σ決定了分佈的幅度,扁平程度或資料的發散程度。
正態分佈像一隻倒扣的鐘。兩頭低,中間高,左右對稱。
大部分資料集中在平均值,小部分在兩端。
因其曲線呈鐘形,因此人們又常常稱之為鐘形曲線,如下圖所示:
3.2 什麼是算術平均值(加法運算)
(1)算術平均值
算術平均數,又稱均值,是統計學中最基本、最常用的一種平均指標。分為簡單算術平均數、加權算術平均數。
根據表現形式的不同,算術平均數有不同的計算形勢和計算公式。其中,算術平均數是加權平均數的一種特殊形式(它特殊在各項的權相等),當實際問題中,當各項權不相等時,計算平均數時就要採用加權平均數,當各項權相等時,計算平均數就要採用算數平均數。
(2)簡單算術平均值
(3)加權平均值
(4)算術均值的形態分類
3.3 與幾何平均的區別(乘法運算)
備註:方差用到的是算術平均!
3.4 什麼是方差
這裡用到的是統計描述中方差定義。 它是衡量取值分散程度或波動程度的一個尺度。
方差越小,數值越集中。
方差越大,數值越發散。
3.5 什麼是標準差
標準差:是方差的開根號。
1個標準差,表示距離平均值1個標準差的位置,
2個標準差,表示距離平均值2個標準差的位置,
3個標準差,表示距離平均值3個標準差的位置。
3.6 正態分佈例項
實際上人的身高和血壓就是符合正態分佈的。
(1)人群身高分佈
(2)人群舒張壓分佈
上圖中,均值u=77.03,標準化差為6.955, 最大值為N=100
(3)收入水平
你去公司上班打工的商業模式,也是符合正態分佈的。
大部分打工仔是處於中間平均位置的,既不能大富大貴,也不會窮到淪落街頭。
3.6 什麼是標準正態分佈(standard normal distribution)
標準正態分佈保護了兩個關鍵詞:standard normal
standard:標準化
normal:正態化、規範化、常規化
標準正態分佈又稱為u分佈,是以u=0為均數、以1為標準差的正態分佈,記為N(0,1)。
備註:
標準正態分佈的數值,並不是表示所有的數值都分佈在【0,1】之間。
上面的0表示均值,1表示標準差。實際的數值分佈:
- 包括正數和負數
- 68.2%的數值分佈在[-1, +1]之間。
- 13.6%的數值分佈在[-2, -1]之間,13.6%的數值分佈在[+1, +2]之間
- 其他......
第4章 標準化與歸一化的區別
4.1 什麼是歸一化
歸一化是一種無量綱處理手段,使物理系統數值的絕對值變成某種相對值關係。
簡化計算,縮小量值的有效辦法。
歸一化方法有兩種形式:
(1)一種是把數變為(0,1)之間的小數,
(2)一種是把有量綱表示式變為無量綱表示式。
主要是為了資料處理方便提出來的,把資料對映到0~1範圍之內處理,更加便捷快速,應該歸到數字訊號處理範疇之內。
4.2 歸一化的兩種分類
(1)絕對值最大歸一化
用一組資料中的絕對值最大值作為基數,其他數值與該基數相除得到的數值,就是絕對值最大歸一化。
這種歸一化的結果是:
- 所有的資料變限制在[-1, +1]之間
- 所有值的累計和不為0.
(2)累計和歸一化
用一組資料中的累計和作為基數,其他數值與該基數相除得到的數值,就是累計和歸一化。
這種歸一化的的結果是:
- 所有的資料變限制在[-1, +1]之間
- 所有值的累計和為0
(3)最大值值減去最小值的歸一化:
這種方法,使用一組資料中的最大值-最小值作為基數(最大相對距離),用實際值-最小值作相對值(樣本的相對距離),即xi-min(xi)/(max(xi)-min(xi))
這種歸一化的的結果是:
- 所有的資料變限制在[0, +1]之間
- 所有值的累計和為0
這是最常用的歸一化的方法。
4.3 標準化與歸一化的區別
(1)相同點
對原始的資料進行了縮小對映。
(2)不同點
- 歸一化後的資料,全部都被限制在[0,1] 之間。
- 標準化後的資料,大部分(68.2%)資料被限制[-1,+1] 之間,其他資料超出[-1,+1]區間,甚至還有非常大的資料。
- 歸一化不需要指定引數,只使用樣本資料即可;標準化需要指定標準化化的均值和方差值,相同的輸入資料,不同的均值和方差值設定,標準化後的資料是不相同的。
4.4 任何資料集都可以歸一化嗎?
是的,任何資料集,都可以透過歸一化的方法,進行對映,對映後的資料,全部被限制在【0,1】之間。
4.5 任何資料集都可以標準化嗎?
是的,任何一個數據集,都可以透過標準化的方式,進行對映,對映後的資料,符合標準化正態分佈的形態。
實際上,每一張圖片的畫素點的數值,就是一個數據集。不同的圖片,就是不同的資料集。每個章圖片,都可以透過標準化化的方式進行圖片畫素點的轉換,轉換成符合正態分佈。
第5章 標準化帶來的好處
(1)避免大數“吃”小數的情形
不同量綱的資料之間,他們是對等的,不會出現,因為量綱的不同,導致大量綱的資料把小量綱的資料“吃”掉的情形。
(2)提升了模型的泛化能力
不同原始資料的形態千差萬別,經過標準化後,對深度學習的模型就是對等的,模型的訓練,如果基於標準化後的資料進行訓練,就可以泛化到任意形態的輸入資料上。
(3)提升模型的訓練速度
經過標準化後,輸入資料符合正態分佈,這就意味著,引數的引數也是符合正態分佈,如果初始化的時候,就按照正態分佈的方式初始化模型的引數,而不是以全0或隨機的方式初始化資料,模型訓練的收斂速度就非常快。
(4)降低了模型不收斂,陷入區域性收斂的困境
因為模型初始化引數,是按照正態分佈初始化,初始化的引數的分佈與理想情形的分佈是接近的,因此降低了隨機初始化導致的區域性收斂的情形。
第6章 什麼時候使用標準化
標註化主要針對的是送入神經網路模型中的資料的,因此使用標準化化的場合就是針對這些資料的 。
(1)當資料集的各個特徵取值範圍存在較大差異時。
(2)各特徵取值單位差異較大時。
第7章 標準化的程式碼實現
參看後續關於Pytorch或Tensorflow相關標準化介面函式的解讀文章。
————————————————
感謝大家的支援和喜歡,小編會每天分享更多Python學習的乾貨知識給大家,所以大家別忘了關注小編哦。
版權宣告:本文為CSDN博主「文火冰糖的矽基工坊」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/HiWangWenBing/article/details/121215445