【机器学习基础】机器学习模型什么时候需要做数据标准化?
機(jī)器學(xué)習(xí)
Author:louwill
Machine Learning?Lab
? ? ?
? ? ?一直都有朋友在做機(jī)器學(xué)習(xí)模型時(shí)有疑問:我的數(shù)據(jù)要不要做標(biāo)準(zhǔn)化處理?
? ? ?這個(gè)問題筆者也思考過,只不過不夠系統(tǒng),觀點(diǎn)也比較單一,所以才有了上圖中的【變量單位之間數(shù)量級差異過大】的回答。就著這個(gè)話題,筆者查閱相關(guān)資料,相對這個(gè)問題進(jìn)行一個(gè)詳細(xì)的闡述。
什么是數(shù)據(jù)標(biāo)準(zhǔn)化
? ? ?在完整的機(jī)器學(xué)習(xí)流程中,數(shù)據(jù)標(biāo)準(zhǔn)化(Data Standardization)一直是一項(xiàng)重要的處理流程。一般我們將數(shù)據(jù)標(biāo)準(zhǔn)化放在預(yù)處理過程中,作為一項(xiàng)通用技術(shù)而存在。但很多時(shí)候我們并不清楚為什么要對數(shù)據(jù)做標(biāo)準(zhǔn)化處理,是不是做了標(biāo)準(zhǔn)化模型表現(xiàn)就一定會提升。
? ? ?數(shù)據(jù)標(biāo)準(zhǔn)化的直接定義如下公式所示:
? ? ?即對數(shù)據(jù)集特征每一數(shù)據(jù)減去特征均值后除以特征標(biāo)準(zhǔn)差。數(shù)據(jù)標(biāo)準(zhǔn)化可以將對應(yīng)特征數(shù)據(jù)變換均值為0方差為1。經(jīng)過數(shù)據(jù)標(biāo)準(zhǔn)化之后,數(shù)據(jù)集所有特征有了同樣的變化范圍。
? ? ?數(shù)據(jù)標(biāo)準(zhǔn)化一個(gè)最直接的應(yīng)用場景就是:當(dāng)數(shù)據(jù)集的各個(gè)特征取值范圍存在較大差異時(shí),或者是各特征取值單位差異較大時(shí),我們是需要使用標(biāo)準(zhǔn)化來對數(shù)據(jù)進(jìn)行預(yù)處理的。
? ?舉個(gè)例子,一個(gè)包含兩個(gè)特征的數(shù)據(jù),其中一個(gè)特征取值范圍為5000~10000,另一個(gè)特征取值范圍僅有0.1-1,實(shí)際在建模訓(xùn)練時(shí),無論什么模型,第一個(gè)特征對模型結(jié)果的影響都會大于第二個(gè)特征,這樣的模型是很難有效做出準(zhǔn)確預(yù)測的。
與數(shù)據(jù)歸一化的區(qū)別
? ? ?數(shù)據(jù)歸一化(Normalization)同樣也是一項(xiàng)數(shù)據(jù)預(yù)處理技術(shù)。但一直以來,我們都是標(biāo)準(zhǔn)化和歸一化傻傻分不清楚,并且存在長期混用的情況。數(shù)據(jù)歸一化的計(jì)算公式如下:
? ? ?或者是:
? ? ?筆者查閱相關(guān)資料,發(fā)現(xiàn)對于這兩種數(shù)據(jù)變換方法,一直沒有統(tǒng)一的界定。很多時(shí)候都存在標(biāo)準(zhǔn)化和歸一化概念混用的情況,有時(shí)候把z-score變換叫歸一化,有時(shí)候又把min-max歸一化叫標(biāo)準(zhǔn)化。通過比對,筆者認(rèn)為標(biāo)準(zhǔn)化指的就是z-score變換,即前述第一個(gè)公式。歸一化指的就是min-max變換,即前述第二或第三個(gè)公式。
? ? ?數(shù)據(jù)標(biāo)準(zhǔn)化為了不同特征之間具備可比性,經(jīng)過標(biāo)準(zhǔn)化變換之后的特征分布沒有發(fā)生改變。數(shù)據(jù)歸一化的目的是使得各特征對目標(biāo)變量的影響一致,會將特征數(shù)據(jù)進(jìn)行伸縮變化,所以數(shù)據(jù)歸一化是會改變特征數(shù)據(jù)分布的。
哪些模型對標(biāo)準(zhǔn)化處理比較敏感?
? ? ?機(jī)器學(xué)習(xí)中有部分模型是基于距離度量進(jìn)行模型預(yù)測和分類的。由于距離對特征之間不同取值范圍非常敏感,所以基于距離讀量的模型是十分有必要做數(shù)據(jù)標(biāo)準(zhǔn)化處理的。
? ? ?最典型基于距離度量的模型包括k近鄰、kmeans聚類、感知機(jī)和SVM。另外,線性回歸類的幾個(gè)模型一般情況下也是需要做數(shù)據(jù)標(biāo)準(zhǔn)化處理的。決策樹、基于決策樹的Boosting和Bagging等集成學(xué)習(xí)模型對于特征取值大小并不敏感。所以這類模型一般不需要做數(shù)據(jù)標(biāo)準(zhǔn)化處理。另外有較多類別變量的數(shù)據(jù)也是不需要做標(biāo)準(zhǔn)化處理的。
結(jié)論
? ? ?結(jié)論就是當(dāng)數(shù)據(jù)特征取值范圍或單位差異較大時(shí),最好是做一下標(biāo)準(zhǔn)化處理。k近鄰、kmeans聚類、感知機(jī)、SVM和線性回歸類的模型,一般也是需要做數(shù)據(jù)標(biāo)準(zhǔn)化處理的。另外最好區(qū)分一下數(shù)據(jù)標(biāo)準(zhǔn)化和數(shù)據(jù)歸一化。
參考資料:
https://towardsai.net/p/data-science/how-when-and-why-should-you-normalize-standardize-rescale-your-data-3f083def38ff
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯獲取一折本站知識星球優(yōu)惠券,復(fù)制鏈接直接打開:https://t.zsxq.com/662nyZF本站qq群1003271085。加入微信群請掃碼進(jìn)群(如果是博士或者準(zhǔn)備讀博士請說明):總結(jié)
以上是生活随笔為你收集整理的【机器学习基础】机器学习模型什么时候需要做数据标准化?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【面试招聘】聊聊秋招中的面试技巧
- 下一篇: 【机器学习基础】不会时间序列预测?不要紧