經驗風險最小化(empirical risk minimization)
/ em-PEER-ih-kul RISK min-ih-mih-ZAY-shun /
經驗風險最小化,是幾乎所有機器學習背後那條不動聲色的原則:既然你無法衡量一個模型在世上每一種情形下表現如何,你就退而求其次,衡量它在你手頭真有的那些例子上表現如何,並把這個表現盡量做好。「經驗」意思是「基於你眼前的資料」;「風險」不過是「平均損失」的一個正式說法;「最小化」就是把它壓到盡可能低。
老實說,背後的真相是:我們真正想要的東西——在所有未來、未見過的情形上都誤差很低(即「真實風險」)——是無法衡量的,因為未來還沒發生,而世界是無窮的。於是我們換上一個能算得出來的替身:訓練集上的平均損失(即「經驗風險」)。經驗風險最小化所下的賭注是:在一個龐大而有代表性的樣本上做得好,就能推廣到普遍情形上也做得好。常常確實如此——但前提是這個樣本真的長得像模型將要面對的那個世界。
過擬合也正是從這一條原則裡冒出來的。一個足夠靈活的模型,可以靠死記硬背每一個訓練樣本(連同其中的雜訊和怪癖)把經驗風險壓到零,而真實風險卻依舊居高不下。正是這道縫隙,讓我們不敢只信訓練損失,讓我們留出一份驗證集,也讓正則化、提前停止之類的手段得以存在——它們透過勸阻模型別把樣本擬合得太完美,來讓經驗風險最小化保持誠實。
你收集了一萬封帶標註的郵件,訓練一個垃圾郵件過濾器,去最小化它在這恰好一萬封上的平均誤差。這個平均值就是經驗風險。可你真正想要的,是它在明年將收到的數百萬封郵件上誤差很低——那個你永遠無法直接衡量的真實風險。經驗風險最小化寄望於:這一萬封是個忠實的替身。
我們在擁有的資料上最小化損失,寄望它能代表那些我們沒有的資料。
最小化訓練損失並不是目的——泛化才是。經驗風險最小化只有在訓練資料既大又有代表性時才管用;在一份有偏或極小的樣本上,把經驗風險壓得越完美,模型在真實世界裡可能反而越糟,而不是越好。