算法組
1
/6
前面有一篇機器學習經典論文/survey合集223。本文總結了機器學習的經典書籍,包括數學基礎和算法理論的書籍。本文會保持更新,歡迎推薦。
入門書單
-
《數學之美》 PDF364
作者吳軍大家都很熟悉。以極為通俗的語言講述了數學在機器學習和自然語言處理等領域的應用。 -
《Programming Collective Intelligence》(《集體智慧編程》)PDF218
作者Toby Segaran也是《BeautifulData : The Stories Behind Elegant Data Solutions》(《數據之美:解密優雅數據解決方案背后的故事》)的作者。這本書最大的優勢就是里面沒有理論推導和復雜的數學公式,是很不錯的入門書。目前中文版已經脫銷,對於有志於這個領域的人來說,英文的pdf是個不錯的選擇,因為后面有很多經典書的翻譯都較差,只能看英文版,不如從這個入手。還有,這本書適合於快速看完,因為據評論,看完一些經典的帶有數學推導的書后會發現這本書什么都沒講,只是舉了很多例子而已。 -
《Algorithms of the Intelligent Web》(《智能web算法》)PDF94
作者Haralambos Marmanis、Dmitry Babenko。這本書中的公式比《集體智慧編程》要略多一點,里面的例子多是互聯網上的應用,看名字就知道。不足的地方在於里面的配套代碼是BeanShell而不是python或其他。總起來說,這本書還是適合初學者,與上一本一樣需要快速讀完,如果讀完上一本的話,這一本可以不必細看代碼,了解算法主要思想就行了。 -
《統計學習方法》 PDF 模糊182 epub140
作者李航,是國內機器學習領域的幾個大家之一,曾在MSRA任高級研究員,現在華為諾亞方舟實驗室。書中寫了十個算法,每個算法的介紹都很干脆,直接上公式,是徹頭徹尾的“干貨書”。每章末尾的參考文獻也方便了想深入理解算法的童鞋直接查到經典論文;本書可以與上面兩本書互為輔助閱讀。 -
《Machine Learning》(《機器學習》) PDF325
作者Tom Mitchell是CMU的大師,有機器學習和半監督學習的網絡課程視頻。這本書是領域內翻譯的較好的書籍,講述的算法也比《統計學習方法》的范圍要大很多。據評論這本書主要在於啟發,講述公式為什么成立而不是推導;不足的地方在於出版年限較早,時效性不如PRML。但有些基礎的經典還是不會過時的,所以這本書現在幾乎是機器學習的必讀書目。 -
《Mining of Massive Datasets》(《大數據》) PDF128
作者Anand Rajaraman[3]、Jeffrey David Ullman,Anand是Stanford的PhD。這本書介紹了很多算法,也介紹了這些算法在數據規模比較大的時候的變形。但是限於篇幅,每種算法都沒有展開講的感覺,如果想深入了解需要查其他的資料,不過這樣的話對算法進行了解也足夠了。還有一點不足的地方就是本書原文和翻譯都有許多錯誤,勘誤表比較長,讀者要用心了。 -
《Data Mining: Practical Machine Learning Tools and Techniques》(《數據挖掘:實用機器學習技術》) PDF112
作者Ian H. Witten 、Eibe Frank是weka的作者、新西蘭懷卡托大學教授。他們的《ManagingGigabytes》[4]也是信息檢索方面的經典書籍。這本書最大的特點是對weka的使用進行了介紹,但是其理論部分太單薄,作為入門書籍還可,但是,經典的入門書籍如《集體智慧編程》、《智能web算法》已經很經典,學習的話不宜讀太多的入門書籍,建議只看一些上述兩本書沒講到的算法。 -
《機器學習及其應用》
周志華、楊強主編。來源於“機器學習及其應用研討會”的文集。該研討會由復旦大學智能信息處理實驗室發起,目前已舉辦了十屆,國內的大牛如李航、項亮、王海峰、劉鐵岩、余凱等都曾在該會議上做過講座。這本書講了很多機器學習前沿的具體的應用,需要有基礎的才能看懂。如果想了解機器學習研究趨勢的可以瀏覽一下這本書。關注領域內的學術會議是發現研究趨勢的方法嘛。 -
《Managing Gigabytes》(深入搜索引擎)PDF76
信息檢索不錯的書。 -
《Modern Information Retrieval》 PDF36
Ricardo Baeza-Yates et al. 1999。貌似第一本完整講述IR的書。可惜IR這些年進展迅猛,這本書略有些過時了。翻翻做參考還是不錯的。另外,Ricardo同學現在是Yahoo Research for Europe and Latin Ameria的頭頭。 -
《推薦系統實踐》 PDF107
項亮,不錯的入門讀物
深入
-
《Pattern Classification》(《模式分類》第二版) PDF87
作者Richard O. Duda[5]、Peter E. Hart、David。模式識別的奠基之作,但對最近呈主導地位的較好的方法SVM、Boosting方法沒有介紹,被評“掛一漏萬之嫌”。 -
《Pattern Recognition And Machine Learning》 PDF22
作者Christopher M. Bishop[6];簡稱PRML,側重於概率模型,是貝葉斯方法的扛鼎之作,據評“具有強烈的工程氣息,可以配合stanford 大學 Andrew Ng 教授的 Machine Learning 視頻教程一起來學,效果翻倍。” -
《The Elements of Statistical Learning : Data Mining, Inference, andPrediction》,(《統計學習基礎:數據挖掘、推理與預測》第二版) PDF80
作者RobertTibshirani、Trevor Hastie、Jerome Friedman。“這本書的作者是Boosting方法最活躍的幾個研究人員,發明的Gradient Boosting提出了理解Boosting方法的新角度,極大擴展了Boosting方法的應用范圍。這本書對當前最為流行的方法有比較全面深入的介紹,對工程人員參考價值也許要更大一點。另一方面,它不僅總結了已經成熟了的一些技術,而且對尚在發展中的一些議題也有簡明扼要的論述。讓讀者充分體會到機器學習是一個仍然非常活躍的研究領域,應該會讓學術研究人員也有常讀常新的感受。”[7] -
《Data Mining:Concepts andTechniques》(《數據挖掘:概念與技術》第三版) PDF48
作者(美)Jiawei Han[8]、(加)Micheline Kamber、(加)Jian Pei,其中第一作者是華裔。本書毫無疑問是數據挖掘方面的的經典之作,不過翻譯版總是被噴,沒辦法,大部分翻譯過來的書籍都被噴,想要不吃別人嚼過的東西,就好好學習英文吧。 -
《AI, Modern Approach 2nd》 PDF67
Peter Norvig,無爭議的領域經典。 -
《Foundations of Statistical Natural Language Processing》 PDF48
自然語言處理領域公認經典。 -
《Information Theory:Inference and Learning Algorithms》 PDF24
-
《Statistical Learning Theory》 PDF54
Vapnik的大作,統計學界的權威,本書將理論上升到了哲學層面,他的另一本書《The Nature ofStatistical Learning Theory》也是統計學習研究不可多得的好書,但是這兩本書都比較深入,適合有一定基礎的讀者。
數學基礎
-
《矩陣分析》 PDF159
Roger Horn。矩陣分析領域無爭議的經典 -
《概率論及其應用》 PDF58
威廉·費勒。極牛的書,可數學味道太重,不適合做機器學習的 -
《All Of Statistics》 PDF 掃描版54 PDF
高清版112
機器學習這個方向,統計學也一樣非常重要。推薦All of statistics,這是CMU的一本很簡潔的教科書,注重概念,簡化計算,簡化與Machine Learning無關的概念和統計內容,可以說是很好的快速入門材料。 -
《Nonlinear Programming, 2nd》 PDF51
最優化方法,非線性規划的參考書。 -
《Convex Optimization》 PDF66 配套代碼40
Boyd的經典書籍,被引用次數超過14000次,面向實際應用,並且有配套代碼,是一本不可多得的好書。 -
《Numerical Optimization》 PDF46
第二版,Nocedal著,非常適合非數值專業的學生和工程師參考,算法流程清晰詳細,原理清楚。 -
《Introduction to Mathematical Statistics》 PDF20
第六版,Hogg著,本書介紹了概率統計的基本概念以及各種分布,以及ML,Bayesian方法等內容。 -
《An Introduction to Probabilistic Graphical Models》 PDF80
Jordan著,本書介紹了條件獨立、分解、混合、條件混合等圖模型中的基本概念,對隱變量(潛在變量)也做了詳細介紹,相信大家在隱馬爾科夫鏈和用Gaussian混合模型來實現EM算法時遇到過這個概念。 -
《Probabilistic Graphical Models-Principles and Techniques》 PDF56
Koller著,一本很厚很全面的書,理論性很強,可以作為參考書使用。 -
具體數學 PDF45
經典
大家的補充
-
線性代數 (Linear Algebra):
我想國內的大學生都會學過這門課程,但是,未必每一位老師都能貫徹它的精要。這門學科對於Learning是必備的基礎,對它的透徹掌握是必不可少的。我在科大一年級的時候就學習了這門課,后來到了香港后,又重新把線性代數讀了一遍,所讀的是
Introduction to Linear Algebra (3rd Ed.) by Gilbert Strang.
這本書是MIT的線性代數課使用的教材,也是被很多其它大學選用的經典教材。它的難度適中,講解清晰,重要的是對許多核心的概念討論得比較透徹。我個人覺得,學習線性代數,最重要的不是去熟練矩陣運算和解方程的方法——這些在實際工作中MATLAB可以代勞,關鍵的是要深入理解幾個基礎而又重要的概念:子空間(Subspace),正交(Orthogonality),特征值和特征向量(Eigenvalues and eigenvectors),和線性變換(Linear transform)。從我的角度看來,一本線代教科書的質量,就在於它能否給這些根本概念以足夠的重視,能否把它們的聯系講清楚。Strang的這本書在這方面是做得很好的。
而且,這本書有個得天獨厚的優勢。書的作者長期在MIT講授線性代數課(18.06),課程的video在MIT的Open courseware網站上有提供。有時間的朋友可以一邊看着名師授課的錄像,一邊對照課本學習或者復習。
http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/CourseHome/index.htm40
-
概率和統計 (Probability and Statistics):
概率論和統計的入門教科書很多,我目前也沒有特別的推薦。我在這里想介紹的是一本關於多元統計的基礎教科書:
Applied Multivariate Statistical Analysis (5th Ed.) by Richard A. Johnson and Dean W. Wichern
這本書是我在剛接觸向量統計的時候用於學習的,我在香港時做研究的基礎就是從此打下了。實驗室的一些同學也借用這本書學習向量統計。這本書沒有特別追求數學上的深度,而是以通俗易懂的方式講述主要的基本概念,讀起來很舒服,內容也很實用。對於Linear regression, factor analysis, principal component analysis (PCA), and canonical component analysis (CCA)這些Learning中的基本方法也展開了初步的論述。
之后就可以進一步深入學習貝葉斯統計和Graphical models。一本理想的書是
Introduction to Graphical Models (draft version). by M. Jordan and C. Bishop.
我不知道這本書是不是已經出版了(不要和Learning in Graphical Models混淆,那是個論文集,不適合初學)。這本書從基本的貝葉斯統計模型出發一直深入到復雜的統計網絡的估計和推斷,深入淺出,statistical learning的許多重要方面都在此書有清楚論述和詳細講解。MIT內部可以access,至於外面,好像也是有電子版的。
-
分析 (Analysis):
我想大家基本都在大學就學過微積分或者數學分析,深度和廣度則隨各個學校而異了。這個領域是很多學科的基礎,值得推薦的教科書莫過於
Principles of Mathematical Analysis, by Walter Rudin
有點老,但是絕對經典,深入透徹。缺點就是比較艱深——這是Rudin的書的一貫風格,適合於有一定基礎后回頭去看。
在分析這個方向,接下來就是泛函分析(Functional Analysis)。
Introductory Functional Analysis with Applications, by Erwin Kreyszig.
適合作為泛函的基礎教材,容易切入而不失全面。我特別喜歡它對於譜論和算子理論的特別關注,這對於做learning的研究是特別重要的。Rudin也有一本關於functional analysis的書,那本書在數學上可能更為深刻,但是不易於上手,所講內容和learning的切合度不如此書。
在分析這個方向,還有一個重要的學科是測度理論(Measure theory),但是我看過的書里面目前還沒有感覺有特別值得介紹的。
-
拓撲 (Topology):
在我讀過的基本拓撲書各有特色,但是綜合而言,我最推崇:
Topology (2nd Ed.) by James Munkres
這本書是Munkres教授長期執教MIT拓撲課的心血所凝。對於一般拓撲學(General topology)有全面介紹,而對於代數拓撲(Algebraic topology)也有適度的探討。此書不需要特別的數學知識就可以開始學習,由淺入深,從最基本的集合論概念(很多書不屑講這個)到Nagata-Smirnov Theorem和Tychonoff theorem等較深的定理(很多書避開了這個)都覆蓋了。講述方式思想性很強,對於很多定理,除了給出證明過程和引導你思考其背后的原理脈絡,很多令人贊嘆的亮點——我常讀得忘卻飢餓,不願釋手。很多習題很有水平。
-
流形理論 (Manifold theory):
對於拓撲和分析有一定把握時,方可開始學習流形理論,否則所學只能流於浮淺。我所使用的書是
Introduction to Smooth Manifolds. by John M. Lee
雖然書名有introduction這個單詞,但是實際上此書涉入很深,除了講授了基本的manifold, tangent space, bundle, sub-manifold等,還探討了諸如綱理論(Category theory),德拉姆上同調(De Rham cohomology)和積分流形等一些比較高級的專題。對於李群和李代數也有相當多的討論。行文通俗而又不失嚴謹,不過對某些記號方式需要熟悉一下。
雖然李群論是建基於平滑流形的概念之上,不過,也可能從矩陣出發直接學習李群和李代數——這種方法對於急需使用李群論解決問題的朋友可能更加實用。而且,對於一個問題從不同角度看待也利於加深理解。下面一本書就是這個方向的典范:
Lie Groups, Lie Algebras, and Representations: An Elementary Introduction. by Brian C. Hall
此書從開始即從矩陣切入,從代數而非幾何角度引入矩陣李群的概念。並通過定義運算的方式建立exponential mapping,並就此引入李代數。這種方式比起傳統的通過“左不變向量場(Left-invariant vector field)“的方式定義李代數更容易為人所接受,也更容易揭示李代數的意義。最后,也有專門的論述把這種新的定義方式和傳統方式聯系起來。
轉自水木
除了以下推薦的書以外,出版在Foundations and Trends in Machine Learning上面的survey文章都值得一看。
入門:
Pattern Recognition And Machine Learning
Christopher M. Bishop
Machine Learning : A Probabilistic Perspective
Kevin P. Murphy
The Elements of Statistical Learning : Data Mining, Inference, and Predictio
n
Trevor Hastie, Robert Tibshirani, Jerome Friedman
Information Theory, Inference and Learning Algorithms
David J. C. MacKay
All of Statistics : A Concise Course in Statistical Inference
Larry Wasserman
優化:
Convex Optimization
Stephen Boyd, Lieven Vandenberghe
Numerical Optimization
Jorge Nocedal, Stephen Wright
Optimization for Machine Learning
Suvrit Sra, Sebastian Nowozin, Stephen J. Wright
核方法:
Kernel Methods for Pattern Analysis
John Shawe-Taylor, Nello Cristianini
Learning with Kernels : Support Vector Machines, Regularization, Optimizatio
n, and Beyond
Bernhard Schlkopf, Alexander J. Smola
半監督:
Semi-Supervised Learning
Olivier Chapelle
高斯過程:
Gaussian Processes for Machine Learning (Adaptive Computation and Machine Le
arning)
Carl Edward Rasmussen, Christopher K. I. Williams
概率圖模型:
Graphical Models, Exponential Families, and Variational Inference
Martin J Wainwright, Michael I Jordan
Boosting:
Boosting : Foundations and Algorithms
Schapire, Robert E.; Freund, Yoav
貝葉斯:
Statistical Decision Theory and Bayesian Analysis
James O. Berger
The Bayesian Choice : From Decision-Theoretic Foundations to Computational I
mplementation
Christian P. Robert
Bayesian Nonparametrics
Nils Lid Hjort, Chris Holmes, Peter Müller, Stephen G. Walker
Principles of Uncertainty
Joseph B. Kadane
Decision Theory : Principles and Approaches
Giovanni Parmigiani, Lurdes Inoue
蒙特卡洛:
Monte Carlo Strategies in Scientific Computing
Jun S. Liu
Monte Carlo Statistical Methods
Christian P.Robert, George Casella
信息幾何:
Methods of Information Geometry
Shun-Ichi Amari, Hiroshi Nagaoka
Algebraic Geometry and Statistical Learning Theory
Watanabe, Sumio
Differential Geometry and Statistics
M.K. Murray, J.W. Rice
漸進收斂:
Asymptotic Statistics
A. W. van der Vaart
Empirical Processes in M-estimation
Geer, Sara A. van de
不推薦:
Statistical Learning Theory
Vladimir N. Vapnik
Bayesian Data Analysis, Second Edition
Andrew Gelman, John B. Carlin, Hal S. Stern, Donald B. Rubin
Probabilistic Graphical Models : Principles and Techniques
Daphne Koller, Nir Friedman
歡迎補充。
文中提供的PDF下載鏈接,均來自於網絡,如有問題,請站內告知。
推薦主題
主題 | 分類 | 回復 | 瀏覽 | 活動 |
---|---|---|---|---|
皇帝的新衣:分布式機器學習 | 機器學習 | 0 | 948 | 15-05-27 |
分布式計算框架 Google Cloud Dataflow | 機器學習 | 0 | 923 | 14-12-31 |
最大熵模型的約束條件 | 機器學習 | 0 | 356 | 14-12-15 |
分類系統的維數災難 | 機器學習 | 0 | 714 | 15-05-18 |
機器學習那些事 | 機器學習 | 0 | 875 | 15-02-10 |
Amazon Machine Learning: use cases and a real example in Python | 機器學習 | 0 | 464 | 15-04-29 |
Torch7機器學習教程 | 機器學習 | 0 | 1.1K | 15-04-29 |
研究機器學習之 MLlib 實踐經驗 | 機器學習 | 0 | 1.5K | 14-12-27 |
Hadoop 2.0 上深度學習的解決方案 | 機器學習 | 0 | 1.0K | 15-01-15 |
Adam:大規模分布式機器學習框架 | 機器學習 | 0 | 1.3K | 15-07-1 |