三個值得新增到您的資料科學工具包中的想法
我總是在關注和尋找可以改進我如何解決資料分析專案的好想法。尤其喜歡可以轉化為我可以重複使用的工具的那些方法。大部分時候,我都是通過自己反覆嘗試或者諮詢其他從業人員來發現這些工具。我與學術界和學術研究也有著密切聯絡,我經常發一些推文推薦我偶然看到併為之入迷、深感興趣的學術論文。通常情況下,學術研究的結果不會馬上轉化為我所能用的,但是我最近偶然從幾個研究中發現一些想法,值得與大家分享。
我在這篇文章中闡述的想法解決了一些經常出現的問題。在我看來,這些想法也強化了資料科學中包含的資料管道的概念,而不僅僅是機器學習演算法。這些想法也應該能給試圖構建人工智慧應用的工程師們帶來啟示。
使用可重用的保留資料法來避免在互動式資料分析中出現過擬合
過擬合在統計和機器學習領域是一個眾所周知的問題。像保留部分資料做驗證法、自助法以及交叉驗證法等技術被用來在靜態資料分析中避免過擬合。被廣泛應用的保留部分資料做驗證法將整個資料集劃分成兩個獨立集合。但是從業人員(包括我自己)經常在應用經典的保持法的時候忘記重要的一點:理論上相應的保留資料集只能被使用一次(如圖一所示):
圖一:靜態資料分析,由本·駱易家提供
而事實上,目前大部分資料科學專案本身都是互動式的。資料科學家反覆迭代多次並且基於之前的結果修正他們的方法或者演算法。很多情況下同一個保留資料集被頻繁多次地使用,這將會導致過擬合(如圖二所示):
圖二 互動式資料分析,由本·駱易家提供
為了解決這一問題,有一個研究團隊通過借鑑差分隱私的思想設計出了可重用的保留資料做驗證方法。通過解決過擬合問題,他們的方法可以增加資料產品的可靠性,特別是在有更多的智慧的應用被部署的關鍵場合裡。好訊息是他們得出的解決方案對於資料科學家來說是開放的,而且並不要求對差分隱私這一概念的理解。在聖荷西鐵桿資料科學會議上的一次演講中,谷歌的莫里茲·哈特(其中一名研究人員)描述了他們提出的閾值保留資料法,下面是其對應的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世界大會上做一個名為“為什麼我該相信你?解釋機器學習模型的預測結果”的演講。
相關資源如下:
六個我為什麼喜歡KeystoneML框架的原因——對話本·雷希特
GraphLab的演化史——對話卡洛斯·賈斯特林
深度學習——Strata + Hadoop世界大會演講集合
本·羅瑞卡(Ben Lorica)
本· 羅瑞卡是O'Reilly的首席資料科學家和關於資料方面的內容策略主管。在多個領域裡(包括直銷市場、消費者和市場研究、精準廣告、文字挖掘和金融工程),他曾經進行了商業智慧、資料探勘、機器學習和統計分析的工作。他層效力於投資管理公司、網際網路創業企業和金融服務公司。
相關文章
- 一個表單中的資料新增到不同的資料表中
- 資料科學家和大資料技術人員工具包資料科學大資料
- Python中非常有用的三個資料科學庫Python資料科學
- 理工大學大資料應用的三個學科大資料
- 足球比賽中的資料科學資料科學
- 資料科學中的 Spark 入門資料科學Spark
- 人的資料科學與機器資料科學資料科學
- Jquery學習(1):把 jQuery 新增到您的網頁jQuery網頁
- Python資料科學(三) python與資料科學應用(Ⅲ)Python資料科學
- 資料分析師、資料科學家、大資料專家三個職位的區別資料科學大資料
- 2017年資料科學發展中值得一入的坑資料科學
- 資料科學的原理與技巧 一、資料科學的生命週期資料科學
- 著陸資料科學工作的8個技巧!資料科學
- (資料科學學習手札97)掌握pandas中的transform資料科學ORM
- 資料科學中的非數學特徵工程技術資料科學特徵工程
- 資料科學職業需要的三種職業技能資料科學
- AI應從神經科學中借鑑想法和思路AI
- 讓科學重回資料科學資料科學
- Ed Jones:出色資料科學所應具的三種能力資料科學
- DataSpell 2023:專注於資料,加速您的資料科學之旅 mac/win啟用版資料科學Mac
- 資料科學的基本內容資料科學
- DataSet篩選資料然後新增到新的DataSet中引發的一系列血案
- 資料科學資料科學
- 資料科學新人需要知道的13個雷區資料科學
- 盤點5個常用的Python資料科學庫!Python資料科學
- 網際網路金融風控中的資料科學資料科學
- 一張圖:9個資料科學中的距離測量與演算法資料科學演算法
- 關於資料庫批次查詢的一個想法資料庫
- 資料科學求職建議:掌握5種型別的資料科學專案資料科學求職型別
- (資料科學學習手札99)掌握pandas中的時序資料分組運算資料科學
- 3 個用於資料科學的頂級 Python 庫資料科學Python
- 資料科學的原理與技巧二、資料生成資料科學
- 資料科學家的命令列技巧資料科學命令列
- 公民資料科學家的侷限性資料科學
- 資料科學的整合與細分資料科學
- 資料科學技能中,哪些是核心技能,哪些是熱門/新興技能?資料科學
- Laravel的mysql資料分離想法LaravelMySql
- 關於資料湖、資料倉儲的想法