三個值得新增到您的資料科學工具包中的想法

OReillyData發表於2016-09-01

我總是在關注和尋找可以改進我如何解決資料分析專案的好想法。尤其喜歡可以轉化為我可以重複使用的工具的那些方法。大部分時候,我都是通過自己反覆嘗試或者諮詢其他從業人員來發現這些工具。我與學術界和學術研究也有著密切聯絡,我經常發一些推文推薦我偶然看到併為之入迷、深感興趣的學術論文。通常情況下,學術研究的結果不會馬上轉化為我所能用的,但是我最近偶然從幾個研究中發現一些想法,值得與大家分享。

我在這篇文章中闡述的想法解決了一些經常出現的問題。在我看來,這些想法也強化了資料科學中包含的資料管道的概念,而不僅僅是機器學習演算法。這些想法也應該能給試圖構建人工智慧應用的工程師們帶來啟示。

使用可重用的保留資料法來避免在互動式資料分析中出現過擬合

過擬合在統計和機器學習領域是一個眾所周知的問題。像保留部分資料做驗證法自助法以及交叉驗證法等技術被用來在靜態資料分析中避免過擬合。被廣泛應用的保留部分資料做驗證法將整個資料集劃分成兩個獨立集合。但是從業人員(包括我自己)經常在應用經典的保持法的時候忘記重要的一點:理論上相應的保留資料集只能被使用一次(如圖一所示):

640?wx_fmt=jpeg

圖一:靜態資料分析,由本·駱易家提供

而事實上,目前大部分資料科學專案本身都是互動式的。資料科學家反覆迭代多次並且基於之前的結果修正他們的方法或者演算法。很多情況下同一個保留資料集被頻繁多次地使用,這將會導致過擬合(如圖二所示):

640?wx_fmt=jpeg

圖二 互動式資料分析,由本·駱易家提供

為了解決這一問題,有一個研究團隊通過借鑑差分隱私的思想設計出了可重用的保留資料做驗證方法。通過解決過擬合問題,他們的方法可以增加資料產品的可靠性,特別是在有更多的智慧的應用被部署的關鍵場合裡。好訊息是他們得出的解決方案對於資料科學家來說是開放的,而且並不要求對差分隱私這一概念的理解。在聖荷西鐵桿資料科學會議上的一次演講中,谷歌的莫里茲·哈特(其中一名研究人員)描述了他們提出的閾值保留資料法,下面是其對應的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世界大會上一個名為“為什麼我該相信你?解釋機器學習模型的預測結果”的演講

相關資源如下:

 

640?wx_fmt=jpeg

本·羅瑞卡(Ben Lorica)

本· 羅瑞卡是O'Reilly的首席資料科學家和關於資料方面的內容策略主管。在多個領域裡(包括直銷市場、消費者和市場研究、精準廣告、文字挖掘和金融工程),他曾經進行了商業智慧、資料探勘、機器學習和統計分析的工作。他層效力於投資管理公司、網際網路創業企業和金融服務公司。

相關文章