為什麼要特徵標準化及特徵標準化方法

2021-07-15 08:56:54 字數 2381 閱讀 1455

歸一化化就是要把你需要處理的資料經過處理後(通過某種演算法)限制在你需要的一定範圍內。歸一化的原因是什麼那?

一是,為了後面資料處理的方便,把不同量綱的東西放在同一量綱下比較,即

把不同**的資料統一到乙個參考係下,這樣比較起來才有意義。

簡單的舉個例子:一張表有兩個變數,乙個是體重kg,乙個是身高cm。假設一般情況**重這個變數均值為60(kg),身高均值為170(cm)。1,這兩個變數對應的單位不一樣,同樣是100,對於身高來說很矮,但對於體重來說已經是超重了。另外,單位越小,數值越大,對結果的影響也越大,譬如170cm=1700mm。 簡單講,歸一化的目的是可以用數值來直接進行比較,如果不歸一化由於變數特性不同,同樣加10,代表的意義不一樣。

二是,保正程式執行時收斂加快,大部分模型歸一化後收斂速度會加快。例如,下面的例子,房間數和面積數不在乙個量綱上,面積數值太小,房間數太大,成橢圓狀,按照梯度收斂速度會慢,理想的是資料類似圓圈的形狀,經過有限幾個步驟則收斂了。

三是,要注意的是,有的模型在歸一化之後會影響效果,有的模型則不會。對於歸一化是否影響模型效果,主要看模型是否具有伸縮不變性。

有些模型在各個維度進行不均勻伸縮後,最優解與原來不等價,例如svm。對於這樣的模型,除非本來各維資料的分布範圍就比較接近,否則必須進行標準化,以免模型引數被分布範圍較大或較小的資料dominate。

有些模型在各個維度進行不均勻伸縮後,最優解與原來等價,例如標準的logistic regression 和linear regression(加正則項後,正則項可能不具備伸縮不變性),簡單的樹模型(各個節點各算個的切分點)。對於這樣的模型,是否標準化理論上不會改變最優解。但是,由於實際求解往往使用迭代演算法,如果目標函式的形狀太「扁」,迭代演算法可能收斂得很慢甚至不收斂。所以對於具有伸縮不變性的模型,最好也進行資料標準化。但svm則必須進行歸一化。

同的模型對特徵的分布假設是不一樣的。比如svm 用高斯核的時候,所有維度共用乙個方差,這不就假設特徵分布是圓的麼,輸入橢圓的就坑了人家。

首先,對於gradient descent演算法來說,learning rate的大小對其收斂速度至關重要。如果feature的scale不同,理論上不同的feature就需要設定不同的learning rate,但是gradient descent只有乙個learning rate,這就導致不同feature的收斂效果不同,從而影響總體的收斂效果。所以在求解模型之前歸一化不同feature的scale,可以有效提高gradient descent的收斂速度。

除此之外,如果feature的scale相差很大,則會出現scale越大的feature,對模型的影響越大。比如對於multivariate regression, 極端情況下, 有乙個特徵的值特別特別大,其他特徵的值都特別特別小,那麼cost function就被這個特別大的特徵主導,甚至退化為univariate。即feature scale相差很大,線性回歸模型得優化結果也會受到影響。

也需要注意的是,各維分別做歸一化會丟失各維方差這一資訊,但各維之間的相關係數可以保留

沒有一種資料標準化的方法,放在每乙個問題,放在每乙個模型,都能提高演算法精度和加速演算法的收斂速度。

是否應該做資料標準化,用哪種標準化的方法,更多的是源於一種經驗和嘗試。

如果你長期做某個行業的某幾類資料探勘需求,自然知道選用哪種演算法好,用什麼標準化方法更優。這需要時間的積累,需要對資料探勘的熱情來支撐。

當然,也可以先做個較為合理的抽樣(更傾向於分層抽樣),比較不做資料標準化和做了資料標準化的效果,比較不同資料標準化方法之間的效果。畢竟資料總是多種多樣,如果企業bi做得好,資料質量本身就高了,那其實可以偷一下懶的。反之,就多下功夫做好資料與處理,把資料打磨好了再放進模型裡。方法有如下:

1、線性函式轉換,表示式如下:

y=(x-minvalue)/(maxvalue-minvalue)

說明:x、y分別為轉換前、後的值,maxvalue、minvalue分 別為樣本的最大值和最小值。

2、對數函式轉換,表示式如下:

y=log10(x)

說明:以10為底的對數函式轉換。

3、反餘切函式轉換,表示式如下:

y=atan(x)*2/pi

4、式(1)將輸入值換算為[-1,1]區間的值,在輸出層用式(2)換算回初始值,其中 和分別表示訓練樣本集中負荷的最大值和最小值。

在統計學中,歸一化的具體作用是歸納統一樣本的統計分布性。歸一化在0-1之間是統計的概率分布,歸一化在-1--+1之間是統計的座標分布。

方法很多,min-max,z-score,p範數等

參考:

特徵縮放和標準化

首先簡單講一下 其實我覺得這兩個本質上是一樣的 看了好多部落格和論壇 發現每個人講的都不一樣,我直接去英文維基百科 特徵縮放上查了feature scaling 和 英文維基百科 標準化 才基本上明白 部落格的最後 我會特別說一下 吳恩達老師在講解pca的時候 說的均值標準化和特徵縮放 這裡直接翻譯...

特徵提取 標準化

1 由於歸一化使用最大值最小值進行計算,若最大值或最小值缺失或錯誤,歸一化結果的準確性就會大大降低,為此可採用標準化 2 標準化公式 即 3 api sklearn.preprocessing.standardscaler standardscaler.fit transform x x numpy...

特徵工程之標準化

資料和特徵決定了機器學習演算法的上限,而模型和演算法只是不斷逼近這個上限而已 資料標準化也就是統計資料的指數化。資料標準化處理主要包括資料同趨化處理和無量綱化處理兩個方面 資料同趨化處理主要解決不同性質資料問題,對不同性質指標直接加總不能正確反映不同作用力的綜合結果,須先考慮改變逆指標資料性質,使所...