機器學習之正則化(防止分類器過擬合)

2021-12-30 02:14:48 字數 2402 閱讀 3912

機器學習之正則化(防止分類器過擬合):要介紹正則化,先要介紹一下過擬合的概念。

拿線性回歸中(房價-房子面積)為例,如下圖,最左邊那幅圖中,我們用線性回歸(一次函式,因為只有乙個特徵size)來進行擬合,可以看到擬合出來的線大致反應出房價的趨勢,但是並沒有很好的擬合,這種情況我們稱之為欠擬合。

為了更好的擬合,中間圖我們用二次函式(即令x1=2, x2=x^2)來進行擬合,可以看到曲線很好的跟蹤了樣本點(樣本點基本就在曲線的附近);當我們用更高的階來擬合樣本點時,如最右邊圖所示,可以看到樣本點很好的落在曲線上,但是顯然的,這條曲線不是一條好的**曲線,當再來乙個新的樣本點,我們進行**時,這條曲線的**能力會很差,因為它過分的去擬合了訓練樣本,從而不再適應於新的樣本,我們稱這種情況叫過擬合。

同時,我們也會說這條曲線的泛化能力很差(乙個從訓練集得到的模型是否能夠很好的泛化到新的樣本上,稱為這個模型的泛化能力)。通俗的理解過擬合:過分的擬合了訓練樣本,也就是說,模型不僅學習了樣本的一般特性,還把樣本的個體特殊特性也學習了,從而,當模型應用到新來的資料時,效果不是很好。

過擬合不僅僅出現在高階次的擬合,當資料量較小,特徵數較大的時候,過擬合也會產生(其實階次高,就是特徵數大)。

避免過擬合是分類器設計中的乙個核心任務。通常採用增大資料量和測試樣本集的方法對分類器效能進行評價。

下圖是邏輯回歸欠擬合&過擬合的例子。

要選得到乙個好的分類器,我們必須讓分類器不出現過擬合的情況,那我們如何應對過擬合呢?主要有兩種方法:

1.減少特徵(feature)數量:

a)手動減少特徵數

b)model selection algorithm(後面會講到)

2.正則化:保留所有的特徵,但是減少每個特徵對應引數theta的值;事實證明,正則化這個方法很有效。

1 線性回歸的正則化

原形式:

首先,回顧一下沒有正則化時,線性回歸演算法。

代價函式(cost function):

批處理梯度下降法(batchgradient descent):

正則化:

代價函式(cost function):

其中,如何理解上式?可以把上式分為兩部分,左邊部分即為原始的代價函式,右邊部分為正則化項(注意:正則化項中不包含theta0)。我們的目標是最小化整個代價函式,增加了右邊這一項以後,為了讓整個式子總體變小,勢必要減小theta的值,即相當於弱化了訓練集對模型的作用。可以想一下極端情況幫助理解:當=0時,相當於沒有加正則化項,模型容易處於過擬合狀態;當取值很大,為了讓代價函式最小,勢必將theta 1~theta n的值取為0,此時我們的假設函式h(x)=theta0是一條直線,相當於嚴重的欠擬合(沒有擬合訓練樣本)。

批處理梯度下降法更新theta值(batchgradient descent),同樣注意theta0不需要加正則化項:

可以看到,由於學習速率a>0,>0(而且這兩個值一般都是很小的正數),所以1-a <1,即每次theta在更新的時候都會縮小一下。

2 邏輯回歸的正則化

原形式:

注意到,在邏輯回歸中,我們利用似然函式對數值的最大值來求解:

那麼,我們可以定義邏輯回歸的代價函式(costfunction)如下:

邏輯回歸theta更新如下:

正則化:

代價函式(cost function):

邏輯回歸theta更新如下:

repeat{

機器學習 防止過擬合方法 正則線性模型

在機器學習的過程中要防止因為引數過多或模型過於複雜導致的過擬合,減少過擬合的乙個方法時對模型正則化,降低模型訓練的自由度,例如降低多項式的階數。在執行正則化之前,須對資料進行縮放 standardscaler 嶺回歸ridge regression的方法是在訓練模型的成本函式1 中新增乙個等於a 2...

機器學習之正則化

1.為什麼要正則化?防止過擬合.2.什麼是過擬合?指訓練的模型在訓練集的損失很小,但是在測試集上表現不佳.3.為什麼會過擬合?一般來說,資料中會有雜訊,為了擬合包含雜訊的訓練集的資料,模型會變得很複雜.而這個模型只是適合這個包含了雜訊的訓練集,和實際的模型有較大偏差,在測試集資料上往往表現不回.4....

機器學習2 過擬合和正則化

1 過擬合和欠擬合 1 泛化 機器學習模型學習到的概念在新輸入樣本上的表現 2 擬合 用逼近目標函式的遠近程度來描述擬合的好壞。過擬合 指某個模型過度學習了訓練資料中的細節和雜訊,以致模型在新的資料上表現很差。過擬合更可能在無引數非線性模型中發生,如決策樹。欠擬合 指某個模型在訓練和 時表現都不好,...