BAT面試題12:機器學習為何要經常對資料做歸一化?
BAT 面試題12:機器學習為何要經常對資料做歸一化?
http://blog.sina.com.cn/s/blog_cfa68e330102z2gd.html
機器學習中,為何要經常對資料做歸一化?
一般做機器學習應用的時候大部分時間是花費在特徵處理上,其中很關鍵的一步就是對特徵資料進行歸一化,為什麼要歸一化呢?維基百科給出的解釋:
1 )歸一化後加快了梯度下降求最優解的速度;
2 )歸一化有可能提高精度。下面我簡單擴充套件解釋下這兩點。
1 歸一化為什麼能提高梯度下降法求解最優解的速度?
如下圖所示,藍色的圈圈圖代表的是兩個特徵的等高線。其中左圖兩個特徵X1和X2的區間相差非常大,X1區間是[0,2000],X2區間是[1,5],其所形成的等高線非常尖。當使用梯度下降法尋求最優解時,很有可能走“之字型”路線(垂直等高線走),從而導致需要迭代很多次才能收斂;
而右圖對兩個原始特徵進行了歸一化,其對應的等高線顯得很圓,在梯度下降進行求解時能較快的收斂。
因此如果機器學習模型使用梯度下降法求最優解時,歸一化往往非常有必要,否則很難收斂甚至不能收斂。
2
歸一化有可能提高精度
一些分類器需要計算樣本之間的距離(如歐氏距離),例如KNN。如果一個特徵值域範圍非常大,那麼距離計算就主要取決於這個特徵,從而與實際情況相悖(比如這時實際情況是值域範圍小的特徵更重要)。
3
歸一化的型別
1)線性歸一化
這種歸一化方法比較適用在數值比較集中的情況。這種方法有個缺陷,如果max和min不穩定,很容易使得歸一化結果不穩定,使得後續使用效果也不穩定。實際使用中可以用經驗常量值來替代max和min。
2
)標準差標準化
經過處理的資料符合標準正態分佈,即均值為0,標準差為1,其轉化函式為:
其中μ為所有樣本資料的均值,σ為所有樣本資料的標準差。
3
)非線性歸一化
經常用在資料分化比較大的場景,有些數值很大,有些很小。透過一些數學函式,將原始值進行對映。該方法包括 log、指數,正切等。需要根據資料分佈的情況,決定非線性函式的曲線,比如log(V, 2)還是log(V, 10)等。
文章參考,感謝原創:
http://www.cnblogs.com/LBSer
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2219640/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 機器學習-資料歸一化方法機器學習
- 為什麼一些機器學習模型需要對資料進行歸一化?機器學習模型
- BAT經典面試題彙總BAT面試題
- BAT機器學習面試1000題系列(二)BAT機器學習面試
- 手撕面試官系列:BAT面試常問85題面試BAT
- 幾道 BAT 演算法面試中經常問的「字串」問題BAT演算法面試字串
- 為什麼要對資料庫最佳化資料庫
- 資料歸一化
- (四) BAT面試的20道高頻資料庫面試題BAT資料庫面試題
- 一位前BAT面試官,詳聊進入BAT的面試經驗BAT面試
- 機器學習 | 資料歸一化的重要性你瞭解多少?機器學習
- 【BAT機器學習面試題】前100題彙總及勘誤(上)BAT機器學習面試題
- PHP相關面試中最經常涉及的12個問題PHP面試
- 資料科學和機器學習面試問題資料科學機器學習面試
- 35面試常問:談談為什麼要拆分資料庫?有哪些方法?面試資料庫
- LeetCode 74,直擊BAT經典面試題LeetCodeBAT面試題
- 我做過淘寶、京東和微商,為何要再做一個小程式商城?
- [大資料量]一個經常問的面試題,把7挑出來。大資料面試題
- 大資料面試常見的面試題總結大資料面試題
- 為什麼要備份資料? 如何做?
- 面試Python機器學習時,常見的十個面試題Python機器學習面試題
- mongodb核心原始碼實現、效能調優系列-為何要對開源mongodb資料庫核心做二次開發MongoDB原始碼資料庫
- 《產品經理面試攻略》PART 11:BAT招聘真題面試BAT
- BAT面試經典送送送命題——微服務架構BAT面試微服務架構
- 資料庫常見面試題總結資料庫面試題
- BAT 經典演算法筆試題 —— 磁碟多路歸併排序BAT演算法筆試排序
- 企業資料為何要選擇企業雲盤
- 【乾貨】BAT面試經驗分享BAT面試
- matlab影象處理為什麼要歸一化和如…Matlab
- 「乾貨」22道機器學習常見面試題目機器學習面試題
- 【機器學習】--迴歸問題的數值優化機器學習優化
- 專案為何總是做不完?範圍管理要界定(轉)
- bat等大公司常考java多執行緒面試題BATJava執行緒面試題
- 機器學習:迴歸問題機器學習
- iOS面試中經常問的點 - 基礎問題(一)iOS面試
- 機器學習常見的演算法面試題總結機器學習演算法面試題
- 常見12個python面試題整理Python面試題
- Java常考面試題(一)Java面試題