機器學習之 歸一化

2021-07-11 11:33:37 字數 1651 閱讀 9392

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

過擬合問題(the problem of overfitting)

如果我們有非常非常多的特徵,我們通過學習得到的假設可能會非常適應訓練集(代價函式的值可能幾乎為0),但是這樣的假設能不能推廣使用到新的資料呢?下面有一些例子:

從左至右來看,第乙個模型是乙個線性模型,擬合度很低,也稱作低度擬合(underfitting),不能很好地適應我們的訓練集;第三個模型,是乙個四次方的模型,屬於過度擬合,雖然能夠很好地適應我們的訓練集資料,但是在新輸入變數進行**的時候,可能效果會很差;而第二個模型,似乎是最合適的模型。

分類問題(classification)中,也存在這樣的問題:

最後乙個模型就是過度擬合的情況。

那麼問題出現了,如果我們發現了這樣過度擬合的情況,如何處理?

思考後,有兩種方式:

1,丟棄一些不能幫助我們正確**的特徵。

2,歸一化

歸一化代價函式(regularization cost function)

上面的回歸問題中,如果我們使用的模型是:

我們決定要減小ø3和ø4的大小,我們需要做的就是修改代價函式,在其中ø3和ø4的身上,設定一些懲罰(punishment)。這樣做的話,我們在嘗試最小化代價時,也需要將這個懲罰代入考慮中,並最終導致選擇小一些的ø3和ø4 。 修改之後的代價函式如下:

這樣,通過代價函式選擇出的ø3和ø4對整個**結果的影響就比之前小了很多。

加入我們有非常多的特徵,我們並不知道其中哪些特徵是我們要懲罰的,我們將對所有特徵進行懲罰,並且讓代價函式最優化的方法來選擇懲罰的程度。這樣的結果,就得到了乙個較為簡單的能夠防止過度擬合問題的假設:

其中λ又稱為歸一化引數(regularization parameter)

這裡注意:根據慣例,我們不會對ø0進行懲罰。

經過歸一化處理的模型與原模型的對比可能如下圖:

如果選擇的歸一化引數λ過大,就會把所有引數都最小化了,這樣導致模型hø(x)=ø0也就是上圖中的紅色直線的情況,資料就屬於低度擬合。

下回我們討論,線性邏輯模型的歸一化和邏輯回歸模型的歸一化。

機器學習補漏之歸一化

1.只能在訓練集當中,然後應用到測試集上面。不能兩部分一起歸一化,也不能各自用自己資料歸一化。因為我們預設兩部分都有足夠的資料,並且資料分布相同。當然最重要的是,測試集是不可以偷看的,更不要說計算這些統計資料。sklearn.preprocessing.standardscaler方便把訓練集上面的...

機器學習之資料歸一化

機器學習中,資料歸一化是非常重要,如果不進行資料歸一化,可能會導致模型壞掉或者訓練出乙個奇怪的模型。現在有乙個訓練資料集,包含兩個樣本,內容如下 腫瘤大小 cm 發現時間 day 樣本11 200樣本2 5100 以 k 近鄰演算法為例,發現時間 的數值比 腫瘤大小 的數值大很多,樣本間的距離被 發...

機器學習之特徵歸一化(normalization)

一 引子 對房屋售價進行 時,我們的特徵僅有房屋面積一項,但是,在實際生活中,臥室數目也一定程度上影響了房屋售價。下面,我們有這樣一組訓練樣本 房屋面積 英呎 臥室數量 間 售價 美元 2104 3 399900 1600 3 329900 2400 3 369000 1416 2 232000 3...