過擬合和欠擬合的形象解釋

今天突然被以前同學人問到機器學習中的’過擬合‘和‘欠擬合’是什麼意思呢?

“過擬合就是訓練的時候效果很好,損失函數值可以降得很低,但是到測試數據集的時候表現就不那麼好了,原因是過分依賴於現有訓練數據集的特徵造成的,解決方法是可以加大數據集來進行訓練。比如在圖像領域可以通過拉伸旋轉變換剪裁等等方式來增加訓練數據集然後通過Dropout隨機清零參數來避免.......“。巴拉巴拉講了一堆,雖然我很想解釋明白,但是.......總感覺有苦說不出的憋屈,最後:

這讓我意識到我可能太過於沉浸於自己的世界了,沒有考慮到別人的感受,我回來後尋思着不對,對於沒有接觸過機器學習這一塊的人來說很多名詞可能就聽不太懂,我不能用太多的專業詞,我要用最直白的語言解釋,於是產生了這篇博客。

 

--------------------以下進行正經的解釋----------------------

擬合(Fitting):就是說這個曲線能不能很好的描述某些樣本,並且有比較好的泛化能力。

過擬合(Overfitting):就是太過貼近於訓練數據的特徵了,在訓練集上表現非常優秀,近乎完美的預測/區分了所有的數據,但是在新的測試集上卻表現平平,不具泛化性,拿到新樣本後沒有辦法去準確的判斷。

下面給一個代碼中實際的運行結果感受一下:

欠擬合(UnderFitting):測試樣本的特性沒有學到,或者是模型過於簡單無法擬合或區分樣本。

 

直觀解釋:

 

 

解決過擬合的方法:增大數據量,正則化(L1,L2),丟棄法Dropout(把其中的一些神經元去掉只用部分神經元去構建神經網絡)

解決欠擬合的方法:優化模型,一般是模型過於簡單無法描述樣本的特性。

 

-----------------------------------正經解釋完畢,以下是非正經解釋----------------------------------

就好比你喜歡一個女生,這個女生有着自己的習性,爲了追到這個女生我們經常會去迎合這個女生的習性。比如喝溫水有固定的溫度、掛電話只能她先掛、出去逛街不能嗶嗶太累、看書只能用書籤不能摺頁........,這個就是我們學到的‘經驗’。但是!萬一也許可能這個女生某一天覺得你沒有足夠關心她每天都忙於自己的事情就和你分手啦.....

 

然後,當你再找女朋友時,你拿出這些 ‘經驗’ 但是好像發現效果並不好,因爲每個女生的習性和喜好都不一樣,所以你就陷入過擬合。

怎麼解決過擬合呢?那就是多交幾個女朋友(增大訓練數據量)啦!多瞭解一些不同女生的習性和喜好,當你已經把全世界所有女生的習性和喜好都學過之後,還有你追不到的女朋友嗎? 但是,現實很殘酷的,哪有那麼多女朋友來供你學習的,你還可以選擇丟棄法(Dropout),就是選擇性的學習女朋友的喜好和習性,這樣就會有概率學不到只屬於她“個人癖好”的部分,你學到的就會更加具有普適性。

 

如何解釋欠擬合...,那就簡單了,就是你第一個女朋友都沒追到,她的習性和喜好你還沒能完全掌握。

那麼怎麼解決欠擬合呢?那就只能提升你自己的人格魅力了(模型複雜度),這個我也沒什麼資格指點你,畢竟我也是憑實力單身多年。

 

完美擬合,當你在追第一個女朋友的時候,你自身有一定的人格魅力(模型複雜度),並且並沒有完全去迎合她的習性,畢竟存在 ‘個人癖好’ 這個‘錯誤’習性,你學到的是有泛化性的女生習性特徵,當你用這些特徵再去追女生的時候,成功率就很高了!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章