有沒有機器學習方面集大成的教材推薦?

我的要求是:

1. 要全,需要涉及到這個領域大部分的內容。

2. 要有理論支撐,不僅僅是演算法實現。便於理解演算法背後的數學

3. 需要有各種方法的比較、歸類、總結、優缺點。我需要學習那種授之以漁,所以方法/框架很重要

4. 涵蓋各種演算法,最好有演算法實現的幫助

5. 寫法應該是按問題產生的思路,並且直觀和理論並存,我不僅需要知其然,也要知其所以然

至少我目前找了很多,沒找到

也許根本就不存在這樣的教材


有這樣的教材的時候,就可以退出這個領域了。


謝邀,怒答!

看完最後一句話,好生氣。

這樣的教材沒有!

PRML是最接近答案的一個回答,不過從你對@Spirit_Dongdong 答案評論中,我覺得你並不滿意。Bayesian Reasoning and Machine Learning這本書有配套的代碼,Machine Learning An Algorithmic Perspective也可以下到源碼,難道這個就是你所說的「最好對演算法實現的幫助」?

至於各種方法的比較、歸類、總結、優缺點。這個難道不是學生在學習了整本書之後,自己通過實踐總結的?你期望教材把理論交給你,代碼給你,然後還告訴你這,告訴你那,請問一下,還有你自己思考的餘地嗎?

再說第5點,直觀和理論並存這點,演算法本來就是對事物的抽象表示,怎麼直觀?如果你說的是例子,那麼很多優秀教材都有很多例子。

最後駁斥一下第一點!教材是在領域中摸爬滾打的大師們集所研究的所成,覆蓋的內容都是經典內容,尤其對於你要求的這種大而全的教材,更是如此。但是,我可以非常肯定的告訴你,教材都是無法涉及領域中的大部分內容的,機器學習領域的發展異常的快,一個主題在NIPS,ICML流行幾年之後也就成了爛大街的東西了,教材寫作出版前後時間段很長,所以不可能涵蓋機器學習的大部分內容。主題模型從2003年的LDA開始發揚光大,現在都10年了,有幾本教材會轉本拿一章來講?PRML中關於Graphical Model的內容都已經非常棒了,不要再吹毛求疵了。既然你已經找到了很多教材,就會發現這些教材所講的基礎內容都是一樣的。即使現在諸如deep learning這種火得不得了的內容,也是從經典的神經網路上發展起來的。所以,花這個心思找不存在的東西幹嘛?倒不如就拿著一本書,啃透,這比什麼都有用。


這個亞馬遜的書評很好地總結了ML的常見書http://www.amazon.com/gp/aw/review/0262018020/R32N9EIEOMIPQU/ref=mw_dp_cr

Similar textbooks on statistical/probabilistic machine learning (links to book websites, not Amazon pages):

- Barber"s Bayesian Reasoning and Machine Learning ("BRML", Cambridge University Press 2012)

- Koller and Friedman"s Probabilistic Graphical Models ("PGM", MIT Press 2009)

- Bishop"s Pattern Recognition and Machine Learning ("PRML", Springer 2006)

- MacKay"s Information Theory, Inference and Learning Algorithms ("ITILA", CUP 2003)

- Hastie, Tibshirani and Friedman"s Elements of Statistical Learning ("ESL", Springer 2009)

* Perspective: My perspective is that of a machine learning researcher and student, who has used these books for reference and study, but not as classroom textbooks.

* Audience/prerequisites: they are comparable among all the textbooks mentioned. BRML has lower expected commitment and specialization, PGM requires more scrupulous reading. The books differ in their topics and disciplinary approach, some more statistical (ESL), some more Bayesian (PRML, ITILA), some focused on graphical models (PGM, BRML). K Murphy compares MLAPP to others here. For detailed coverage comparison, read the table of contents on the book websites.

* Main strength: MLAPP stands out for covering more advanced and current research topics: there is a full chapter on Latent Dirichlet Allocation, learning to rank, L1 regularization, deep networks; in the basics, the decision theory part is quite thorough (e.g. will mention Jeffrey"s/uninformative priors). The book is "open" and vivid, doesn"t shy away from current research and advanced concepts. This seems to be purposeful, as it shows in many aspects:

- quotes liberally from web sources, something usually not done in academic publications

- borrows "the best" from other authors (always with permission and acknowledgment, of course): most importantly the best pictures and diagrams, but also tables, recaps, insightful diagrams. Whereas other books will produce their own pictures and diagrams themselves (eg, PRML has a distinctive clarity and style in its illustrations), MLAPP takes many of its colour illustrations from other people"s publications; therefore it can select the most pithy and relevant pictures to make a point. You could think that reproductions may be illegible and require extra effort to interpret because they come from a variety of sources; I have found that the bonus coming from having precisely the right image prevails.

- frequent references to the literature, mentions of extensions and open questions, as well as computational complexity considerations: for instance, the section on HMMs will mention duration modeling and variable-duration Markov models, and a comparison of the expressive power of hierarchical HMMs versus stochastic context-free grammars, complete with relevant citations, and a brief mention of the computational complexity results from the publications. All this connects the material with research and new ideas in a fine way -- which other textbooks don"t achieve, I find. For instance, PGM defers references to a literature section at the end of each chapter, resulting in a more self-contained, but more poorly "linked" text.

* Didactic aids: Another distinctive feature is that the author clearly has tried to include didactic aids gathered over the years, such as recaps, comparative tables, diagrams, much in the spirit of the "generative model of generative models" (Roweis and Ghahramani): e.g. table comparing all models discussed, pros and cons of generative vs. discriminative models, recap of operations on HMMs (smoothing, filtering etc), list of parameter estimation methods for CRFs.

* Editorial features: Other editorial features worth mentioning are

- compared to others, helpful mentions of terminology, e.g. jargon, nomenclature, concept names, in bold throughout the text ("you could also devise a variant thus; this is called so-and-so")

- mathematical notation relatively clear and consistent, occasional obscurities. PGM stands out as excruciatingly precise on this aspect.

- boxes/layout: no "skill boxes" or "case study boxes" (PGM), not many roadmap/difficulty indications like ITILA or PGM, examples are present but woven into the text (not separated like PGM or BRML). Layout rather plain and homogeneous, much like PRML.

- sadly lacks list of figures and tables, but has index of code

* Complete accompanying material:

- interesting exercises (yet fewer than PRML, BRML, PGM); solutions, however, are only accessible to instructors (same with BRML, PGM), which in my experience makes them only half as useful for the self-learner. PRML and ITILA have some solutions online resp. in the book.

- accompanying Matlab/Octave source code, which I found more readily usable than BRML"s. PGM and PRML have no accompanying source code, even though the toolkit distributed with Koller"s online PGM class might qualify as one. I find accompanying code a truly useful tool for learning; there"s nothing like trying to implement an algorithm, checking your implementation against a reference, having boilerplate/utility code for the parts of the algorithm you"re not interested in re-implementing. Also, code may clarify an algorithm, even when presented in pseudo-code. By the way, MLAPP has rather few pseudo-code boxes (like BRML or PRML, while PGM is very good here).

- MLAPP is not freely available as a PDF (unlike BRML, closest topic-wise, ESL, or ITILA). This will no doubt reduce its diffusion. My own take on the underlying controversy is in favor of distributing the PDF: makes successful books widely popular and cited (think ITILA or Rasmussen and Williams" Gaussian Processes), increases the book"s overall value, equips readers with a weightless copy to annotate with e-ink, or consult on the go. I believe PDF versions positively impact sales, too: impact neutral-to-positive to course textbook/university library sales, indifferent to sales in countries with widely different purchase power, positive to all other segments due to enormous diffusion/popularity.

* Conclusion:

The closest contender to this book I believe is BRML. Both are excellent textbooks and have accompanying source code.

BRML is more accessible, has a free PDF version, and a stronger focus on graphical models.

MLAPP has all the qualities of an excellent graduate textbook (unified presentation, valuable learning aids), and yet is unafraid of discussing detail points (e.g. omnipresent results on complexity), as well as advanced and research topics (LDA, L1 regularization).


我覺得bishop的PRML很好

這本書從最基本的分類,回歸演算法開始。當然,將分類回歸也是從error function推廣到bayesian estimation的。

然後講了兩個比較大的框架,artificial neural network 和support vector machine,算是ML必備吧!

接著就進入比較高階的環節了,graphical model ,EM, Variational Infrenece,和sampling Method.這四講我覺得關係密切,無法分割。把這四講看完了,很多文章都能看明白了,最後就是講了連續性的隱變數(有點像manifold learning)和集成學習。

還在啃PRML中,啃完這本書應該能做很多事情了,不過做深入的研究,還需要讀一些更深的專著才可以,比如想做graphical model,可能bishop的還不夠,daphine koller的probabilistic graphical model很適合!想做神經網路,hinton在coursera上的課值得聽。


《資訊理論、推理與學習演算法》強力推薦此書,不過有點難度哦


下面這個感覺挺全了...

http://suanfazu.com/discussion/109/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%BB%8F%E5%85%B8%E4%B9%A6%E7%B1%8D#0-tsina-1-51417-397232819ff9a47a7b7e80a40613cfe1


我覺得比較好的學習方法是找一個課題做。。然後看相關的論文,不懂的地方查教材、學習筆記什麼的。。。總有一種適合你的思維。。。因為沒有書是能把所有的東西總結的很好的。。。等你做一段時間以後。。再來翻書。。。發現很多東西你居然都懂了


我比較喜歡的三本書:

1.PRML

2.統計學習方法

3.Probabilistic Graphical Models


「至少我目前找了很多,沒找到」,那你看過任何其中一本么?


PRML就是 ,作者Christopher M. Bishop


Machine Learning - A Probabilistic Perspective

elements of statistical learning

這是比較有價值的兩本機器學習書籍。可能也滿足不了你的要求,呵呵。


《機器學習實戰》,裡面用python實現了幾乎所有演算法。搞工程夠了


題主現在發現市面上缺失的東西了吧,趕緊閉關寫一本縱身一躍成大牛。


沒有。

作為某種意義上的「集成」,可以看看 Metacademy。


這還叫授之以漁。。。醉了。。。簡直就是要全魚宴。。。


沒有什麼大而全而且精的書籍,關建是數學基礎,編程基礎,以及實際問題對應的模型和演算法。


Machine learning A Probabilistic Perspective 2012年出版,是我看過的最全面的一本ML的教材了,百度網盤有電子版下載


貪婪無厭啊 樓主


沒有,看好題主出一本這樣的書。


面面俱到、兼顧各種層次讀者的教材是沒有的,任何專業都如此。你應該選擇一些基本教材(前面提到的幾本書都可以),接觸基本概念,具體問題想深入了解的可找前人寫的tutorial,往往說得比較透徹,再深入一點就是重要的 original paper了。至於數學基礎,國外的材料一般是自洽的,不行你再回去複習或學習相關課程,在線課程很多,有些名校的課相當好。一般學習規律是「中間入手、兩邊深入」。


推薦閱讀:

枚舉和窮儘是不是最有效,最暴力的演算法?
哪本《數據結構與演算法》最好?
機器學習演算法庫推薦?
程序語言中的取余是如何實現的?

TAG:演算法 | 機器學習 |