1. 程式人生 > >機器學習迴歸演算法—效能評估欠擬合與過擬合

機器學習迴歸演算法—效能評估欠擬合與過擬合

機器學習中的泛化,泛化即是,模型學習到的概念在它處於學習的過程中時模型沒有遇見過的樣本時候的表現。在機器學習領域中,當我們討論一個機器學習模型學習和泛化的好壞時,我們通常使用術語:過擬合和欠擬合。我們知道模型訓練和測試的時候有兩套資料,訓練集和測試集。在對訓練資料進行擬合時,需要照顧到每個點,而其中有一些噪點,當某個模型過度的學習訓練資料中的細節和噪音,以至於模型在新的資料上表現很差,這樣的話模型容易複雜,擬合程度較高,造成過擬合。而相反如果值描繪了一部分資料那麼模型複雜度過於簡單,欠擬合指的是模型在訓練和預測時表現都不好的情況,稱為欠擬合。

我們來看一下線性迴歸中擬合的幾種情況圖示:

$$\theta_0+\theta_1{x}$$

$$\theta{0}+\theta{1}{x}+\theta_{2}x^{2}$$

$$\theta{0}+\theta{1}{x}+\theta{2}x^{2}+\theta{3}x^{3}+\theta_{4}x^{4}$$

還有在邏輯迴歸分類中的擬合情況:


解決過擬合的方法

線上性迴歸中,對於特徵集過小的情況,容易造成欠擬合(underfitting),對於特徵集過大的情況,容易造成過擬合(overfitting)。針對這兩種情況有了更好的解決辦法

欠擬合

欠擬合指的是模型在訓練和預測時表現都不好的情況,欠擬合通常不被討論,因為給定一個評估模型表現的指標的情況下,欠擬合很容易被發現。矯正方法是繼續學習並且試著更換機器學習演算法。

過擬合

對於過擬合,特徵集合數目過多,我們需要做的是儘量不讓迴歸係數數量變多,對擬合(損失函式)加以限制。

(1)當然解決過擬合的問題可以減少特徵數,顯然這只是權宜之計,因為特徵意味著資訊,放棄特徵也就等同於丟棄資訊,要知道,特徵的獲取往往也是艱苦卓絕的。

(2)引入了 正則化 概念。

直觀上來看,如果我們想要解決上面迴歸中的過擬合問題,我們最好就要消除$$x_3$$和$$x_4$$的影響,也就是想讓$$\theta_3{,}\theta_4$$都等於0,一個簡單的方法就是我們對$$\theta_3{,}\theta_4$$進行懲罰,增加一個很大的係數,這樣在優化的過程中就會使這兩個引數為零。