【機器學習】簡單的例子解釋什麼是泛化、過擬合與欠擬合

泛化:如果一個模型能夠對沒見過的模型做出準確的預測,我們就說它能夠從訓練集泛化到測試集,也就是說,對於一個沒有見過的樣本也具有“舉一反三”的識別能力。如,我們告訴計算機1+1=2,之後的算法通過自己學習,而推廣到多位數的加減法。如果機器只會計算學過的數字,並沒有學以致用的能力,則可以說明機器的泛化程度相當低,我們稱之爲過擬合。如果機器沒有很好的數據學習能力,如1+3得出了5的答案,我們稱之爲欠擬合。

接下來看一個例子:預測顧客是否會買房。

訓練集示例
年齡 是否買房 婚否 子女數量
52 2
44 1
65 3
35 1

由上表我們可以得出一條規律:大於50歲、子女數量多於2個的顧客都會買房。但是,我們同樣可以得出一條更簡單的規律:大於50歲的顧客會買房。這條規律可以解釋所有顧客行爲,而不是與子女數量有關。那麼,我們找到了簡單的數據模型。如果將模型複雜化,如大於50歲、子女數量多於2個的顧客都會買房。那麼就容易處於一種過分關注細節的狀態,在訓練集上表現很好,卻不能泛化到所有新數據上。相反,有孩子的人都想買房,那麼此時,你可能無法抓住數據的全部內容,在訓練集上表現得很差。

 

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