https://yq.aliyun.com/articles/85369
◆ ◆ ◆
導讀
我總是在關注和尋找可以改進我如何解決數據分析項目的好想法。尤其喜歡可以轉化為我可以重複使用的工具的那些方法。大部分時候,我都是通過自己反複嚐試或者谘詢其他從業人員來發現這些工具。我與學術界和學術研究也有著密切聯係,我經常發一些推文推薦我偶然看到並為之入迷、深感興趣的學術論文。通常情況下,學術研究的結果不會馬上轉化為我所能用的,但是我最近偶然從幾個研究中發現一些想法,值得與大家分享。
我在這篇文章中闡述的想法解決了一些經常出現的問題。在我看來,這些想法也強化了數據科學中包含的數據管道的概念,而不僅僅是機器學習算法。這些想法也應該能給試圖構建人工智能應用的工程師們帶來啟示。
◆ ◆ ◆
使用可重用的保留數據法來避免在交互式數據分析中出現過擬合
過擬合在統計和機器學習領域是一個眾所周知的問題。像保留部分數據做驗證法、自助法以及交叉驗證法等技術被用來在靜態數據分析中避免過擬合。被廣泛應用的保留部分數據做驗證法將整個數據集劃分成兩個獨立集合。但是從業人員(包括我自己)經常在應用經典的保持法的時候忘記重要的一點:理論上相應的保留數據集隻能被使用一次(如圖一所示):
圖一:靜態數據分析,由本·駱易家提供
而事實上,目前大部分數據科學項目本身都是交互式的。數據科學家反複迭代多次並且基於之前的結果修正他們的方法或者算法。很多情況下同一個保留數據集被頻繁多次地使用,這將會導致過擬合(如圖二所示):
圖二 交互式數據分析,由本·駱易家提供
為了解決這一問題,有一個研究團隊通過借鑒差分隱私的思想設計出了可重用的保留數據做驗證方法。通過解決過擬合問題,他們的方法可以增加數據產品的可靠性,特別是在有更多的智能的應用被部署的關鍵場合裏。好消息是他們得出的解決方案對於數據科學家來說是開放的,而且並不要求對差分隱私這一概念的理解。在聖何塞鐵杆數據科學會議上的一次演講中,穀歌的莫裏茲·哈特(其中一名研究人員)描述了他們提出的閾值保留數據法,下麵是其對應的Python代碼:
from numpy import *
def Thresholdout(sample, holdout, q):
# function q is what you’re “testing” – e.g., model loss
sample_mean = mean([q(x) for x in sample])
holdout_mean = mean([q(x) for x in holdout])
sigma = 1.0 / sqrt(len(sample))
threshold = 3.0*sigma
if (abs(sample_mean – holdout_mean)
< random.normal(threshold, sigma) ):
# q does not overfit: your “training estimate” is good
return sample_mean
else:
# q overfits (you may have overfit using your training data)
return holdout_mean + random.normal(0, sigma)
他們的閾值保留數據法和其他方法的細節可以在這篇論文和哈特的博客文章中找到。我也推薦最近的一篇關於盲樣分析的論文——一個相關的數據攝動法在物理學中的應用,可能很快會在其他學科也得到應用。
◆ ◆ ◆
使用隨機搜索進行黑盒參數調優
大部分數據科學項目涉及到數據管道,其中包含了一些需要恰當調整的“旋鈕”(超參數),通常需要反複試驗來完成調優。這些超參數通常伴隨著特定的機器學習方法(網絡深度和架構、窗口大小等),但是它們也涉及到影響數據準備及其他數據管道中的步驟的多個方麵。
隨著機器學習管道相關應用日漸增多,超參數調優成為許多研究論文(甚至是商業產品)的主題。許多結果是基於貝葉斯優化和其相關技術。
在職的數據科學家不需要急著去學習貝葉斯優化。最近加州大學伯克利分校的本·雷希特的博客中強調:研究表明當進行黑盒參數調優時,簡單的隨機搜索實際上與更高級的方法相比是十分有競爭力的。並且他們正在努力提高某些特定工作裏的隨機搜索的速度。
◆ ◆ ◆
通過局部近似來解釋你的黑盒模型
在某些領域(包括健康、消費金融以及安全),模型解釋是常見的需求。而目前黑盒模型風靡全球——包括深度學習以及其他算法甚至是模型組合定義。隨著人工智能受到關注,指出黑盒技術僅可以被部署到某些應用領域是十分重要的,這些領域必須已經開發出可以使得模型更加具有解釋性的工具。
最近,來自馬爾·科圖略·裏貝羅和其同事們的一篇論文提出了一種可以使得這種模型更加容易解釋的方法。在這篇論文中提出的想法是使用一係列可解釋的局部可信近似值:這是一些可解釋的局部模型,可以近似原始模型在將被預測的實例附近是如何行為的。研究人員觀察到,盡管一個模型可能過於複雜以至於不能夠全局的解釋,但是提供一個局部可信的解釋通常來說已經足夠。
最近的一個演講描述了研究人員提供的該方法的實用工具。論文的一位共同作者卡洛斯·賈斯特林演示了一個相關方法的實現,幫助調試一個計算機視覺應用中的深度神經網絡。
卡洛斯·賈斯特林將在2016年9月26日至29日在紐約舉辦的Strata + Hadoop世界大會上做一個名為“為什麼我該相信你?解釋機器學習模型的預測結果”的演講。
原文發布時間為:2016-09-11
本文來自雲棲社區合作夥伴“大數據文摘”,了解相關信息可以關注“BigDataDigest”微信公眾號
最後更新:2017-06-05 16:32:29