機器學習筆記:為什么要對數據進行歸一化處理?


文章來自知乎,作者hit nlper 憶臻

轉自:https://zhuanlan.zhihu.com/p/27627299

在喂給機器學習模型的數據中,對數據要進行歸一化的處理。

為什么要進行歸一化處理,下面從尋找最優解這個角度給出自己的看法。

例子

假定為預測房價的例子,自變量為面積,房間數兩個,因變量為房價。

那么可以得到的公式為:

y=\theta _{1}x_{1}  +\theta _{2}x_{2}

其中x_{1} 代表房間數,\theta _{1} 代表x_{1} 變量前面的系數。

其中x_{2} 代表面積,\theta _{2} 代表x_{2} 變量前面的系數。

首先我們祭出兩張圖代表數據是否均一化的最優解尋解過程。

未歸一化:

歸一化之后

為什么會出現上述兩個圖,並且它們分別代表什么意思。

我們在尋找最優解的過程也就是在使得損失函數值最小的theta1,theta2。

上述兩幅圖代碼的是損失函數的等高線。

我們很容易看出,當數據沒有歸一化的時候,面積數的范圍可以從0~1000,房間數的范圍一般為0~10,可以看出面積數的取值范圍遠大於房間數。

影響

這樣造成的影響就是在畫損失函數的時候,

數據沒有歸一化的表達式,可以為:

J=(3\theta _{1}+ 600\theta _{2}-y_{correct} )^{2}

造成圖像的等高線為類似橢圓形狀,最優解的尋優過程就是像下圖所示:

而數據歸一化之后,損失函數的表達式可以表示為:

J=(0.5\theta _{1}+ 0.55\theta _{2}-y_{correct} )^{2}

其中變量的前面系數幾乎一樣,則圖像的等高線為類似圓形形狀,最優解的尋優過程像下圖所示:

從上可以看出,數據歸一化后,最優解的尋優過程明顯會變得平緩,更容易正確的收斂到最優解。

這也是數據為什么要歸一化的一個原因。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM