機器學習中的歸一化問題

2021-07-11 17:19:31 字數 851 閱讀 9199

針對這個問題參考了wiki的解釋: 歸一化後有兩個好處: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)等。

**:

機器學習中的歸一化

歸一化常用的方法 歸一化與其中標準化的區別 使用標準化與歸一化的場景 哪些機器學習書演算法不需要歸一化 歸一化後加快了梯度下降求最優解的速度 歸一化有可能提高精度 如上圖所示,藍色圓圈代表兩個特徵的的等高線。左圖中兩個特徵區別相差特別大。其中乙個特徵x1的區間是 0,2000 乙個特徵x2 1,5 ...

機器學習中的歸一化方法

在這裡主要討論兩種歸一化方法 線性函式將原始資料線性化的方法轉換到 0 1 的範圍,歸一化公式如下 該方法實現對原始資料的等比例縮放,其中xnorm為歸一化後的資料,x為原始資料,xmax xmin分別為原始資料集的最大值和最小值。python實現 preprocessing.minmaxscale...

機器學習之 歸一化

之前我們討論了幾個機器學習的模型,線性回歸模型 linear regression 和邏輯回歸模型 logistic regression 這一次我們討論一下關於模型資料擬合的問題以及歸一化方法 regularization 過擬合問題 the problem of overfitting 如果我們...