在實(shí)際應(yīng)用中,需要?dú)w一化的模型:
基于距離計(jì)算的模型:KNN。
通過梯度下降法求解的模型:線性回歸、邏輯回歸、支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)。
但樹形模型不需要?dú)w一化,因?yàn)樗鼈儾魂P(guān)心變量的值,而是關(guān)心變量的分布和變量之間的條件概率,如決策樹、隨機(jī)森林(Random Forest)。
樹形結(jié)構(gòu)為什么不需要?dú)w一化?
因?yàn)閿?shù)值縮放不影響分裂點(diǎn)位置,對(duì)樹模型的結(jié)構(gòu)不造成影響。
按照特征值進(jìn)行排序的,排序的順序不變,那么所屬的分支以及分裂點(diǎn)就不會(huì)有不同。而且,樹模型是不能進(jìn)行梯度下降的,因?yàn)闃?gòu)建樹模型(回歸樹)尋找最優(yōu)點(diǎn)時(shí)是通過尋找最優(yōu)分裂點(diǎn)完成的,因此樹模型是階躍的,階躍點(diǎn)是不可導(dǎo)的,并且求導(dǎo)沒意義,也就不需要?dú)w一化。
在k-means或kNN,我們常用歐氏距離來計(jì)算最近的鄰居之間的距離,有時(shí)也用曼哈頓距離,請(qǐng)對(duì)比下這兩種距離的差別 歐氏距離,最常見的兩點(diǎn)之間或多點(diǎn)之間的距離表示法,又稱之為歐幾里得度量,它定義于歐幾里得空間中。
數(shù)據(jù)歸一化(或者標(biāo)準(zhǔn)化,注意歸一化和標(biāo)準(zhǔn)化不同)的原因
能不歸一化最好不歸一化,之所以進(jìn)行數(shù)據(jù)歸一化是因?yàn)楦骶S度的量綱不相同。而且需要看情況進(jìn)行歸一化。
有些模型在各維度進(jìn)行了不均勻的伸縮后,最優(yōu)解與原來不等價(jià)(如SVM)需要?dú)w一化。 有些模型伸縮有與原來等價(jià),如:LR則不用歸一化,但是實(shí)際中往往通過迭代求解模型參數(shù),如果目標(biāo)函數(shù)太扁(想象一下很扁的高斯模型)迭代算法會(huì)發(fā)生不收斂的情況,所以最好進(jìn)行數(shù)據(jù)歸一化。