機器學習中為什麼要對特徵做資料歸一化?

2021-10-10 22:01:03 字數 715 閱讀 4023

對於線性模型來說,對特徵做資料歸一化是為了使不同的特徵處於同樣的量級範圍內,不至於出現某些特徵所佔比重過大,從而主導**結果。

另外,歸一化可以提公升收斂速度

對於梯度下降優化的演算法,如果我們的資料沒有做歸一化,會導致特徵空間的不規則性,求最優解過程中,很可能會導致z字形路線,需要迭代多次才能收斂。

歸一化之後,在梯度下降進行求解時能較快的收斂。

歸一化方法:

1)x=(x−min)/(max−min)

這種方法適用於數值比較集中的情況。這種方法有個缺陷,如果max和min不穩定,很容易使得歸一化結果不穩定,使得後續使用效果也不穩定。實際使用中可以用經驗常量值來替代max和min。

2)x=(x-μ)/σ

特徵屬性減去均值,除以方差。

什麼模型需要歸一化?

像adaboost、svm、lr、knn、kmeans之類的最優化問題就需要歸一化。樹形模型不需要歸一化,因為它們不關心變數的值,而是關心變數的分布和變數之間的條件概率,如決策樹、rf。

機器學習中為什麼需要對資料進行歸一化?

如下圖所示,藍色的圈圈圖代表的是兩個特徵的等高線。其中左圖兩個特徵x1和x2的區間相差非常大,x1區間是 0,2000 x2區間是 1,5 其所形成的等高線非常尖。當使用梯度下降法尋求最優解時,很有可能走 之字型 路線 垂直等高線走 從而導致需要迭代很多次才能收斂 而右圖對兩個原始特徵進行了歸一化,...

機器學習中,為什麼經常對資料做歸一化?

一般做機器學習應用的時候大部分時間是花費在特徵處理上,其中很關鍵的一步就是對特徵資料進行歸一化。1 歸一化為什麼能提高梯度下降法求解最優解的速度?圖代表的是兩個特徵的等高線。其中左圖兩個特徵x1和x2的區間相差非常大,x1區間是 0,2000 x2區間是 1,5 像這種有的資料那麼大,有的資料那麼小...

機器學習模型為什麼要將特徵離散化

在學習機器學習中,看過挺多案例,看到很多人在處理資料的時候,經常把連續性特徵離散化。為此挺好奇,為什麼要這麼做,什麼情況下才要做呢。一 離散化原因 資料離散化是指將連續的資料進行分段,使其變為一段段離散化的區間。分段的原則有基於等距離 等頻率或優化的方法。資料離散化的原因主要有以下幾點 1 演算法需...