機器學習 | 資料歸一化的重要性你瞭解多少?
點選藍字關注我們,小七等你好久嘍
在機器學習中,為何要經常對資料做歸一化,很多夥伴或許並不知道這樣做的作用,今天小七給大家簡單介紹下~
機器學習模型被網際網路行業廣泛應用,
如排序(參見:排序學習實踐http://www.cnblogs.com/LBSer/p/4439542.html)、推薦、反作弊、定位(參見:基於樸素貝葉斯的定位演算法http://www.cnblogs.com/LBSer/p/4020370.html)等。
一般做機器學習應用的時候大部分時間是花費在特徵處理上,其中很關鍵的一步就是對特徵資料進行歸一化。
為什麼要歸一化呢?很多同學並未搞清楚
維基百科給出的解釋:1)歸一化後加快了梯度下降求最優解的速度;2)歸一化有可能提高精度。
下面再簡單擴充套件解釋下這兩點。
01
歸一化後加快了梯度下降求最優解的速度
1 歸一化為什麼能提高梯度下降法求解最優解的速度?
史丹佛機器學習視訊做了很好的解釋:https://class.coursera.org/ml-003/lecture/21
如下圖所示,藍色的圈圈圖代表的是兩個特徵的等高線。其中左圖兩個特徵X1和X2的區間相差非常大,X1區間是[0,2000],X2區間是[1,5],其所形成的等高線非常尖。當使用梯度下降法尋求最優解時,很有可能走“之字型”路線(垂直等高線走),從而導致需要迭代很多次才能收斂;
而右圖對兩個原始特徵進行了歸一化,其對應的等高線顯得很圓,在梯度下降進行求解時能較快的收斂。
因此如果機器學習模型使用梯度下降法求最優解時,歸一化往往非常有必要,否則很難收斂甚至不能收斂。
02
歸一化有可能提高精度
2 歸一化有可能提高精度
一些分類器需要計算樣本之間的距離(如歐氏距離),例如KNN。如果一個特徵值域範圍非常大,那麼距離計算就主要取決於這個特徵,從而與實際情況相悖(比如這時實際情況是值域範圍小的特徵更重要)。
03
歸一化的型別
歸一化的型別
1)線性歸一化
這種歸一化方法比較適用在數值比較集中的情況。這種方法有個缺陷,如果max和min不穩定,很容易使得歸一化結果不穩定,使得後續使用效果也不穩定。實際使用中可以用經驗常量值來替代max和min。
2)標準差標準化
經過處理的資料符合標準正態分佈,即均值為0,標準差為1,其轉化函式為:
其中μ為所有樣本資料的均值,σ為所有樣本資料的標準差。
3)非線性歸一化
經常用在資料分化比較大的場景,有些數值很大,有些很小。通過一些數學函式,將原始值進行對映。該方法包括 log、指數,正切等。需要根據資料分佈的情況,決定非線性函式的曲線,比如log(V, 2)還是log(V, 10)等。
題目來源:
七月線上官網(https://www.julyedu.com/)——面試題庫——面試大題——機器學習 第42題。
福利時刻:為了幫助大家系統地學習機器學習課程的相關知識,我們特意推出了機器學習集訓營系列課程。
更多諮詢
請戳一戳
相關文章
- 從零開始學機器學習——瞭解迴歸機器學習
- 一、你瞭解機器學習技術體系嗎機器學習
- 小資料在機器學習中的重要性機器學習
- 深入瞭解機器學習機器學習
- 這些深度學習術語,你瞭解多少?(上)深度學習
- 這些深度學習術語,你瞭解多少?(下)深度學習
- 關於Mysql資料儲存,你瞭解多少?MySql
- 關於機器學習你必須瞭解的十個真相機器學習
- 能窺見未來的大資料+AI,你瞭解多少?大資料AI
- 機器學習知多少機器學習
- 深入瞭解Azure 機器學習的工作原理機器學習
- BAT面試題12:機器學習為何要經常對資料做歸一化?BAT面試題機器學習
- NIO你真正瞭解多少?
- 10個例子帶你瞭解機器學習中的線性代數機器學習
- 【機器學習】--迴歸問題的數值優化機器學習優化
- 關於銀行系統專項測試,你瞭解多少?學習一下
- 機器學習-樹迴歸機器學習
- Java String 物件,你瞭解多少?Java物件
- 當紅“Serverless”,你瞭解多少?Server
- java異常你瞭解多少Java
- 關於Synchronized你瞭解多少?synchronized
- Python 的技巧和方法你瞭解多少?Python
- 直流負載的案例,你瞭解多少?負載
- 資料歸一化
- 機器學習實戰(一)—— 線性迴歸機器學習
- 機器學習到底是什麼?一篇文章帶你瞭解透徹機器學習
- 6分鐘瞭解所有機器學習模型機器學習模型
- 我的AI學習歷程(一):瞭解相機AI
- 機器學習一:資料預處理機器學習
- 機器學習:迴歸問題機器學習
- 機器學習:線性迴歸機器學習
- 機器學習之Logistic迴歸機器學習
- 機器學習:邏輯迴歸機器學習邏輯迴歸
- 你真的瞭解深度學習嗎?深度學習
- HTTP 學習瞭解 (一)HTTP
- 學習筆記:Android這四個你不可不知的知識點,你都瞭解多少?筆記Android
- Android Studio3.3你瞭解多少?Android
- 你對CommonJS規範瞭解多少?JS