機器學習與攻略力薦

2016年3月,google的AlphaGo對弈國際尖端圍棋棋手韓國人李世石。終究,AlphaGo以五局四勝的戰績擊敗李世石,一時風景無限,同時也在網絡上極大的激起了小伙伴們對人工智能(AI)的愛好。歲末年初,一個名叫“Master”的神秘網絡圍棋手轟動了圍棋界,自去年12月29日開始,它在幾個知名圍棋對戰平臺上輪番挑戰中日韓圍棋高手,并在1月3日晚間擊敗了中國頂級圍棋手柯潔,取得了50勝0負的驚人戰績。人們紛紛猜測“Master”就是谷歌人工智能AlphaGo的升級版。謎底很快被揭曉,就在Master取得第59場連勝后,Master賬號宣布自己就是AlphaGo。各種媒體對此番交戰大肆報道,某些電視上的談話節目甚至以“人工智能在未來會否搶去人類飯碗”之類的話題展開熱烈討論。

其實人機大戰這也不是頭一次了。早在二十年前,國際象棋特級大師,世界冠軍卡斯帕羅夫就曾與IBM公司的超級電腦“深藍”之間進行過終極對抗。在總共的六局比賽里,卡斯帕羅夫最終以五平一負的戰績宣告敗北。盡管當時媒體也有報道,但遠遠沒有引起像最近這一兩年來AlphaGo這樣的話題熱度。原因何在?天時也!IT界無論是小伙伴還是祖國的老花朵都意識到人工智能時代真的來了。去年在烏鎮召開的世界互聯網大會上,百度CEO李彥宏就表示:移動互聯網時代已經結束,未來屬于人工智能!

于是乎,眾多小伙伴,無論是IT從業者,還是尚處在學校的青年學子,紛紛摩拳擦掌,躍躍欲試,希望至少不要被AI時代給落下。然而,要進入人工智能這個圈子,卻要比從“Java程序員轉成C++程序員”難太多了,很多人對此都表示望而卻步或者望洋興嘆。很多人都是無頭蒼蠅,不得其法,好像功夫也沒少下,但卻還是只能在門外轉悠。我希望下面的一些建議能讓大家少走一些彎路或者盡快走上正路。(注意:我可沒說是有捷徑可走!畢竟有一些坎始終無法繞過去,這就如同一個無形的篩子擺在那一樣,很多人會被其“過濾”掉。)

一、數學——萬般無奈皆源此

最近讀了一篇熱文《放棄幻想,搞AI必須先過數學關》(你可以從參考鏈接【1】中瀏覽該文全文),文章基本已經把數學之于AI的重要性闡釋的比較清楚,我只略截取一些核心內容(相信每個過來人都會有此共同心聲):

“在 AI 學習的入門階段,數學是主要的攻堅對象,任何胸有大志的 AI 學習者都不要幻想繞過數學。” 盡管 AI 工具化的可能性是有的,而且是必然,趨勢很明顯。所以很多時候AI工程師并不像程序開發人員那樣強調編碼的能力與經驗,更多的時候AI工程師是在使用各種框架,調用各種現成的函數庫、軟件包等等。但是,“數學不過關的人在 AI 這個圈子里是無法參與交流的,或者說得直白一點,是被人瞧不起的,根本無法被接納成為AI 圈子里的人。其次,數學不過關而只能調參數的人,實踐當中并不好用。第三,即便是調參這件事情本身,懂不懂數學也是有很大差別的。”

說的很多小伙伴恐怕心都涼了一半,或者已經開始打退堂鼓了。不要緊,山人自有妙法。下面就給大家分享一下我的數學學習經驗,主要是一些資源(書籍或者視頻課程)。人工智能(機器學習或數據挖掘等)中最最重要的數學就是線性代數與概率論(還有其他,但這兩者比重最大)。

1、線性代數

很多人會推薦MIT的線性代數公開課(確實不錯),但是很多中國學生聽英文課仍然有障礙,即使有字幕翻譯,恐怕也會影響學習速度,所以我推薦臺灣國立交通大學莊重特聘教授主講的線性代數課程,本課程分上下兩個學期:

  • http://ocw.nctu.edu.tw/course_detail.php?bgid=1&gid=1&nid=271#.WKm5gxBCtsA
  • http://ocw.nctu.edu.tw/course_detail.php?bgid=1&gid=1&nid=361#.WKm5gxBCtsA

我個人認為本課程的特色包括:

1)老師講得非常非常細致,如果你循序漸進跟著學,絕對可以聽得懂;

2)這門課程其實是從泛函的角度來講解線性代數(同時兼顧了矩陣角度),會幫你建立一種更加高屋建瓴的線性代數觀念;

3)課程與實際應用結合非常緊密,像最小二乘法、奇異值分解SVD等在機器學習非常重要的內容都有深入探討。

同時,本課程所選用的教材也是你自學線性代數的一本上乘之選(網上可以找到本書的PDF版):

  • Linear Algebra 4th Edition,? Stephen Friedberg, Arnold Insel, Lawrence Spence,Prentice Hall

機器學習與攻略力薦

如果想自學,或者僅僅是溫故以往所學的線性代數,那么下面這本從矩陣角度解釋線性代數的書可能更適合中國人的閱讀習慣,這本書里對于最小二乘法、SVD等內容亦有涉及。

  • 線性代數及其應用 (原書第3版) David C Lay著,劉深泉等譯,機械工業出版社

目前這本書的中英文版國內都可以買到:

機器學習與攻略力薦???機器學習與攻略力薦

2、概率論
有一個非常非常簡單的入門課——國立臺灣大學葉丙成的概率課:

  • http://mooc.guokr.com/course/461/%E6%A9%9F%E7%8E%87/

但是上面這個課屬于掃盲課,如果你覺得深度還不夠,那么我還是推薦你從下面這些書籍中找一本來作為參考,因為概率論方面的書特別特別多,我推薦幾本各具特色的:

1)首先是由Sheldon M. Ross編寫的《概率論基礎教程(第9版)》,這是一本在世界范圍內被廣泛使用的教材,內容嚴謹而且全面。鑒于概率論是大學本科階段的必修內容,如果你不是忘掉太多,其實并不用重頭開始學,所以備這樣一本書,偶爾翻查一下也是不錯的選擇。

機器學習與攻略力薦
2) 統計思維——程序員數學之概率統計;相對而言這本就不那么學術化,更側重概念的通俗解讀,而非嚴格的數學推導。因為概率和統計常常是糾纏不在一起的,所以這本書里面也涉及到了部分統計學的內容。

機器學習與攻略力薦

像概率里面的期望、方差、概率密度函數、邊緣分布、貝葉斯定理、全概率公式、矩母函數、二項分布、高斯分布、貝塔分布等等在機器學習中都非常非常重要。最后這本算是概率學習里面比較深的一本(也非常經典),供有深入學習需求的人研讀。

3)概率與計算——隨機算法與概率分析,Michael M. & Eli Upfal 著

機器學習與攻略力薦??機器學習與攻略力薦

3、統計學

注意統計和概率是不一樣的,盡管它們的關系實在太緊密,所以講概率的書里往往也會插入一些統計方面的知識。但還是專門講統計的書更專注一些。統計的書挺多,但是非統計專業,也不必學得太深。

1)統計學(第四版),賈俊平等編著。這是國內高校普遍使用的一本教材,我覺得條例是比較清晰的,講解也比較到位,如果你要系統地學,那么它是一個不錯的選擇。

機器學習與攻略力薦

2)R語言實戰——機器學習與數據分析,這是博主夾帶的私貨。不要被名字遮住眺望的眼睛,這里的“數據分析”主要是指統計數據分析,所以這本書里有1/3在講解統計知識,而且是剝掉冗余只留干活地收錄了幾乎所有你該知道的統計知識(甚至包括非參數檢驗的內容),R語言是輔助統計計算的工具,便于向你演示一些統計方法的具體細節。

機器學習與攻略力薦

3)統計推斷是統計學的核心。統計推斷一般包括參數估計和假設檢驗兩個部分。其中假設檢驗包括參數假設檢驗和非參數檢驗兩類。參數估計又包括點估計和區間估計兩種,而點估計的方法主要有矩方法和極大似然法。如果你覺得希望在統計推斷方面有跟深入的研究,那么下面這本書就是一個比較經典的讀物。

機器學習與攻略力薦

4、高等數學(或者叫微積分)

通常微積分部分在AI中的占比不如線性代數和概率,這其實也主要是因為我們假設像“求導計算”這樣的基本功,上過大學的人應該都已經掌握。在機器學習的公式推導中,一般求導公式,鏈式法則,分部積分法、偏導數,這些內容都是家常便飯,如果你的記憶已經模糊,那么其實上學時的高數教材就可以涵蓋這些必要的計算技巧。例如:

  • 同濟大學版的 高等數學(上、下)(第5版及以后)

一般這套書工科大學上課都會用到。書比較嚴謹,也比較經典,如果自學感覺比較枯燥,當字典查查也不錯,比如公式忘了就翻翻看。

機器學習與攻略力薦??機器學習與攻略力薦

如果你基礎不錯,還沒忘光,可以在不確定的地方翻翻看該書。如果你想復習或者重新學,或者有的地方書上講得看不懂,我推薦看國防科大的MOOC視頻課(朱健民教授主講):

  • http://www.icourse163.org/university/NUDT#/c,高等數學(一)(二)(三)(四)(五)

因為全部課程有100集之多,可能相當考驗學習者的毅力。個人認為在機器學習里會用到的地方主要是泰勒展開(牛頓法的基礎)、梯度的概念(在學習梯度下降,你當然應該知道梯度的意義),和一些基本的最優化問題求解等。

5、其他數學書

有些東西或是“跳出三界外,不在無形中”,或是“哪里都講,但哪里又都不講全”,對于這類問題,似乎也只能找些非常專門的書來參考了。比如拉格朗日乘數法,在機器學習里也算是比較常用的技巧了,在SVM里會出現,在多元邏輯回歸時也會出現,要想學習學習它,有些微積分的書里會講,有些泛函分析的書里也會講,但是為了學習拉格朗日乘數法把泛函分析也學一遍,好像又有點太麻煩。不如直接學凸優化吧!

1)凸優化——這也算是備受推崇的一本書了,SVM的推導核心就是凸優化的具體應用,名聲在外,不多贅述。

機器學習與攻略力薦

2)應用回歸分析(第三版),何曉群,等編著。“回歸”(包括線性回歸及其推廣)是個比較特殊的存在。早在機器學習誕生之前很久很久,它就已經存在了,更多的時候研究它的人都是統計學家。所以現在在統計學(或者計量經濟學)的教材里面都有回歸的一席之地。而回歸分析也在機器學習中舉重若輕,是機器學習中的一類重要方法。但是機器學習書籍的作者往往會認為,那些修過統計的人對于回歸已經很熟悉了,或者他們的讀者可以干脆找本統計的書來看,所以一般的機器學習書里并不太重視回歸話題的探討(有的書會提到,但篇幅都有限)。如果你對回歸很感興趣,那么不妨看看下面這本專門講回歸的書。

機器學習與攻略力薦

6、一些機器學習書中的數學基礎部分
因為數學對于機器學習來說太重要了,某些機器學習方面的書還會專門開辟章節“提綱挈領”地給出閱讀后續內容所必須的數學基礎。如果你自我感覺數學還不錯,那么你大可以看看下面這個兩部書中的相關章節,如果你感覺作者所列之內容皆了然于心,那倒也省卻諸多繁冗。但如若有些坑還不能填上,那么其實也可以按圖索驥找些資料來看,好處是定位精準,所學即所需;不好的地方在于,數學知識之間的牽連深廣,可能你不會的知識點是A,當你去找關于A的資料來看時,返現其中又用到了B,所以也又不得不去找B方面的資料來看,而且這個鏈條還可能繼續延伸下去。所以各種利弊只有你冷暖自知了。
1)Chris Bishop, Pattern Recognition And Machine Learning,這本是機器學習里面的經典之作,其中第1、2章介紹了一些在閱讀書籍時所必備的數學基礎。

2)Ian Goodfellow , Yoshua Bengio , Aaron Courville,Deep Learning,本書第2、3、4章分別介紹線性代數、概率與信息論、數值計算。

一不小心現已寫了這么多了,誰讓數學在AI中的重量這么重呢。好在跟數學有關的材料我現已都引薦到了,后續文章中我們再來詳細談機器學習和數據發掘方面的材料吧 :)

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code
云南快乐10分开奖直播