▌0. 背景
寫(xiě)這篇文章的初衷是大部分私信我的朋友都想了解如何入門(mén)/轉(zhuǎn)行機(jī)器學(xué)習(xí),搭上人工智能這列二十一世紀(jì)的快車(chē)。再加上這個(gè)問(wèn)題每隔一陣子就會(huì)在知乎時(shí)間線上出現(xiàn)一次,因此想寫(xiě)一篇文章來(lái)“一勞永逸”的分享我的觀點(diǎn)。
文章的宗旨是:1. 指出一些自學(xué)的誤區(qū) 2. 不過(guò)多的推薦資料 3. 提供客觀可行的學(xué)習(xí)表 4. 給出進(jìn)階學(xué)習(xí)的建議。這篇文章的目標(biāo)讀者是計(jì)劃零基礎(chǔ)自學(xué)的朋友,對(duì)數(shù)學(xué)/統(tǒng)計(jì)基礎(chǔ)要求不高,比如:
在讀的學(xué)生朋友
非計(jì)算機(jī)行業(yè)的讀者
已經(jīng)工作但想將機(jī)器學(xué)習(xí)/數(shù)據(jù)分析和自己的本職工作相結(jié)合的朋友
因此,這篇文章對(duì)于已經(jīng)身處機(jī)器學(xué)習(xí)領(lǐng)域可能幫助不大。同時(shí)再次聲明這只是我的個(gè)人看法,請(qǐng)大家有選擇的性閱讀,探索適合自己的學(xué)習(xí)方法。
▌1. 自學(xué)機(jī)器學(xué)習(xí)的誤區(qū)和陷阱
1.1. 不要試圖掌握所有的相關(guān)數(shù)學(xué)知識(shí)再開(kāi)始學(xué)習(xí)
在很多相關(guān)的回答中(https://www.zhihu.com/question/60064269/answer/172305599),我都一再?gòu)?qiáng)調(diào)不要試圖補(bǔ)足數(shù)學(xué)知識(shí)再開(kāi)始學(xué)習(xí)機(jī)器學(xué)習(xí)。一般來(lái)說(shuō),大部分機(jī)器學(xué)習(xí)課程/書(shū)籍都要求:
線性代數(shù):矩陣/張量乘法、求逆,奇異值分解/特征值分解,行列式,范數(shù)等
統(tǒng)計(jì)與概率:概率分布,獨(dú)立性與貝葉斯,最大似然(MLE)和最大后驗(yàn)估計(jì)(MAP)等
優(yōu)化:線性?xún)?yōu)化,非線性?xún)?yōu)化(凸優(yōu)化/非凸優(yōu)化)以及其衍生的求解方法如梯度下降、牛頓法、基因算法和模擬退火等
微積分:偏微分,鏈?zhǔn)椒▌t,矩陣求導(dǎo)等
信息論、數(shù)值理論等
一般人如果想要把這些知識(shí)都補(bǔ)全再開(kāi)始機(jī)器學(xué)習(xí)往往需要很長(zhǎng)時(shí)間,容易半途而廢。而且這些知識(shí)是工具不是目的,我們的目標(biāo)又不是成為運(yùn)籌學(xué)大師。建議在機(jī)器學(xué)習(xí)的過(guò)程中哪里不會(huì)補(bǔ)哪里,這樣更有目的性且耗時(shí)更低。
1.2. 不要把深度學(xué)習(xí)作為入門(mén)的第一門(mén)課
雖然很多人都是沖著深度學(xué)習(xí)來(lái)的,但把深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)第一課不是個(gè)好主意。原因如下:
深度學(xué)習(xí)的黑箱性更加明顯,很容易學(xué)得囫圇吞棗
深度學(xué)習(xí)的理論/模型架構(gòu)/技巧還在一直變化當(dāng)中,并未塵埃落定
深度學(xué)習(xí)實(shí)驗(yàn)對(duì)硬件要求高,不太適合自學(xué)或者使用個(gè)人電腦進(jìn)行學(xué)習(xí)
更多討論可以看我的回答:深度學(xué)習(xí)的教學(xué)和課程,與傳統(tǒng) CS 的教學(xué)和課程有什么區(qū)別?(https://www.zhihu.com/question/63883727/answer/225499427)
1.3. 不要收集過(guò)多的資料 & 分辨資料的時(shí)效性
機(jī)器學(xué)習(xí)的資料很多,動(dòng)輒就有幾個(gè)G的材料可以下載或者觀看。而很多朋友都有“收集癖”,一下子購(gòu)買(mǎi)十幾本書(shū)的人我也常常能夠看到。
機(jī)器學(xué)習(xí)的發(fā)展和變化速度很快。在入門(mén)期間,建議“小而精”的選擇資料,選擇近期出版的且口碑良好的書(shū)籍。我不止一次的提到這個(gè)例子:
在很多深度學(xué)習(xí)的教科書(shū)中,尤其是10年以前的教科書(shū)中都還依然把Sigmoid當(dāng)作默認(rèn)的激活函數(shù)。但事實(shí)上,整流函數(shù)(ReLu)以及其拓展變形函數(shù),如Leaky ReLu早就成為了主流的深度學(xué)習(xí)激活函數(shù)。但因?yàn)橹R(shí)的滯后性,很多課程/書(shū)籍甚至都沒(méi)有介紹ReLu的章節(jié)。
一般來(lái)說(shuō),我比較推薦近5年內(nèi)出版的書(shū)籍,或者10年以后出版的書(shū)籍。有些書(shū)籍雖然是經(jīng)典,比如Tom Mitchell的《機(jī)器學(xué)習(xí)》,但因?yàn)槠涑霭嬉呀?jīng)超過(guò)20年,還是不建議大家購(gòu)買(mǎi)。
在這篇文章中我所推薦的書(shū)籍和課程都相對(duì)比較經(jīng)典,同時(shí)屬于緊跟時(shí)代潮流的。入門(mén)階段我推薦了1門(mén)課程和2本書(shū),進(jìn)階階段推薦了1本書(shū),深度學(xué)習(xí)推薦了1門(mén)課程一本書(shū),高級(jí)階段推薦了2本額外書(shū)籍。
▌2. 機(jī)器學(xué)習(xí)的一些前期準(zhǔn)備
2.1. 硬件選擇
另一個(gè)大家常問(wèn)的問(wèn)題是:是否可以用自己的筆記本電腦進(jìn)行機(jī)器學(xué)習(xí)。答案是肯定的,大部分市面上的數(shù)據(jù)集都可以放到你的內(nèi)存中運(yùn)行。在入門(mén)階段,我們很少會(huì)用到非常大的數(shù)據(jù)集,一般最大也就是MNIST,完全可以使用個(gè)人筆記本電腦進(jìn)行運(yùn)行。
請(qǐng)不要打著學(xué)習(xí)的名義重新購(gòu)買(mǎi)機(jī)器...
2.2. 軟件選擇
如果要做深度學(xué)習(xí),Linux還是首選,因?yàn)槠鋵?duì)很多學(xué)習(xí)模型支持比較好(主要是深度學(xué)習(xí)的Library)。但即使你使用的是Windows系統(tǒng),也可以用虛擬機(jī)裝Ubuntu來(lái)進(jìn)行學(xué)習(xí)。小型的深度學(xué)習(xí)模型足夠了,大型的深度學(xué)習(xí)我們很少在本地/個(gè)人計(jì)算機(jī)上運(yùn)行。
至于編程語(yǔ)言,首推Python,因?yàn)槠淞己玫耐卣怪С中裕髁鞯墓ぞ甙加蠵ython版本。在特定情況下,選擇R作為編程語(yǔ)言也是可以的。其他可能的語(yǔ)言還包括C++、Java和Matlab,但我個(gè)人不大推薦。
此處也想額外提一句,因?yàn)榫幊虒儆跈C(jī)器學(xué)習(xí)基本要求之一,所以推薦大家可以自學(xué)一些基礎(chǔ)編程的知識(shí)(如Python),在文中不再贅述。
2.3. 語(yǔ)言能力
學(xué)好英語(yǔ),至少打下閱讀和聽(tīng)力的基礎(chǔ)。雖然人工智能領(lǐng)域中國(guó)現(xiàn)在已經(jīng)做得很不錯(cuò),但主流的書(shū)籍、期刊和會(huì)議,資料都是英文的。我們可以接受翻譯版,但最好的方法還是自己有能力直接閱讀。即使你將來(lái)不做機(jī)器學(xué)習(xí),英文閱讀能力還是會(huì)有很大的幫助。
▌3. 機(jī)器學(xué)習(xí)課程表
3.1. 第一階段:基礎(chǔ)入門(mén)(3-6個(gè)月)
入門(mén)的第一步是學(xué)習(xí)一些經(jīng)典課程并配套經(jīng)典書(shū)籍,一般來(lái)說(shuō)這個(gè)過(guò)程在半年之內(nèi)比較合適。在這個(gè)部分我介紹的課程和書(shū)籍都屬于難度非常低的,對(duì)數(shù)學(xué)和編程都沒(méi)什么太大的要求。
3.1.1. 吳恩達(dá)Cousera機(jī)器學(xué)習(xí)課程
Andrew Ng的機(jī)器學(xué)習(xí)課程(Machine Learning | Coursera)是很多人的啟蒙課程,難度適中且完全免費(fèi)。Coursera上總共有49285個(gè)人給出了評(píng)分,平均得分4.9分,滿分5分。據(jù)我個(gè)人觀察,大部分Coursera上的課程評(píng)分處于4-4.5分之間,能做到4.9分的課程寥寥無(wú)幾。另一個(gè)值得關(guān)注的是,這門(mén)課有接近五萬(wàn)人給出評(píng)分,統(tǒng)計(jì)學(xué)知識(shí)告訴我們這個(gè)樣本較大所以評(píng)分應(yīng)該趨近于其真實(shí)值,比較可信。根據(jù)Freecodecamp的統(tǒng)計(jì),這門(mén)課是所有在線Machine Learning課程中最受到大家好評(píng)的課程。另一個(gè)比較直接的觀察是如果大家在知乎上搜索“機(jī)器學(xué)習(xí)如何入門(mén)?”,大部分答案都提到了Andrew的這門(mén)入門(mén)課程,所以這是一門(mén)絕對(duì)的口碑課程。
3.1.2. Python機(jī)器學(xué)習(xí) & Introduction to Statistical Learning with R
在學(xué)習(xí)吳恩達(dá)的在線課程時(shí),推薦同時(shí)閱讀相關(guān)的機(jī)器學(xué)習(xí)書(shū)籍補(bǔ)充理論知識(shí)。我再次推薦這兩本非常好的入門(mén)書(shū)籍,在我的專(zhuān)欄也有對(duì)于這兩本書(shū)的介紹。
Python機(jī)器學(xué)習(xí):這本書(shū)出版于2015年并多次再版,在亞馬遜中國(guó)上我們可以找到影印版和翻譯版。這本書(shū)去掉了大量的數(shù)學(xué)推導(dǎo)的部分,僅保留了機(jī)器學(xué)習(xí)的核心應(yīng)用。閱讀本書(shū)可以快速對(duì)如何使用Python機(jī)器學(xué)習(xí)框架Sklearn有一個(gè)基本的了解,可以很快上手開(kāi)始工作。本書(shū)涉及的內(nèi)容很廣泛,雖然只有400多頁(yè),但內(nèi)容涉及了數(shù)據(jù)預(yù)處理(Data Preprocessing), 維度壓縮和核函數(shù)(Dimension Reduction & Kernel),評(píng)估方法如交叉驗(yàn)證,集成學(xué)習(xí),情感分析,聚類(lèi),甚至還包括了神經(jīng)網(wǎng)絡(luò)和Theano。更多介紹:帶你讀機(jī)器學(xué)習(xí)經(jīng)典(三): Python機(jī)器學(xué)習(xí)(Chapter 1&2)(https://zhuanlan.zhihu.com/p/28647608)
Introduction to Statistical Learning with R(ISL):相信正在機(jī)器學(xué)習(xí)苦海中遨游的朋友們肯定都聽(tīng)過(guò)大名鼎鼎的The Element of Statistical Learning, 這本頻率學(xué)派的統(tǒng)計(jì)學(xué)習(xí)“圣經(jīng)”被大家叫做ESL。而ISL正是基于滿足更廣大閱讀人群的目的而推出的;ISL是ESL的入門(mén)版,不僅大量的去除了繁復(fù)的數(shù)學(xué)推導(dǎo),還加入了R編程的部分,方便大家可以盡快上手。這本書(shū)是我推薦書(shū)單第一名:ISL的電子版是免費(fèi)的:點(diǎn)擊下載(http://www-bcf.usc.edu/~gareth/ISL/ISLR%20First%20Printing.pdf)。更多介紹:帶你讀機(jī)器學(xué)習(xí)經(jīng)典(一): An Introduction to Statistical Learning (Chapter 1&2)(https://zhuanlan.zhihu.com/p/27556007)
3.1.3. 周志華《機(jī)器學(xué)習(xí)》
周志華老師的《機(jī)器學(xué)習(xí)》也被大家親切的叫做“西瓜書(shū)”。雖然只有幾百頁(yè),但內(nèi)容涵蓋比較廣泛。然而和其他人的看法不同,我建議把西瓜書(shū)作為參考書(shū)而不是主力閱讀書(shū)。西瓜書(shū)因?yàn)槠南拗疲w了很多的內(nèi)容但無(wú)法詳細(xì)的展看來(lái)講,對(duì)于初學(xué)者自學(xué)來(lái)說(shuō)實(shí)際閱讀難度很大。這本書(shū)更適合作為學(xué)校的教材或者中階讀者自學(xué)使用,入門(mén)時(shí)學(xué)習(xí)這本書(shū)籍難度稍微偏高了一些。
我個(gè)人建議的用法是在學(xué)習(xí)網(wǎng)課和閱讀ISL遇到疑惑時(shí)可以參考西瓜書(shū)的相關(guān)章節(jié),但入門(mén)階段沒(méi)有必要一章一章的閱讀,建議在這個(gè)階段只閱讀前十章即可。
3.2. 第二階段:進(jìn)階學(xué)習(xí)(3-6個(gè)月)
在這個(gè)階段,你已經(jīng)對(duì)機(jī)器學(xué)習(xí)有了基本的了解。如果你認(rèn)真的閱讀了ISL并上完了吳恩達(dá)的課程,我相信你已經(jīng)在理論上明白了什么是線性回歸,什么是數(shù)據(jù)壓縮,對(duì)特征工程以及簡(jiǎn)單的回歸/預(yù)測(cè)問(wèn)題有了理論上的基礎(chǔ)。這個(gè)時(shí)候最重要的就是進(jìn)行實(shí)踐!
3.2.1. Kaggle挑戰(zhàn)賽/練習(xí)
Kaggle(Your Home for Data Science)在數(shù)據(jù)分析領(lǐng)域早已大名鼎鼎,甚至可以說(shuō)是數(shù)據(jù)分析第一社區(qū),前一陣子剛剛被谷歌收購(gòu)。Kaggle上有很多很好的數(shù)據(jù)集和挑戰(zhàn)賽,你可以嘗試這些挑戰(zhàn)取得名次,甚至拿到獎(jiǎng)金,對(duì)于將來(lái)找工作也非常有幫助。而且Kaggle的另一大優(yōu)勢(shì)是網(wǎng)友會(huì)分享他們的經(jīng)驗(yàn)和看法,你也可以提出問(wèn)題讓大家來(lái)幫你提出一些修正方法。
國(guó)內(nèi)也有類(lèi)似的平臺(tái),比如天池大數(shù)據(jù)競(jìng)賽,其他類(lèi)似的平臺(tái)還包括DataCastle。
使用Kaggle的目的主要是將技能落在實(shí)處,防止練就一身屠龍之技。機(jī)器學(xué)習(xí)最大的幻覺(jué)就是覺(jué)得自己什么都懂了,但等到真的使用時(shí)發(fā)現(xiàn)并不奏效,而Kaggle是一個(gè)低成本的應(yīng)用機(jī)器學(xué)習(xí)的機(jī)會(huì)。
3.2.2. Sklearn文檔學(xué)習(xí)
Sklearn(scikit-learn: machine learning in Python-http://scikit-learn.org/stable/)是Python上最流行的機(jī)器學(xué)習(xí)/數(shù)據(jù)科學(xué)工具包,上文介紹的Python Machine Learning書(shū)中就大量使用Sklearn的API。和使用Kaggle的目的一致,學(xué)習(xí)的Sklearn的文檔也是一種實(shí)踐過(guò)程。比較推薦的方法是把主流機(jī)器學(xué)習(xí)模型Sklearn中的例子都看一遍。
Sklearn的文檔是少數(shù)寫(xiě)的跟教程一樣的技術(shù)文檔,很具有閱讀價(jià)值。舉個(gè)簡(jiǎn)單的例子,假設(shè)你想學(xué)習(xí)Python中使用邏輯回歸,就可以參考: Logistic Regression 3-class Classifier(http://scikit-learn.org/stable/auto_examples/linear_model/plot_iris_logistic.html#sphx-glr-auto-examples-linear-model-plot-iris-logistic-py)
Sklearn的文檔不僅提供了練習(xí)數(shù)據(jù)、sklearn的相關(guān)代碼實(shí)例,還提供了可視化圖。
3.2.2. 周志華機(jī)器學(xué)習(xí)
再次提到周老師是因?yàn)槲鞴蠒?shū)是值得常常翻看的一本書(shū),在kaggle挑戰(zhàn)和閱讀Sklearn文檔的過(guò)程中你還會(huì)時(shí)不時(shí)的遇到一些新的名詞,比如流形學(xué)習(xí)(manifold learning)等。這個(gè)時(shí)候你會(huì)發(fā)現(xiàn)西瓜書(shū)真的是一本中級(jí)階段大而全的書(shū)籍:)
3.3. 第三階段(可選*):深度學(xué)習(xí)(3-6個(gè)月)
因?yàn)樯疃葘W(xué)習(xí)是當(dāng)下的熱點(diǎn),很多公司都在尋找深度學(xué)習(xí)人才。雖然深度學(xué)習(xí)只是機(jī)器學(xué)習(xí)的一個(gè)子集,但有興趣朝這個(gè)方向發(fā)展的朋友可以在完成以上學(xué)習(xí)后單獨(dú)學(xué)習(xí)一下深度學(xué)習(xí)。
3.3.1. 吳恩達(dá)深度學(xué)習(xí)課程
吳恩達(dá)在八月份的時(shí)候通過(guò)Deeplearning.ai和Coursera平臺(tái)推出了最新系列的五門(mén)深度學(xué)習(xí)課程(deeplearning.ai)。有條件的朋友可以通過(guò)Coursera學(xué)習(xí)獲得證書(shū),最近網(wǎng)易云課堂也上線了這門(mén)課的翻譯版。如果想要上其中的課程,需要先注冊(cè)報(bào)名「深度學(xué)習(xí)工程師微專(zhuān)業(yè)」 深度學(xué)習(xí)工程師微專(zhuān)業(yè) - 一線人工智能大師吳恩達(dá)親研-網(wǎng)易云課堂 - 網(wǎng)易云課堂(http://mooc.study.163.com/smartSpec/detail/1001319001.htm),之后就可以分別點(diǎn)開(kāi)每門(mén)課單獨(dú)進(jìn)行學(xué)習(xí)。和Coursera上的DL同步,現(xiàn)在云課堂也上線了五門(mén)中的前三門(mén)課程,而卷積網(wǎng)絡(luò)(CNN)和循環(huán)網(wǎng)絡(luò)(RNN)還未開(kāi)放。
更多關(guān)于網(wǎng)易云課堂上深度學(xué)習(xí)課程的介紹可以看:如何評(píng)價(jià)網(wǎng)易云課堂上線的吳恩達(dá)Deep Learning課程?(https://www.zhihu.com/question/64615398/answer/222596302)
3.3.2. Deep Learning - by IanGoodFellow
深度學(xué)習(xí)這本書(shū)是由當(dāng)下深度學(xué)習(xí)領(lǐng)域的幾位領(lǐng)軍人物所著,包含三大巨頭之一的Bengio,還有教父Hinton來(lái)作序推薦。這本書(shū)的中文本翻譯由張志華教授團(tuán)隊(duì)負(fù)責(zé),在github上免費(fèi)放出了翻譯版本,印刷版也可以從亞馬遜中國(guó)上買(mǎi)到。
英文版:Deep Learning
http://www.deeplearningbook.org/
中文版:exacity/deeplearningbook-chinese
https://github.com/exacity/deeplearningbook-chinese
這本書(shū)的閱讀建議:
為了補(bǔ)充基礎(chǔ)可以閱讀第1-5章其中也包含了一些數(shù)學(xué)知識(shí)
只關(guān)注主流神經(jīng)網(wǎng)絡(luò)知識(shí)可以閱讀6-10章,介紹了DNN/CNN/RNN
需要進(jìn)一步了解一些調(diào)參和應(yīng)用技巧,推薦閱讀11和12章
第13-20章為進(jìn)階章節(jié),在入門(mén)階段沒(méi)有必要閱讀。其實(shí)比較實(shí)際的做法是吳恩達(dá)的課程講到什么概念,你到這本書(shū)里面可以閱讀一些深入的理論進(jìn)行概念加深,按章節(jié)閱讀還是比較耗時(shí)耗力的。
3.4. 第四階段:深入研究
恭喜你!如果你已經(jīng)完成了上面的計(jì)劃表,代表你已經(jīng)有了相當(dāng)?shù)臋C(jī)器學(xué)習(xí)能力。這個(gè)階段,最重要的就是不要貪多嚼不爛。如果你瀏覽知乎,會(huì)發(fā)現(xiàn)大家都說(shuō)你必須讀Elements of Statistical Learning, MLAPP之類(lèi)的大部頭。我承認(rèn)閱讀這樣的書(shū)會(huì)有幫助,但在你有了一定的基礎(chǔ)知識(shí)后,相信你已經(jīng)知道自己需要接著做什么了也有了志同道合的朋友,我希望把選擇權(quán)交還給你,而不是繼續(xù)推薦成堆的課程和書(shū)籍。當(dāng)然,如果你希望繼續(xù)深入的話,中文可以繼續(xù)閱讀周志華老師的《機(jī)器學(xué)習(xí)》和李航老師的《統(tǒng)計(jì)學(xué)習(xí)基礎(chǔ)》,英文可以入手《Elements of Statistical Learning》。在這個(gè)階段,重點(diǎn)要形成成體系的知識(shí)脈絡(luò),切記貪多嚼不爛,切記!
從閱讀論文角度來(lái)說(shuō),訂閱Arxiv,關(guān)注機(jī)器學(xué)習(xí)的頂級(jí)會(huì)議,如ICML/NIPS等,相關(guān)的方法在知乎上可以很容易搜索到,不在此贅述。
▌4. 實(shí)踐經(jīng)驗(yàn)
4.1. 研究經(jīng)歷
如果你還是學(xué)生,嘗試盡早接觸科研,進(jìn)實(shí)驗(yàn)室。一般來(lái)說(shuō),大三的時(shí)候你應(yīng)該已經(jīng)有了基本的機(jī)器學(xué)習(xí)知識(shí),盡管還比較淺。這個(gè)時(shí)候可以向老師/學(xué)長(zhǎng)/學(xué)姐毛遂自薦進(jìn)實(shí)驗(yàn)室,即使是無(wú)償勞動(dòng)和做基本的苦力活。進(jìn)實(shí)驗(yàn)室有兩個(gè)明顯的好處:
對(duì)某個(gè)小方向會(huì)有比較深入的了解。一般實(shí)驗(yàn)室做純理論的不大需要本科生,做機(jī)器視覺(jué)或者自然語(yǔ)言處理(NLP)等小方向的比較需要本科生,所以這是很好的深入了解一個(gè)方向的機(jī)會(huì)。
補(bǔ)充了研究經(jīng)歷也可以明白自己是否適合這個(gè)領(lǐng)域。如果運(yùn)氣好的話,你也有可能成為論文的作者之一,甚至可以去開(kāi)會(huì)(公款旅游順道見(jiàn)一下業(yè)內(nèi)大佬)。這對(duì)于繼續(xù)深造和去國(guó)外繼續(xù)學(xué)習(xí)都很有幫助,有科研經(jīng)歷和論文是很大的籌碼,對(duì)于找工作來(lái)說(shuō)也絕對(duì)有利無(wú)害。
4.2. 企業(yè)實(shí)習(xí)
上文提到過(guò),機(jī)器學(xué)習(xí)光說(shuō)不練假把式,最好的方法還是要實(shí)踐。因此,應(yīng)該先試著做科研,再?lài)L試工業(yè)界實(shí)習(xí)。對(duì)待科研機(jī)會(huì),有則就上,沒(méi)有也不是太大的遺憾。我建議大部分做機(jī)器學(xué)習(xí)的朋友盡早實(shí)習(xí),主要出于以下幾個(gè)考量:
打破幻想,了解工業(yè)界的主流模型。在其他很多答案中我都提到過(guò),其實(shí)工業(yè)界用的大部分技術(shù)并不酷炫,你很少能看到深度強(qiáng)化學(xué)習(xí)那種AlphaGo一樣酷炫的模型。不夸張的說(shuō),廣義線性模型(generalized linear models)還是占據(jù)了大壁江山,這要?dú)w功于其良好的解釋能力。從神經(jīng)網(wǎng)絡(luò)角度出發(fā),一般也逃不過(guò)普通任務(wù)深度網(wǎng)絡(luò)、視覺(jué)任務(wù)卷積網(wǎng)絡(luò)CNN、語(yǔ)音和文字任務(wù)LSTM的套路。
補(bǔ)上學(xué)術(shù)界忽視的內(nèi)容,比如可視化和數(shù)據(jù)清洗。工業(yè)界的最終目的是輸出商業(yè)價(jià)值,而獲得商業(yè)洞見(jiàn)的過(guò)程其實(shí)是非常痛苦的,比如第一步就是令人深?lèi)和唇^的數(shù)據(jù)清洗。毫不夸張的說(shuō),工業(yè)界百分之六十的時(shí)間都在清理數(shù)據(jù),這和學(xué)術(shù)界干凈且規(guī)則化的現(xiàn)成數(shù)據(jù)完全不同。沒(méi)有在工業(yè)界體驗(yàn)過(guò)的人,無(wú)法真的了解原來(lái)機(jī)器學(xué)習(xí)從頭到尾有那么多陷阱,泛化能力只是終極目標(biāo),而往往我們連規(guī)整的數(shù)據(jù)都無(wú)法得到。
了解技術(shù)商業(yè)化中的取舍,培養(yǎng)大局觀。做技術(shù)的人往往一頭扎進(jìn)技術(shù)里面,而忽視了從全局思考。舉個(gè)例子,模型A的準(zhǔn)確率95.5%,每次訓(xùn)練時(shí)間是3天,需要6臺(tái)有GPU的服務(wù)器。而模型B的準(zhǔn)確率是百分之95.2%,但只需要一臺(tái)普通的macbook訓(xùn)練4個(gè)小時(shí)就可以了。從學(xué)術(shù)角度出發(fā)我們往往追求更好的模型結(jié)果選A,而工業(yè)界還要考慮到訓(xùn)練開(kāi)銷(xiāo)、模型可解釋性、模型穩(wěn)定度等。到工業(yè)界實(shí)習(xí)不僅可以培養(yǎng)大家的宏觀掌控能力,對(duì)將來(lái)自己帶學(xué)生控制開(kāi)銷(xiāo)或者選題也大有幫助
4.3. 在本職工作中使用機(jī)器學(xué)習(xí)
對(duì)于大部分已經(jīng)工作的朋友來(lái)說(shuō),重新回到學(xué)校攻讀學(xué)位并不現(xiàn)實(shí),進(jìn)研究室進(jìn)行學(xué)習(xí)更是缺少機(jī)會(huì)。那么這個(gè)時(shí)候,你就可以試著把機(jī)器學(xué)習(xí)應(yīng)用到你自己的工作當(dāng)中。
已經(jīng)有了工作/研究經(jīng)驗(yàn)的朋友,要試著將自己的工作經(jīng)歷利用起來(lái)。舉例,不要做機(jī)器學(xué)習(xí)里面最擅長(zhǎng)投資的人,而要做金融領(lǐng)域中最擅長(zhǎng)機(jī)器學(xué)習(xí)的專(zhuān)家,這才是你的價(jià)值主張(value proposition)。最重要的是,機(jī)器學(xué)習(xí)的基本功沒(méi)有大家想的那么高不可攀,沒(méi)有必要放棄自己的本專(zhuān)業(yè)全職轉(zhuǎn)行,沉沒(méi)成本太高。通過(guò)跨領(lǐng)域完全可以做到曲線救國(guó),化劣勢(shì)為優(yōu)勢(shì),你們可能比只懂機(jī)器學(xué)習(xí)的人有更大的行業(yè)價(jià)值。
舉幾個(gè)我身邊的例子,我的一個(gè)朋友是做傳統(tǒng)軟件工程研究的,前年他和我商量如何使用機(jī)器學(xué)習(xí)以GitHub上的commit歷史來(lái)識(shí)別bug,這就是一個(gè)很好的結(jié)合領(lǐng)域的知識(shí)。如果你本身是做金融出身,在你補(bǔ)足上面基本功的同時(shí),就可以把機(jī)器學(xué)習(xí)交叉運(yùn)用于你自己擅長(zhǎng)的領(lǐng)域,做策略研究,我已經(jīng)聽(tīng)說(shuō)了無(wú)數(shù)個(gè)“宣稱(chēng)”使用機(jī)器學(xué)習(xí)實(shí)現(xiàn)了交易策略案例。雖不可盡信,但對(duì)特定領(lǐng)域的深刻理解往往就是捅破窗戶(hù)的那最后一層紙,只理解模型但不了解數(shù)據(jù)和數(shù)據(jù)背后的意義,導(dǎo)致很多機(jī)器學(xué)習(xí)模型只停留在好看而不實(shí)用的階段。
▌5. 寫(xiě)在最后
雖然人們?cè)f(shuō)二十一是生物的世紀(jì),但現(xiàn)在還是人工智能的世紀(jì)。歡迎大家來(lái)試試機(jī)器學(xué)習(xí),體驗(yàn)數(shù)據(jù)分析的魅力。
就像我曾在很多回答中提到,機(jī)器學(xué)習(xí)領(lǐng)域應(yīng)該要敞開(kāi)大門(mén),讓每個(gè)人都可以嘗試將機(jī)器學(xué)習(xí)知識(shí)應(yīng)用于他們?cè)镜念I(lǐng)域,摒棄人為制造的知識(shí)壁壘。唯有這樣,機(jī)器學(xué)習(xí)技術(shù)才能在更多的不同領(lǐng)域落地,從而反哺機(jī)器學(xué)習(xí)研究本身。
科技日新月異,追逐熱點(diǎn)是好的。但在這個(gè)浮躁的時(shí)代,不管選擇什么方向最重要的就是獨(dú)立思考的能力,和去偽存真的勇氣。因此,看了這么多入門(mén)教程和經(jīng)驗(yàn)分享后,我最希望的是你既不要急著全盤(pán)接受,也不要因?yàn)椴粚?duì)胃口全盤(pán)否定。慢下來(lái),好好想想,制定適合自己的計(jì)劃,這大概才是做科學(xué)工作的正確態(tài)度。
在思考之后,拒絕外界的噪音,無(wú)論是鼓勵(lì)還是嘲笑。抱著“不撞南山不回頭”的信念,繼續(xù)朝機(jī)器學(xué)習(xí)的高峰攀登。
或許,科技領(lǐng)域正因?yàn)橛辛宋覀冞@群“書(shū)呆子”才顯得尤為可愛(ài) ?????
-
人工智能
+關(guān)注
關(guān)注
1792文章
47497瀏覽量
239188 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8428瀏覽量
132832 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5510瀏覽量
121334
原文標(biāo)題:如何用3個(gè)月零基礎(chǔ)入門(mén)機(jī)器學(xué)習(xí)?
文章出處:【微信號(hào):AI_Thinker,微信公眾號(hào):人工智能頭條】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論