什麼是泛化誤差(Generalization error)?


假設有一場競賽, 百科全書中抽取很多很多條目(幾乎可以看成百科全書的全部)做題目,答錯最少的選手獲勝。某學校為了從該校學生中選擇一名學生參加這個競賽,舉行了一場選拔賽。因為條件限制,學校只能從百科全書隨機抽出一部分條目做題目。這些題目中錯誤最少的學生將勝出。

為什麼我們要講這個選拔賽的場景呢,因為分類器學習過程類似於這個場景。為了解決一個分類問題,學習演算法期望找到所有實例中最小錯誤率的分類器。因為不可能用所有實例訓練,學習演算法用一部分實例做訓練樣本,選擇最小訓練誤差的分類器。

這所學校希望選擇對百科全書全部條目答錯最少的學生,學習演算法希望找到所有實例上錯誤率最小的分類器。因為條件限制,學校只能選擇答錯選拔賽題目最少的學生,學習演算法只能選擇具有最小的訓練誤差的分類器。但我們心裡是沒有底的,萬一選拔賽獲勝的學生只是運氣好,選拔賽的題目碰巧是他會做的,怎麼辦。因此我們會關心,選拔賽獲勝的學生真實競賽中答錯率最多是多少,學習演算法找到的分類器的所有實例上的真實錯誤率最多是多少。泛化誤差分析將回答我們這些擔心。

從選拔賽說起——泛化誤差分析


從選拔賽說起——分類器泛化誤差分析


即真實情況下模型的誤差。模型訓練出來後,在測試集(抽樣)上測試會得出一個誤差,姑且叫E(in),但這個誤差是否能真實反應這個模型的預測的準確性呢?不一定。如果測試集(抽樣)不能很好地代表真實情況(總體),這個E(in)的值就不能很好地反應模型實際情況下的表現。而模型在真實情況(總體)上所表現出的誤差就稱為泛化誤差,這個誤差才能真正地反映模型的預測的準確性。Generalization error


跟「系統誤差"含義接近。測量的誤差結果不一定真實反應真實的情況,這個偏離就是泛化誤差。


當train出來一個model之後,parameters已經定了下來。然後用test dataset去test這個network。 泛化誤差就是test的時候的誤差。


一個機器學習模型的泛化誤差(Generalization error),是一個描述學生機器在從樣品數據中學習之後,離教師機器之間的差距的函數。使用這個名字是因為這個函數表明一個機器的推理能力,即從樣品數據中推導出的規則能夠適用於新的數據的能力。


推薦閱讀:

數學建模在大學含金量有多大?
在數學上首先發明,其後才在物理/工程上得到應用的例子有哪些?
真正會數學建模的人有多厲害?
如何學習不感興趣但自己也認為很重要的東西?
求問做美國數學建模要做哪些準備?

TAG:數學 | 數學建模 | 統計 | 數值分析 |