學(xué)習(xí)機(jī)器學(xué)習(xí)時需要盡早知道的三件事
我已經(jīng)在學(xué)術(shù)界和工業(yè)界進(jìn)行了許多年的機(jī)器學(xué)習(xí)建模工作,在看了一系列討論“大數(shù)據(jù)”實(shí)用性問題的優(yōu)秀視頻 Scalable ML 后,我開始思考總結(jié)一些在學(xué)習(xí)機(jī)器學(xué)習(xí)時,我希望能夠盡早明白的事情。視頻來源于 Mikio Braun,介紹了 Scala 和 Spark 相關(guān)的知識。
我希望在學(xué)習(xí)機(jī)器學(xué)習(xí)時能夠盡早明白的事情有三項:
將模型應(yīng)用到產(chǎn)品中并不是一件簡單的小事;
在課本中我們很難學(xué)習(xí)到真正的特征選擇和特征提取技巧;
模型評估階段非常重要。
下面讓我一個一個地介紹它們。
1. 將模型應(yīng)用到產(chǎn)品中并不是一件簡單的小事
我在 Data-Product 上有一場介紹如何將常微分方程應(yīng)用到產(chǎn)品中的演講。之后我花了好一段時間才意識到,自己一個人來處理包括模型衰退、產(chǎn)品中模型評價、開發(fā)與運(yùn)維溝通等事務(wù)是多么的困難。Yhat 的 ScienceOps 是針對這個問題的一個解決方案。一開始我并沒有意識到它有多棒,現(xiàn)在我發(fā)現(xiàn)我很難在市場中找到該產(chǎn)品的直接競爭者,我真的覺得他們正在解決這個非常重要的問題。漸漸地,我意識到我沒有聰明到可以處理運(yùn)維成員負(fù)責(zé)的事務(wù)——所以我很樂意將這項工作外包。
2. 在課本中我們很難學(xué)習(xí)到真正的特征選擇和特征提取技巧
特征選擇和提取方法和技巧常常無法從課本中學(xué)習(xí)。這些技巧只能從像 Kaggle 競賽或現(xiàn)實(shí)世界中的項目中學(xué)習(xí),甚至有時候需要實(shí)際應(yīng)用這些技巧和方法才能學(xué)會它們。而這些工作在整個數(shù)據(jù)科學(xué)項目流程中占據(jù)了相當(dāng)一部分比重。
3. 模型評估階段非常重要
除非你已經(jīng)將模型應(yīng)用到測試集數(shù)據(jù)上了,否則你都不能說已經(jīng)進(jìn)入到預(yù)測分析階段。像交叉驗(yàn)證、評估指標(biāo)等評估技巧都是非常寶貴的,因?yàn)樗鼈冎恍鑼⒛愕臄?shù)據(jù)分離成測試集和訓(xùn)練集。但是實(shí)際生活通常并不會將已經(jīng)定義好測試集、訓(xùn)練集的數(shù)據(jù)給你,所以將真實(shí)世界中的數(shù)據(jù)劃分為測試數(shù)據(jù)和訓(xùn)練數(shù)據(jù),是一項充滿創(chuàng)造性的工作,其中可能包含許多情感因素。在 Dato 上有許多討論模型評估的優(yōu)秀文章。
我認(rèn)為 Mikio Braun 對訓(xùn)練集和測試集的解釋值得一讀。我也很喜歡他畫的圖并將其包含在文中,方便不熟悉訓(xùn)練集和測試集概念的讀者理解。
我們在論文、會議甚至在討論我們解決問題時所用的方法的時候,經(jīng)常忽略了模型評價。“我們在其中使用了 SVM ”這句話并沒有告訴我任何信息,這沒有告訴我你的數(shù)據(jù)來源,你選擇的特征,你的模型評估方法,你如何將其應(yīng)用到產(chǎn)品中,以及你在其中如何使用交叉驗(yàn)證或模型查錯。我認(rèn)為我們需要更多關(guān)于機(jī)器學(xué)習(xí)中這些“骯臟”的方面問題的討論。
我的朋友 Ian 在 Data Science Delivered 上有一個很好的筆記,適合需要為真實(shí)情況建立機(jī)器學(xué)習(xí)模型的任何層次的人員閱讀。同時也適合希望雇傭數(shù)據(jù)科學(xué)家的招聘人員或者與數(shù)據(jù)科學(xué)團(tuán)隊打交道的經(jīng)理閱讀——如果你正在找人詢問“你是如何處理這些骯臟的數(shù)據(jù)的”。