摘要: 本文重點介紹了在測試機器學習模型時遇到的一個關鍵主題。

 


1. 什麼是過度擬合?

讓我們首先確定概念的基礎。

假設您想要預測股票的未來價格變動,然後,您決定收集過去10天的股票的歷史每日價格,並在散佈圖上繪製股票價格,如下所示:

上圖顯示實際股票價格是隨機的。

要捕獲股票價格變動,您需要評估並收集以下16種功能的數據,您知道股票價格取決於:


1.行業表現

2.公司新聞發布

3.公司的收益

4.公司的利潤

5.公司未來的公告

6.公司的股息

7.公司當前和未來的合約規模

8.公司的併購狀態

9.公司的管理信息

10.公司目前的合同

11.公司的未來合同

12.通貨膨脹

13.利率

14.外匯匯率

15.投資者情緒

16.公司的競爭對手


收集,清理,縮放和轉換數據後,您可以將數據拆分為訓練和測試數據集。此外,您將訓練數據提供給您的機器學習模型以進行訓練。

訓練模型後,您決定通過傳入測試數據集來測試模型的準確性。

我們期待看到什麼?

上圖顯示實際股票價格是隨機的。然而,預測的股票價格是平滑的曲線。它不擬合訓練集,因此它能夠更好地概括看不見的數據。

若假設你會遇到以下實際vs預測的股票價格圖形:

1.預測價格是一直線

這意味著該算法具有非常強的數據預概念。這意味著它具有高偏見性。這被稱為欠擬合。這些模型不適合預測新數據。

2.非常強大的緊密擬合線

這是另一個極端。它可能看起來好像在預測股價方面做得很好。然而,這被稱為過度擬合。它也被稱為高方差,因為它已經很好地學習了訓練數據,因此無法很好地概括新的和看不見的數據。這些模型不適合預測新數據。

 


如果我們為模型提供新數據,那麼它的準確性將最終變得極差。


這也表明我們沒有用足夠的數據訓練我們的模型。


過度擬合是指您的模型過度訓練自己訓練的數據。可能是因為數據中存在太多特徵,或者因為我們沒有提供足夠的數據。它發生在實際值和預測值之間的差值接近0時。


如何檢測過度擬合?

過度適應訓練數據的模型並不能很好地概括新的例子。他們不善於預測看不見的數據。

這意味著它們在訓練期間非常準確,並且在預測看不見的數據期間產生非常差的結果。

如果在模型訓練期間精度測量值(例如平均誤差平方)顯著降低,並且測試數據集的精度會下降,那麼這意味著您的模型過度擬合數據。

如果您想了解可用於測量機器學習模型準確性的算法,請查看本文

 

我們如何解決過度擬合問題?

我們可以隨機刪除這些特徵並迭代地評估算法的準確性,但這是一個非常繁瑣和緩慢的過程。

基本上有四種減少過度擬合的常用方法。

1.減少特徵:

最明顯的選擇是減少特徵。您可以計算要素的相關矩陣,並減少彼此高度相關的要素

2.模型選擇算法:

您可以選擇模型選擇算法。這些算法可以選擇更重要的特徵。

這些技術的問題在於我們最終可能會丟失有價值的信息。

3.提供更多數據

您的目標應該是為模型提供足夠的數據,以便對模型進行全面的培訓,測試和驗證。旨在提供60%的數據來訓練模型,20%的數據用於測試,20%的數據用於驗證模型。

4.正規化:

正規化的目的是保持所有特徵,但對係數的大小施加約束。

它是首選,因為您通過懲罰機制來避免丟失特徵。當約束應用於參數時,模型不太容易過度擬合,因為它產生平滑的函數。

引入稱為懲罰因子的正規化參數,其控制參數並確保模型本身不會過度訓練訓練數據。

這些參數被設置為較小的值以消除過度擬合。當係數取大值時,正規化參數懲罰優化函數。


有兩種常見的正規化技術:

1.LASSO

增加一個懲罰值,它是係數幅度的絕對值。這確保了特徵不會最終對算法的預測施加高權重。

2. RIDGE

增加一個懲罰,它是係數大小的平方。結果,一些權重最終將為零。這意味著某些功能的數據將不會在算法中使用。

結論

本文重點介紹了我們在測試機器學習模型後遇到的一個關鍵主題。它概述了以下關鍵部分:


什麼是機器學習項目中的過度擬合?

我們如何檢測過度擬合?

我們如何解決過度擬合問題?

如果您想掌握機器學習項目的端到端指南,請閱讀 本文

轉貼自: Medium

若喜歡本文,請關注我們的臉書 Please Like our Facebook Page: Big Data In Finance


留下你的回應

以訪客張貼回應

0
  • 找不到回應