一個(gè)自然語言處理煉丹師的自白
往期:

因?yàn)楦鞣N媒體宣傳,最近問問學(xué)校新入學(xué)計(jì)算機(jī)科學(xué)的學(xué)生們,想搞什么研究,結(jié)果十個(gè)里有九個(gè)要研究機(jī)器學(xué)習(xí),中間還一些弄不清深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的關(guān)系,實(shí)際上是想搞深度學(xué)習(xí)。
原本深度學(xué)習(xí)(深度神經(jīng)網(wǎng)絡(luò))只是機(jī)器學(xué)習(xí)領(lǐng)域一個(gè)分支,但因?yàn)槠渥罱蠡?,?dǎo)致對(duì)整個(gè)領(lǐng)域出現(xiàn)了這樣的劃分:深度的和非深度,或者說深度的和傳統(tǒng)的。雖然現(xiàn)在自然語言處理研究主要用深度學(xué)習(xí),但因?yàn)楹芏喔拍顏碜詸C(jī)器學(xué)習(xí),還是有必要了解傳統(tǒng)機(jī)器學(xué)習(xí)的。而且如最近周志華提出的深度森林,將其他傳統(tǒng)機(jī)器學(xué)習(xí)方法和深度學(xué)習(xí)的理念結(jié)合起來,就可以提出一些很有意思的模型。
下面大概根據(jù)難度將學(xué)習(xí)資料列出來。
入門
最開始想簡(jiǎn)單了解一下,那么第一步,可以只將 Goodfellow 的 Deep Learning 前面介紹小節(jié)讀一下,第四小節(jié)的 Numerical Computations 以及第五小節(jié)的 Machine Learning Basics. 主要會(huì)介紹簡(jiǎn)單的數(shù)值運(yùn)算,梯度更新,還有機(jī)器學(xué)習(xí)基本概念,但沒怎么提太詳細(xì)。

之后就是鼎鼎有名吳教授在 Cousera 上的 Machine Learning。這門課沒太多說的,太有名了。一如吳教授的風(fēng)格,簡(jiǎn)單易懂,練習(xí)也不難,相信網(wǎng)上也都能找到答案。有點(diǎn)麻煩的是,作業(yè)是用 Octave 來完成,當(dāng)然因?yàn)?Octave 和 MATLAB的關(guān)系,用MATLAB 也是可以的。里面有些東西挺老的,但核心概念都很有用,特別是模型訓(xùn)練策略,錯(cuò)誤分析。

基礎(chǔ)
接著,可以讀讀我挺喜歡的 NLP 大佬 Kyunghyun Cho 的 ML w/o DL Lecture Notes (沒有深度學(xué)習(xí)的機(jī)器學(xué)習(xí)課堂筆記)。介紹了機(jī)器學(xué)習(xí)中經(jīng)典的一些問題,比如分類,回歸,還有聚類,還提到各自的一些算法以及與深度學(xué)習(xí)的一些聯(lián)系。值得一提的是,該資料帶有 Jupyter Notebook 的習(xí)題作業(yè),所以很推薦把這些作業(yè)也做了,可以打下很好的基礎(chǔ)。但這個(gè)資料介紹不太全面,而且沒有課程視頻。
還有一個(gè)額外的資源是,加州理工 Yaser Abu-Mostafa 的 Learning From Data,這個(gè)沒上過,也不好評(píng)價(jià)。但是根據(jù)其他評(píng)價(jià)是門很棒的課。

中文資料,可以讀李航的《統(tǒng)計(jì)學(xué)習(xí)方法》還有周志華的《機(jī)器學(xué)習(xí)》,兩本都不是太難讀。

進(jìn)階
了解了基礎(chǔ),如果還想挑戰(zhàn)自己,可以試試卡內(nèi)基梅隆大學(xué),Tom Mitchell 教授的 Machine Learning 課程。相比之前的資料,這門課涉及到很多更深入的話題,概率圖模型,Boosting,SVM的核方法,強(qiáng)化學(xué)習(xí)...
還可以去啃兩本大部頭,Bishop 的《Pattern Recognition and Machine Learning》還有 Murphy 的 《Machine Learning A Probabilistic Perspective》。

或者按照周教授說的,把西瓜書讀一遍之后,每一章從推薦書籍和推薦論文里面找資料細(xì)讀。