做爲聯合數學計算機專業(Joint CS/Math)的學生,我明白你是什麼意思。這些數學術語看起來很高端很前沿,其實就是逗你玩,讓計算機本科生以爲數學家好偉大的一個東西。也就是說,不用學那麼多數學,paper也能夠看懂。算法
最基礎因此也是最重要的的固然是離散數學(Discrete Math) ,其內容包括很基礎的排列組合、圖論、數論等。第一層要求就是知道術語,這樣看paper就不會那麼噁心了。第二層是明白定義想得出來基礎證實和了解應用方向,做爲計算機專業,這個你確定聽得多了。第三層是能自行計算,延伸等。這是個很像高中奧林匹克數學的大學計算機基礎課。假如你都知道就當我沒說。假如你不少東西都不知道的話就去上一門Discrete Math的課吧。Coursera有,MIT OpenCourseWare 也有(MIT OCW不用等:Mathematics for Computer Science)。數據結構
萬一看不下去paper總得有學術以外的事情作吧。計算機專業的話,我假設你的數據結構(Data Structures)跟算法(Algorithms)都說的過去,否則找不到工做。其中算法與數學關係較大。儘管離散數學很差算法怎麼學得好我也不知道。。。學術方面,算法跟圖論有不少重疊,但我仍是假設你的離散數學還能夠,因此你只要是看CLRS(算法導論/Introduction To Algorithms)到證實NP-Completeness就能夠了。優化
以後即是運籌/線性最優化 (Operations Research/Linear Programming),組合優化的一個重要部分。我估計你在看跟這個有點關係的paper。此學科聽起來很噁心,可是學起來很容易很容易,只須要線性代數的基礎,連eigenvalue什麼的都通常不須要。普通的linear programming你應該在學算法的時候接觸過,沒接觸過的話請複習CLRS。要想學些這方面的應用數學,Coursera有Linear & Discrete Optimization 還有 Linear & Integer Programming。選一個老師長得比較順眼的,六個禮拜應該能夠搞定。ci
機率論和隨機過程其實算是兩節課,可是機率論比較簡單(假設離散數學沒有問題的話),因此學完線性最優化以後就應該是Stochastic Optimization/Methods/Processes。這個找大學教材就能夠了,很完善的一堂課,應用數學啊工程啊都會去上。其實要是隻爲了讀懂這個paper,查一下用的模型就能夠了。get
代數對於你過於抽象,離CS應用比較遙遠,除非你在作化學有關的課題。我在數學系學到表示論(Representation Theory)跟側重數學的傅立葉分析(Princeton Lectures: Fourier Analysis by Stein)等虐死人的課才能深入理解DFT,FFT等本科工程師成天用結果的東西,那時才瞭解到大多人要研究不少不少年才能提取出這個CS-Algebra相關的抽象。再說跟你想看的paper的關係也很小,因此暫時沒必要要。數學
數學分析頗有用,可是也不是什麼外行喜歡看的學科,跟你的paper有關係的機率十分地小,假若有關係的話也極可能是你半年學分析還沒學到的,是個得不償失的選擇。it
加: machine learning 和 data mining 這種超級火的東西,我尚未review過不少教材,因此不能說我什麼都很知道。但從我看到過的,線性代數都會被用到。我知道feature extraction老是要用些signal processing,spectral theory的東西的。因此線性代數仍是要學到深一些爲好。但線代自己實際上是學不完的,因此我想最基礎的也應該學到change of basis, eigen啥啥,最好能明白pseudo-inverse。