當前位置:
首頁 > 知識 > 機器學習應該準備哪些數學預備知識?

機器學習應該準備哪些數學預備知識?

本文原作者Robin Shen ,本文整理自作者在知乎《機器學習應該準備哪些數學預備知識?》問題下的回答。AI 研習社已獲得轉載授權。原題目如下:機器學習應該準備哪些數學預備知識?數據分析師,工作中經常使用機器學習模型,但是以調庫為主。

自己一直也在研究演算法,也裸寫過一些經典的演算法。

最近在看PRML這類書籍,感覺有點吃勁,主要是公式推導看不懂,很多數學符號不知其意。

也特地學過線性代數、微積分等,但是然並卵,還是看不懂大段的公式以及那些神奇的矩陣計算~

機器學習新手,想前來問下,有沒有哪些數學知識是可以彌補這一類缺陷的?

能否具體的說一些知識點或者相關的文章和書籍?2012 年之後,隨著深度學習的浪潮捲來,大家逐漸認可了神經網路 / 深度學習這個東西,都知道它在很多應用場景下面表現得很好。但是,它常常被人詬病的一點就是,就算它表現很好,卻沒有一個很好的理論解釋。相比之下,很多演算法雖然實際表現一般,但是在理論解釋這一方面就遠勝神經網路了。典型的例子么,自然就是我們耳熟能詳的線性回歸演算法啦。所謂的線性回歸,簡單地說,就是嘗試用一條直線來擬合世間萬物。雖然聽起來不太靠譜,實際上效果也一般,但是這並不妨礙研究人員在過去的幾十年間,懷著滿腔熱情,發了大量的理論論文研究這個基本問題(不好意思,我也發了兩篇)。這就像一個 PhD 笑話裡面說的那樣,Theory is when one knows everything but nothing works. Practice is when everything works but nobody knows why.真說起來嘛,倒也不是大家覺得線性回歸多麼有用,我覺得主要還是直線比較好分析,而神經網路比較難,所以理論工作就少一些。這個現象叫做 Streetlight effect,如下圖。籠統地說,原理和基礎都在數學這邊,當然有很多偏應用和軟體使用的技術,例如「深度學習調參」等,這些報個培訓速成班就能學會的技術含量不那麼高的東西,不在討論範圍內。這裡要討論的,是如何系統的學習,然後自己能編出這機器學習或深度學習的程序或軟體--我想,這才能稱為一個合格的機器學習、數據科學家。入門基礎1.微積分(求導,極限,極值)和線性代數(矩陣表示、矩陣運算、特徵根、特徵向量)是基礎中的基礎,某篇圖像分割1w+引用的神文核心思想便就求解構造矩陣的特徵向量;2.數據處理當然需要編程了,因此C/C++/Python任選一門(推薦Python,因為目前很多庫和Library都是用python封裝),數據結構可以學學,讓你編程更順手更高效,但是編程不是數據處理的核心。當然了,樓主所在的圖像處理界,熟練使用matlab或者Python調用opencv庫是必要條件,但是again他們只是工具,業餘時間自學,多練練就沒問題。有同學問用R行不行,補充一點,用什麼編程語言很大部分取決於你的核心演算法會調用什麼已有的庫函數,比如樓主的科研裡面核心演算法往往是MIP(混合整數規劃)問題需要調用Cplex或Gurobi庫函數,因此C/C++/Python/Java這些和Cplex介面良好的語言都可以拿來用,這時候R就別想了。(更新:最新Gurobi版本支持R)另外雖然圖像處理界一些open-source的code都用C++寫的,但是鑒於使用方便都會提供Python的介面,因此需要用到這些code的話,用Python調用比較方便;但是,如果是高階骨灰級玩家,需要修改甚至自己寫源代碼,那麼還是推薦C/C++,因為他們的速度最快。3.演算法通常高校都會有演算法類的課程,會概述各類演算法的基礎和應用,其中包括:精確演算法、近似演算法、啟發式演算法、演化演算法、遞歸演算法、貪婪演算法等待,還有各類優化演算法。演算法非常核心,想必大家都聽說過演算法工程師這個職位。關於數學模型和演算法的區別、聯繫,參見:

【學界】整數規劃精確演算法/近似演算法/(元)啟發演算法/神經網路方反向傳播等演算法的區別與關聯(http://t.cn/RlNoJ19)

中級教程

1.概率論+統計(很多數據分析建模基於統計模型)、統計推斷、隨機過程等

2.線性規劃+凸優化(或者只學一門叫numerical optimization,統計、機器學習到最後就是求解一個優化問題)、非線性規劃等

3.數值計算、數值線代等

當年我是在數學系學的這門課,主要是偏微分方程的數值解。

但我覺得其開篇講的數值計算的一些numerical issue更為重要,會顛覆一個數學系出身小朋友的三觀。(原來理論和現實差距可以這麼大!)

Conditional number, ill-conditioned problem,會讓你以後的編程多留個心眼。

恭喜你,到這裡,你就可以無壓力地學習Machine Learning這門課了(其實機器學習,通篇都是在講用一些統計和優化來做clustering 和 classification這倆個人工智慧最常見的應用)。並且你就會發現,ML課中間會穿插著很多其他課的內容。恩,知識總是相通的嘛,特別是這些跨專業的新興學科,都是在以往學科的基礎上由社會需求發展而來。

到這裡,其實你已經能看懂並且自己可以編寫機器學習裡面很多經典案例的演算法了,比如regression,clustering,outlier detection。

[運籌帷幄]大數據和人工智慧時代下的運籌學 - 知乎專欄

運籌學(最優化理論)如何入門? - 知乎

學到Mid-level,就已經具備絕大部分理論基礎了。然後做幾個實際項目,就能上手然後就可以「吹噓」自己是搞機器學習的,就能找到一份工作了。

但是要讀Phd搞機器學習的科研,那麼高階課程必不可少,而且同一個topic你需要上好幾門課,並且你博士的課題,很可能只是一本書中一個章節裡面一小節里講的演算法,去改進他。

比如,樓主的博士課題就是mixed linear programming + discrete graphical models + markov random fields + regression + clustering + segmentation。

高階課程

再高階的課程,就是比較specific的課程了,可以看你做的項目或者以後的concentration再選擇選修,比如:Probabilistic Graphical Models(概率圖模型), Integer Programming(整數規劃) ,計算機視覺,模式識別,視頻追蹤,醫學圖像處理,增強學習,深度學習, 神經網路,自然語言處理,網路信息安全,等等等等。

深度學習:目前非常火,打敗了非常多幾十年積累起來的經典方法。

增強學習:也很火,遊戲AI、自動駕駛、機器人等等,它都是核心。

概率圖模型:深度學習之前非常popular的「學習」方法,有嚴格的數學模型和優美的演算法,雖然目前被前倆者蓋過了風頭,但是依然有它的立足之處。什麼?你不知道最近用PGM發了篇Nature,打敗了CNN?快看下面:

Robin Shen:如何評價 Vicarious 在 Science 上提出基於概率圖模型(PGM)的 RCN 模型?

再比如有用偏微分方程做圖像處理的(比較小眾),那麼這時候你肯定要去學一下偏微分方程了,大都是以科研為主導的。

科研嘛,為了發文章,就是要嘗試前人沒嘗試過的方法,萬一效果不錯呢,就是一篇好paper了,對吧。

附上頂尖會議排名,共勉:

國際「頂尖」計算機視覺、機器學習會議大搜羅--附排名&接收率

互聯網教學資源

書目沒有特別推薦的,但是建議看英文原版。

另外直接翻牆Youtube看視頻課程,很多國際知名教授都很無私地把自己上課的視頻放在youtube上免費學習(搜索我上面列出的科目名字)。如果確實要樓主推薦,那就推薦海德堡大學歷史上最年輕的教授 Fred的機器學習視頻(我基本都看過)(http://t.cn/RlNKGop)

另外一個教授給你上課的時候,開頭一般是會推薦書給你的(如果你確實喜歡看書的話)。當然了,翻牆是樓主suppose你們需要擁有的基本生存技能。

(註:以下再推薦一些視頻,僅受之以漁,多為graduate course)

Machine Learning by Prof. Nando de Freitas, 此視頻是其在UBC時13年所錄,後來跳槽去牛津計算機系了。

Deep learning at Oxford 2015 by Prof. Nando de Freitas, 跳槽到牛津所錄。

Probabilistic Graphical Models by Daphne Koller, 斯坦福大學計算機系教授

(原文結束。)

看完 Robin 的這篇文章,應該還有很多同學雲里霧裡,希望能有個老師能夠帶著大家學習這些數學知識。

恰好,我社的友軍AI慕課學院最近將推出了《機器學習必修之數學基礎》,本課程將幫助大家在起步機器學習之前,學習「線性代數及矩陣論、概率論與統計、凸優化」幾大板塊,夯實數學基礎。

此課程限時優惠,早鳥價149元!雙十一來臨之際,社長還是勸大家多投資自己,搞搞學習~

新人福利

關注 AI 研習社(okweiwu),回復1領取

【超過 1000G 神經網路 / AI / 大數據,教程,論文】

機器學習之線性代數及矩陣論


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI研習社 的精彩文章:

Deep Learning 讀書分享:深度模型中的優化
北交大博士:強化學習與策略評估
如何有效處理特徵範圍差異大且類型不一的數據?
伯克利客座教授:AlphaGo Zero and Deep Learning
神經網路有什麼理論支持?

TAG:AI研習社 |