當前位置:
首頁 > 最新 > 可預測性:何以得知機器學習問題沒有希望

可預測性:何以得知機器學習問題沒有希望

作者:Stephen Kolassa

編譯:weakish

編者按:機器學習訓練常常面臨這樣一個問題:何時應該停止。IIF(國際預測者協會)主任Stephan Kolassa在Cross Validated上簡要討論了這一可預測性問題。

問題

想像一個標準的機器學習場景:

你面對的是一個巨大的多元數據集,而你對它的了解相當模糊。你需要根據已有的數據預測某個變數。和平時一樣,你清理數據,查看描述性統計數據,運行一些模型,交叉驗證它們,等等,但經過好幾次嘗試,來來回回嘗試了好多模型,似乎沒有一個有效的,你得到的結果很蹩腳。你可能在這個問題上花了好幾個小時、好幾天乃至好幾周……

問題是:何時應該停止?你怎麼知道你的數據事實上沒有希望,所有酷炫的模型對你而言不會比其他瑣碎的方案更有幫助?

當然,這是一個可預測性問題,但據我所知,在使用模型嘗試預測之前,評估多元數據的可預測性很難。我錯了嗎?

-- Tim

可預測性

你說的沒錯,這是一個關於可預測性的問題。IIF面向從業者的期刊Foresight中有好幾篇關於可預測性的文章(利益相關:我是該期刊的Associate Editor)。

問題在於,即使在「簡單」情形下評估可預測性也已經是很困難了。

一些例子

假設你有如下圖所示的一些時序數據,但是你並不懂德語:

你將如何建模4月的峰值?你將如何在任何預測中包含這一信息?

除非你知道這是瑞士一家連鎖超市的雞蛋銷量的時序數據,在復活節前夕達到了峰值,你不會有任何機會的。除此之外,由於每年的復活節日期相差可能高達6周,任何沒有包括復活節的特定日期的預測(例如,假定這是季節性的峰值,會在下一年的同一周出現)都會大錯特錯。

類似地,假定你有下圖的藍線數據,希望建模為何2010-02-28的數據和2010-02-27的數據如此不同:

同樣,如果不知道滿城的加拿大人在電視上觀看奧林匹克冰球決賽,你不可能理解這裡發生了什麼,同時你不可能預測類似這樣的事件是否會再次發生。

最後,看下這個:

這是一家現購自運商店(譯者註:現金購買、自己運走的倉儲式批發商店)的時序數據。(右側的表格表明:282天銷售額為零,42天銷售額為1……有一天銷售額為500)我不知道銷售的是什麼東西。

直到今天為止,我都不知道銷售額為500的那一天發生了什麼。我最好的猜測是某個顧客預訂了大量的某種商品,然後那一天提貨了。不知道相關信息的前提下,任何特定一天的預測都將大錯特錯。相反,假定這恰好發生在復活節前,並且我們有一個非常聰明的演算法相信這可能是復活節效應(也許這些是雞蛋?),然後高興地預測下一個復活節會有500單元的銷售額。天啊,這怎麼會不對呢?

概要

在所有的情形下,我們看到,一旦我們具備了對可能影響數據的因素的足夠深的理解,我們就可以充分理解可預測性。問題在於,除非我們知道這些因素,我們不會知道我們可能並不知道這些因素。正如Donald Rumsfeld所言:

有已知的已知,有些事,我們知道我們知道;我們也知道,有已知的未知,也就是說,有些事,我們現在知道我們不知道。但是,同樣存在未知的未知——有些事,我們不知道我們不知道。

如果復活節或加拿大人對冰球的偏好對我們而言是未知的未知,那我們就陷入了困境——我們甚至不會有一條出路,因為我們不知道我們需要提出什麼樣的問題。

應對這些的唯一方法是收集領域知識。

結論

基於此,我得出了一些結論:

你總是需要在你的建模和預測中包括領域知識。

即使具備了領域知識,也並不能保證你得到了讓用戶接受你的預測的足夠信息。

如果「你得到的結果很蹩腳」,你可能在追求你不可能達成的東西。如果你預測一枚均勻硬幣的投擲結果,你不可能超過50%精確度。同樣,不要信任外部的預測精確度基準測試。

底線

下面是我對構建模型的一些建議——以及如何觀察何時應當停止的建議:

如果你自己不具備領域知識,和具備領域知識的人聊一聊。

基於上一步,識別你想要預測的數據的主要驅動因素,包括可能的交互因素。

迭代地構建模型,按照強度數量級的倒序逐漸加入驅動因素。使用交叉驗證或保留樣本評估模型。

如果你的預測精確度無法進一步提升了,或者回到第一步(例如,識別出你無法解釋的明顯的錯誤預測,和領域專家討論一下),或者接受這樣一個事實,你已經窮盡了你的模型的能力。事先將你的分析納入時間盒會很有幫助。

注意,我並不推崇在原本的模型位於高原的時候嘗試不同類別的模型。通常而言,如果你開始使用的是一個合理的模型,使用一個更複雜的模型不會帶來更多益處,可能只會「過擬合測試集」。我之前經常見到這樣的例子,其他人也持相同的看法。

原文地址:https://stats.stackexchange.com/questions/222179/how-to-know-that-your-machine-learning-problem-is-hopeless/222189#222189

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

如何快速入門機器學習
機器學習和人類學習的區別到底是什麼?

TAG:機器學習 |