今日面試題分享:如何理解模型的過擬合與欠擬合,以及如何解決?

七月線上實驗室發表於2019-03-21

640?wx_fmt=png

掃描上方二維碼  關注:七月線上實驗室 

後臺回覆:100   免費領取【機器學習面試100題】PDF版


今日面試題分享
如何理解模型的過擬合與欠擬合,以及如何解決?


參考答案:


解析:

欠擬合(underfiting / high bias) 

訓練誤差和驗證誤差都很大,這種情況稱為欠擬合。出現欠擬合的原因是模型尚未學習到資料的真實結構。因此,模擬在訓練集和驗證集上的效能都很差。 


 解決辦法 

1 做特徵工程,新增跟多的特徵項。如果欠擬合是由於特徵項不夠,沒有足夠的資訊支援模型做判斷。 

2 增加模型複雜度。如果模型太簡單,不能夠應對複雜的任務。可以使用更復雜的模型,減小正則化係數。具體來說可以使用核函式,整合學習方法。 

3 整合學習方法boosting(如GBDT)

能有效解決high bias 過擬合(overfiting / high variance) 模型在訓練集上表現很好,但是在驗證集上卻不能保持準確,也就是模型泛化能力很差。這種情況很可能是模型過擬合。


造成原因主要有以下幾種: 

1 訓練資料集樣本單一,樣本不足。如果訓練樣本只有負樣本,然後那生成的模型去預測正樣本,這肯定預測不準。所以訓練樣本要儘可能的全面,覆蓋所有的資料型別。 

2 訓練資料中噪聲干擾過大。噪聲指訓練資料中的干擾資料。過多的干擾會導致記錄了很多噪聲特徵,忽略了真實輸入和輸出之間的關係。 

3 模型過於複雜。模型太複雜,已經能夠死記硬背記錄下了訓練資料的資訊,但是遇到沒有見過的資料的時候不能夠變通,泛化能力太差。我們希望模型對不同的模型都有穩定的輸出。模型太複雜是過擬合的重要因素。 


針對過擬合的上述原因,對應的預防和解決辦法如下: 

1 在訓練和建立模型的時候,從相對簡單的模型開始,不要一開始就把特徵做的非常多,模型引數跳的非常複雜。 

2 增加樣本,要覆蓋全部的資料型別。資料經過清洗之後再進行模型訓練,防止噪聲資料干擾模型。 

3 正則化。在模型演算法中新增懲罰函式來防止過擬合。常見的有L1,L2正則化。 

4 整合學習方法bagging(如隨機森林)能有效防止過擬合 

5 減少特徵個數(不是太推薦) 注意:降維不能解決過擬合。降維只是減小了特徵的維度,並沒有減小特徵所有的資訊。


題目來源:七月線上官網(www.julyedu.com)——面試題庫——面試大題——機器學習


640?wx_fmt=png



640?wx_fmt=gif

今日學習推薦

【PyTorch的入門與實戰】

  • 開課時間:2019年3月23日(本週六)

16小時帶你實戰PyTorch 1.0 

四大課程特色  八大實戰專案


640?wx_fmt=jpeg

長按識別下方二維碼

免費試聽

?

640?wx_fmt=png

長按識別二維碼


640?wx_fmt=gif


640?wx_fmt=gif

備戰AI求職季 | 100道機器學習面試題(上)

一文詳解:什麼是B樹?

機器學習中的數學基礎(微積分和概率統計)

一文詳解機器學習中最好用的提升方法:Boosting 與 AdaBoost

34個最優秀好用的Python開源框架

【實戰分享】電影推薦系統專案實戰應用

萬字長文概述NLP中的深度學習技術


諮詢,檢視課程,請點選“閱讀原文

「 在看的,麻煩點一下再走~ 」

相關文章