選自Kaggle
作者:Ben Hamner
機(jī)器之心編譯
參與:黃小天
上個(gè)月,Kaggle 聯(lián)合創(chuàng)始人兼 CTO Ben Hamner 在 Quora 上回答了有關(guān) Kaggle、機(jī)器學(xué)習(xí)和人工智能的一系列問(wèn)題。對(duì)于 Hamner 給出的《機(jī)器學(xué)習(xí)的八個(gè)步驟》的建議,Kaggle Team 重新整理并做了核心摘要。
現(xiàn)在學(xué)習(xí)機(jī)器學(xué)習(xí)和人工智能比以往任何時(shí)候都更好。近年來(lái),這一領(lǐng)域飛速發(fā)展并碩果累累。專家們開(kāi)源了各種高質(zhì)量的軟件工具和庫(kù),新的線上資源和博文也層出不窮。機(jī)器學(xué)習(xí)帶動(dòng)了產(chǎn)業(yè)內(nèi)數(shù)十億美元的收入,催生出了空前的資源和海量的就業(yè)機(jī)會(huì)。但這也意味著如何入門(mén)機(jī)器學(xué)習(xí)讓人有點(diǎn)無(wú)所適從。下面是我的入門(mén)方法。如果你在本文中的某處卡住了,請(qǐng)搜索 Kaggle(也許某人以前也遇到了同樣問(wèn)題),并在 Kaggle 論壇上提出問(wèn)題(如果以前沒(méi)人提問(wèn)過(guò)該問(wèn)題),這是找到方向并解決問(wèn)題的好方法。
1. 挑一個(gè)你感興趣的問(wèn)題
從一個(gè)你想要解決的問(wèn)題而不是令人生畏的、不系統(tǒng)的主題列表(你可以從谷歌上搜索到很多的機(jī)器需誒心資源列表,這里我就不在提供)出發(fā),你會(huì)很容易地專注、主動(dòng)學(xué)習(xí)。解決問(wèn)題會(huì)促使你更深入更投入,而不是僅僅被動(dòng)地閱讀一些有關(guān)機(jī)器學(xué)習(xí)的文章。
選擇好的入門(mén)問(wèn)題有幾個(gè)標(biāo)準(zhǔn):
問(wèn)題涵蓋了你個(gè)人很感興趣的某一領(lǐng)域
數(shù)據(jù)隨時(shí)可用且非常適宜解決問(wèn)題(否則你的大部分時(shí)間將被耗掉)
你可在單臺(tái)機(jī)器上舒服地使用數(shù)據(jù)(或者數(shù)據(jù)的一些相關(guān)子集)
沒(méi)有發(fā)現(xiàn)問(wèn)題?被擔(dān)心!我們通過(guò)入門(mén)競(jìng)賽系列在 Kaggle 上提供了一些很好的機(jī)器學(xué)習(xí)問(wèn)題。點(diǎn)擊 Titanic 競(jìng)賽(https://www.kaggle.com/c/titanic)開(kāi)始。
2. 為你的問(wèn)題做一個(gè)快速、劣質(zhì)和笨拙的端到端解決方案。
確實(shí)很容易在實(shí)現(xiàn)細(xì)節(jié)中或者錯(cuò)誤機(jī)器學(xué)習(xí)算法的調(diào)試中陷入僵局,而你想要避免它。
在這里你的目標(biāo)是盡快獲得一些超級(jí)基本的內(nèi)容,涵蓋端到端的問(wèn)題:讀取數(shù)據(jù),并將其處理為適合機(jī)器學(xué)習(xí)的形式,訓(xùn)練基本模型,創(chuàng)造結(jié)果并評(píng)估其性能。
3. 進(jìn)行并改進(jìn)你的初步方案
現(xiàn)在你有了一個(gè)功能基準(zhǔn),是時(shí)候創(chuàng)新了。試著改進(jìn)初步方案的每一個(gè)組件,并衡量影響,看看在哪里花費(fèi)時(shí)間有意義。很多時(shí)候獲取更多數(shù)據(jù)或者改進(jìn)數(shù)據(jù)清理和預(yù)處理步驟比優(yōu)化機(jī)器學(xué)習(xí)模型本身有更高的回報(bào)率(ROI)。
這個(gè)步驟的一部分應(yīng)該包括動(dòng)手使用數(shù)據(jù)——檢查各行和可視化分布,以更好地理解其結(jié)構(gòu)和奇特性。
4. 寫(xiě)出并分享解決方案
獲得解決方案反饋的最佳方式是寫(xiě)下來(lái)并分享。寫(xiě)的過(guò)程是梳理解決方案的新方式,并帶來(lái)更好的理解。這同樣會(huì)使其他人理解你在做的事情并提供反饋,幫助你學(xué)習(xí)。這也啟動(dòng)了你的機(jī)器學(xué)習(xí)代表項(xiàng)目集(portfolio),有助于你展示能力并取得工作。
Kaggle 數(shù)據(jù)集(https://www.kaggle.com/datasets)和 Kaggle 內(nèi)核(https://www.kaggle.com/kernels)是你分享數(shù)據(jù)和解決方案、從其他人獲得反饋并觀察他人如何擴(kuò)展你的問(wèn)題的有效方式,并開(kāi)始充實(shí)你的 Kaggle 文件。
5. 在一系列不同的問(wèn)題上重復(fù)步驟 1-4
現(xiàn)在你已經(jīng)解決了感興趣的單一問(wèn)題,然后在一系列不同的領(lǐng)域中多次執(zhí)行這一操作。
你是從表格數(shù)據(jù)開(kāi)始的嗎?那就再解決一個(gè)涉及更少結(jié)構(gòu)化文本的問(wèn)題,以及另外一個(gè)處理圖像的問(wèn)題。
機(jī)器學(xué)習(xí)問(wèn)題最初對(duì)你而言是結(jié)構(gòu)化的嗎?很多創(chuàng)新性和有價(jià)值的工作解決的正是如何從一開(kāi)始把一個(gè)松散定義的業(yè)務(wù)或者研究目標(biāo)轉(zhuǎn)化為明確定義的機(jī)器學(xué)習(xí)問(wèn)題。通過(guò)這種方式解決一個(gè)問(wèn)題類型。
Kaggle 競(jìng)賽(https://www.kaggle.com/competitions)和 Kaggle 數(shù)據(jù)集為明確定義的機(jī)器學(xué)習(xí)問(wèn)題和適用于機(jī)器學(xué)習(xí)的原始數(shù)據(jù)資源提供了一個(gè)很好的起點(diǎn)。
6. 認(rèn)真地參與一場(chǎng) Kaggle 競(jìng)賽(如果你還沒(méi)這樣做)
對(duì)于一個(gè)數(shù)千人正致力解決的同一問(wèn)題給出最佳答案是一個(gè)巨大的學(xué)習(xí)機(jī)會(huì):它促使你對(duì)同一問(wèn)題不斷迭代,并使你發(fā)現(xiàn)什么可以有效解決問(wèn)題。
個(gè)體競(jìng)賽的論壇有著關(guān)于其他人如何使用你的方法處理和調(diào)試問(wèn)題的豐富資源,內(nèi)核提供了關(guān)于用簡(jiǎn)單方法開(kāi)始解決問(wèn)題的數(shù)據(jù)的探索性見(jiàn)解,并且獲獎(jiǎng)博文(http://blog.kaggle.com/category/winners-interviews/)在最后展示最佳成果。
Kaggle 競(jìng)賽也提供了與其他人組隊(duì)的獨(dú)特機(jī)會(huì)。社區(qū)人群有著不同的背景和技術(shù),每個(gè)人皆可有教和學(xué)兩種角色。你永遠(yuǎn)不會(huì)不知道,也許你未來(lái)的同事也在 Kaggle 社區(qū)中。
7. 申請(qǐng)機(jī)器學(xué)習(xí)專業(yè)工作
這使你把大部分時(shí)間花在機(jī)器學(xué)習(xí)上,并真正提升你的水平。決定你要追求的職位類型并打造與此相關(guān)個(gè)人代表項(xiàng)目集是一個(gè)強(qiáng)有力的起點(diǎn)。如果你還沒(méi)有準(zhǔn)備好面試機(jī)器學(xué)習(xí)職位,那就在目前的職位上接受新項(xiàng)目,尋求咨詢機(jī)會(huì);并且參與公民黑客馬拉松,把握與數(shù)據(jù)相關(guān)的社區(qū)服務(wù)機(jī)會(huì)也是獲得立足的額外途徑。專業(yè)工作需要強(qiáng)大的編程能力,并借其極大地提升工作表現(xiàn)——通過(guò)重點(diǎn)項(xiàng)目帶來(lái)的提升將產(chǎn)生很多下游收益。
專業(yè)機(jī)器學(xué)習(xí)工作的寶貴機(jī)會(huì)包括:
機(jī)器學(xué)習(xí)在生產(chǎn)系統(tǒng)中的應(yīng)用
聚焦機(jī)器學(xué)習(xí)研究,推動(dòng)最新進(jìn)展
利用機(jī)器學(xué)習(xí)提升產(chǎn)品和業(yè)務(wù)決策的探索性分析
8. 教其他人機(jī)器學(xué)習(xí)
教學(xué)可以幫你鞏固對(duì)機(jī)器學(xué)習(xí)核心概念的理解。教他人的方式有很多種,選擇最適合自己的一種:
寫(xiě)研究論文(https://papers.nips.cc/book/advances-in-neural-information-processing-systems-29-2016)
發(fā)表演講
寫(xiě)博文(http://blog.kaggle.com/)和教程(http://blog.kaggle.com/category/tutorials/)
在 Kaggle、Quora 和其他網(wǎng)站上回答問(wèn)題
個(gè)人指導(dǎo)和輔導(dǎo)
分享代碼實(shí)例(在 Kaggle 內(nèi)核和 GitHub 上)
教課
寫(xiě)書(shū)(http://www.deeplearningbook.org)
原文鏈接:http://blog.kaggle.com/2017/04/17/the-best-sources-to-study-machine-learning-and-ai-with-ben-hamner-kaggle-cto/
本文為機(jī)器之心編譯,轉(zhuǎn)載請(qǐng)聯(lián)系本公眾號(hào)獲得授權(quán)。
------------------------------------------------
加入機(jī)器之心(全職記者/實(shí)習(xí)生):hr@jiqizhixin.com
投稿或?qū)で髨?bào)道:editor@jiqizhixin.com
廣告&商務(wù)合作:bd@jiqizhixin.com
聯(lián)系客服