欠擬合、過擬合及解決方法


一、欠擬合

    首先欠擬合就是模型沒有很好的捕捉到數據特征,不能夠很好的擬合數據,如下面的例子:

        左圖表示size和prize關系的數據,中間的圖就是出現欠擬合的的模型,不能夠很好的擬合數據,如果在中間的多項式上再加一個二項式,就可以很好的擬合數據了,如右圖所示。

        解決方法:

1、添加其它的特征項,有時候模型欠擬合是數據的特征項不夠造成的,可以添加其它的特征項來很好的解決,例如"組合","范化",”相關性“三類特征是特征添加的重要手段,無論在什么場合,都可以照葫蘆畫瓢,總會得到滿意的效果。除上面的特征外,“上下文特征”、“平台特征”等等,都 可以作為特征添加的首選項。

2、添加多項式特征,這個在機器學習算法里用的很普遍,例如上面的例子,將線性模型加入二次項或者三次項使模型范化能力更強

3、減少正則化參數,正則化的目的是用來防止過擬合的,但是現在模型出現了欠擬合,則需要減少正則化參數

 

二、過擬合

       通俗一點來說是模型把數據學習的太徹底,以至於把數據中的噪聲特征也學到了,這樣就會導致后期測試的時候不能很好的識別數據,即不能正確的分類數據,模型泛化能力太差,例如下面的例子:

上圖左邊表示size和prize的關系,我們學習到的模型曲線如右圖所示,雖然在訓練的時候很好的匹配數據,但是很顯然扭曲了曲線,不是真實的size和prize曲線。

解決方法:

      1、重新清洗數據,導致過擬合的一個原因也有可能是數據不純導致的,如果出現了過擬合就需要我們重新清洗數據。

      2、增大數據的訓練量,還有一個原因就是我們用於訓練的數據量太小導致的,訓練數據占總數據的比例過小

      3、采用正則化方法。正則化方法包括L0正則,L1正則和L2正則,而正則一般是在目標函數之后加上對於的范數,但是在機器學習中一般用L2正則

      4、采用dropout方法。這個方法在神經網絡中很常用。dropout方法是imageNet中提出的一種方法,通俗一點講就是dropout方法在訓練時讓神經元以一定概率的不工作,具體看下圖:

   

如上圖所示,左圖(a)是沒有使用dropout方法的標准神經網絡,右邊(b)圖是在訓練時使用了dropout方法的神經網絡,即在訓練的時候以一定的概率p來跳過一定的神經元

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM