Recommended Books [机器学习界大牛林达华推荐的书籍]

Here is a list of books which I have read and feel it is worth recommending to friends who are interested in computer science.

Machine Learning

Pattern Recognition and Machine Learning

Christopher M. Bishop

A new treatment of classic machine learning topics, such as classification, regression, and time series analysis from a Bayesian perspective. It is a must read for people who intends to perform research on Bayesian learning and probabilistic inference.

Graphical Models, Exponential Families, and Variational Inference

Martin J. Wainwright and Michael I. Jordan

It is a comprehensive and brilliant presentation of three closely related subjects: graphical models, exponential families, and variational inference. This is the best manuscript that I have ever read on this subject. Strongly recommended to everyone interested in graphical models. The connections between various inference algorithms and convex optimization is clearly explained. Note: pdf version of this book is freely available online.

Big Data: A Revolution That Will Transform How We Live, Work, and Think

Viktor Mayer-Schonberger, and Kenneth Cukier

A short but insightful manuscript that will motivate you to rethink how we should face the explosive growth of data in the new century.

Statistical Pattern Recognition (2nd/3rd Edition)

Andrew R. Webb, and Keith D. Copsey

A well written book on pattern recognition for beginners. It covers basic topics in this field, including discriminant analysis, decision trees, feature selection, and clustering -- all are basic knowledge that researchers in machine learning or pattern recognition should understand.

Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond

Bernhard Schlkopf and Alexander J. Smola

A comprehensive and in-depth treatment of kernel methods and support vector machine. It not only clearly develops the mathematical foundation, namely the reproducing kernel Hilbert space, but also gives a lot of practical guidance (e.g. how to choose or design kernels.)

Mathematics

Topology (2nd Edition)

James Munkres

A classic on topology for beginners. It provides a clear introduction of important concepts in general topology, such as continuity, connectedness, compactness, and metric spaces, which are the fundamentals that you have to grasped before embarking on more advanced subjects such as real analysis.

Introductory Functional Analysis with Applications

Erwin Kreyszig

It is a very well written book on functional analysis that I would like to recommend to every one who would like to study this subject for the first time. Starting from simple notions such as metrics and norms, the book gradually unfolds the beauty of functional analysis, exposing important topics including Banach spaces, Hilbert spaces, and spectral theory with a reasonable depth and breadth. Most important concepts needed in machine learning are covered by this book. The exercises are of great help to reinforce your understanding.

Real Analysis and Probability (Cambridge Studies in Advanced Mathematics)

R. M. Dudley

This is a dense text that combines Real analysis and modern probability theory in 500+ pages. What I like about this book is its treatment that emphasizes the interplay between real analysis and probability theory. Also the exposition of measure theory based on semi-rings gives a deep insight of the algebraic structure of measures.

Convex Optimization

Stephen Boyd, and Lieven Vandenberghe

A classic on convex optimization. Everyone that I knew who had read this book liked it. The presentation style is very comfortable and inspiring, and it assumes only minimal prerequisite on linear algebra and calculus. Strongly recommended for any beginners on optimization. Note: the pdf of this book is freely available on the Prof. Boyd‘s website.

Nonlinear Programming (2nd Edition)

Dimitri P. Bersekas

A thorough treatment of nonlinear optimization. It covers gradient-based techniques, Lagrange multiplier theory, and convex programming. Part of this book overlaps with Boyd‘s. Overall, it goes deeper and takes more efforts to read.

Introduction to Smooth Manifolds

John M. Lee

This is the book that I used to learn differential geometry and Lie group theory. It provides a detailed introduction to basics of modern differential geometry -- manifolds, tangent spaces, and vector bundles. The connections between manifold theory and Lie group theory is also clearly explained. It also covers De Rham Cohomology and Lie algebra, where audience is invited to discover the beauty by linking geometry with algebra.

Modern Graph Theory

Bela Bollobas

It is a modern treatment of this classical theory, which emphasizes the connections with other mathematical subjects -- for example, random walks and electrical networks. I found some messages conveyed by this book is enlightening for my research on machine learning methods.

Probability Theory: A Comprehensive Course (Universitext)

Achim Klenke

This is a complete coverage of modern probability theory -- not only including traditional topics, such as measure theory, independence, and convergence theorems, but also introducing topics that are typically in textbooks on stochastic processes, such as Martingales, Markov chains, and Brownian motion, Poisson processes, and Stochastic differential equations. It is recommended as the main textbook on probability theory.

A First Course in Stochastic Processes (2nd Edition)

Samuel Karlin, and Howard M. Taylor

A classic textbook on stochastic process which I think are particularly suitable for beginners without much background on measure theory. It provides a complete coverage of many important stochastic processes in an intuitive way. Its development of Markov processes and renewal processes is enlightening.

Poisson Processes (Oxford Studies in Probability)

J. F. C. Kingman

If you are interested in Bayesian nonparametrics, this is the book that you should definitely check out. This manuscript provides an unparalleled introduction to random point processes, including Poisson and Cox processes, and their deep theoretical connections with complete randomness.

Programming

Structure and Interpretation of Computer Programs (2nd Edition)

Harold Abelson, Gerald Jay Sussman, and Julie Sussman

Timeless classic that must be read by all computer science majors. While some topics and the use of Scheme as the teaching language seems odd at first glance, the presentation of fundamental concepts such as abstraction, recursion, and modularity is so beautiful and insightful that you would never experienced elsewhere.

Thinking in C++: Introduction to Standard C++ (2nd Edition)

Bruce Eckel

While it is kind of old (written in 2000), I still recommend this book to all beginners to learn C++. The thoughts underlying object-oriented programming is very clearly explained. It also provides a comprehensive coverage of C++ in a well-tuned pace.

Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)

Scott Meyers

The Effective C++ series by Scott Meyers is a must for anyone who is serious about C++ programming. The items (rules) listed in this book conveys the author‘s deep understanding of both C++ itself and modern software engineering principles. This edition reflects latest updates in C++ development, including generic programming the use of TR1 library.

Advanced C++ Metaprogramming

Davide Di Gennaro

Like it or hate it, meta-programming has played an increasingly important role in modern C++ development. If you asked what is the key aspects that distinguishes C++ from all other languages, I would say it is the unparalleled generic programming capability based on C++ templates. This book summarizes the latest advancement of metaprogramming in the past decade. I believe it will take the place of Loki‘s "Modern C++ Design" to become the bible for C++ meta-programming.

Introduction to Algorithms (2nd/3rd Edition)

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein

If you know nothing about algorithms, you never understand computer science. This is book is definitely a classic on algorithms and data structures that everyone who is serious about computer science must read. This contents of this book ranges from elementary topics such as classic sorting algorithms and hash table to advanced topics such as maximum flow, linear programming, and computational geometry. It is a book for everyone. Everytime I read it, I learned something new.

Design Patterns: Elements of Reusable Object-Oriented Software

Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides

Textbooks on C++, Java, or other languages typically use toy examples (animals, students, etc) to illustrate the concept of OOP. This way, however, does not reflect the full strength of object oriented programming. This book, which has been widely acknowledged as a classic in software engineering, shows you, via compelling examples distilled from real world projects, how specific OOP patterns can vastly improve your code‘s reusability and extensibility.

Structured Parallel Programming: Patterns for Efficient Computation

Michael McCool, James Reinders, and Arch Robison

Recent trends of hardware advancement has switched from increasing CPU frequencies to increasing the number of cores. A significant implication of this change is that "free lunch has come to an end" -- you have to explicitly parallelize your codes in order to benefit from the latest progress on CPU/GPUs. This book summarizes common patterns used in parallel programming, such as mapping, reduction, and pipelining -- all are very useful in writing parallel codes.

Introduction to High Performance Computing for Scientists and Engineers

Georg Hager and Gerhard Wellein

This book covers important topics that you should know in developing high performance computing programs. Particularly, it introduces SIMD, memory hierarchies, OpenMP, and MPI. With these knowledges in mind, you understand what are the factors that might influence the run-time performance of your codes.

CUDA Programming: A Developer‘s Guide to Parallel Computing with GPUs

Shane Cook

This book provides an in-depth coverage of important aspects related to CUDA programming -- a programming technique that can unleash the unparalleled power of GPU computation. With CUDA and an affordable GPU card, you can run your data analysis program in the matter of minutes which may otherwise require multiple servers to run for hours.

摘自Lin Dahua

时间: 2024-10-12 03:34:09

Recommended Books [机器学习界大牛林达华推荐的书籍]的相关文章

【机器学习系列】机器学习界大牛林达华推荐的书籍

Recommended Books Here is a list of books which I have read and feel it is worth recommending to friends who are interested in computer science. Machine Learning Pattern Recognition and Machine Learning Christopher M. Bishop A new treatment of classi

机器学习界大牛林达华推荐的书籍[转]

Recommended Books Here is a list of books which I have read and feel it is worth recommending to friends who are interested in computer science. Machine Learning Pattern Recognition and Machine Learning Christopher M. Bishop A new treatment of classi

林达华推荐的几本数学书

林达华推荐的几本数学书 转自:http://dahua.spaces.live.com/default.aspx 1. 线性代数 (Linear Algebra): 我想国内的大学生都会学过这门课程,但是,未必每一位老师都能贯彻它的精要.这门学科对于Learning是必备的基础,对它的透彻掌握是必不可少的.我在科大一年级的时候就学习了这门课,后来到了香港后,又重新把线性代数读了一遍,所读的是 Introduction to Linear Algebra (3rd Ed.)  by Gilbert

[Z]牛人林达华推荐有关机器学习的数学书籍

1. 线性代数 (Linear Algebra): 我想国内的大学生都会学过这门课程,但是,未必每一位老师都能贯彻它的精要.这门学科对于Learning是必备的基础,对它的透彻掌握是必不可少的.我在科大一年级的时候就学习了这门课,后来到了香港后,又重新把线性代数读了一遍,所读的是 Introduction to Linear Algebra (3rd Ed.)  by Gilbert Strang. 这本书是MIT的线性代数课使用的教材,也是被很多其它大学选用的经典教材.它的难度适中,讲解清晰,

[转]林达华推荐的几本数学书

http://blog.csdn.net/lqhbupt/article/details/32106217 Dahua Lin早在几年前就已经冒尖出来了,现在在MIT攻读博士学位,前途不可限量.他总是有无穷的精力,学习,同时几篇几篇的写paper,几万行几万行的写code,几万字几万字的写blog.他扎实的数学功底和相关知识的功底,以及深睿的洞察和理解问题的能力,注定他将在machine learning和computer vision等相关领域取得大量的成果,甚至是突破性的成果.期待他在这些领

【综述】(MIT博士)林达华老师-"概率模型与计算机视觉”

[综述](MIT博士)林达华老师-"概率模型与计算机视觉” 距上一次邀请中国科学院的樊彬老师为我们撰写图像特征描述符方面的综述(http://www.sigvc.org/bbs/thread-165-1-1.html)之后,这次我们荣幸地邀请到美国麻省理工学院(MIT)博士林达华老师为我们撰写“概率模型与计算机视觉”的最新综述.这次我们特别增设了一个问答环节,林老师针对论坛师生提出的许多问题(如概率图模型与目前很热的深度神经网络的联系和区别)一一做了详细解答,并附在综述的后面. 林达华老师博士毕

Computer Vision的尴尬---by林达华

Computer Vision的尴尬---by林达华 Computer Vision是AI的一个非常活跃的领域,每年大会小会不断,发表的文章数以千计(单是CVPR每年就录取300多,各种二流会议每年的文章更可谓不计其数),新模型新算法新应用层出不穷.可是,浮华背后,根基何在?对于Vision,虽无大成,但涉猎数年,也有管窥之见.Vision所探索的是一个非常复杂的世界,对于这样的世界如何建模,如何分析,却一直没有受普遍承认的理论体系.大部分的研究工作,循守着几种模式:o    从上游学科(比如立

(转自林达华)深入问题本身

很多做research的朋友喜欢top-downapproach,包括我自己.就是说,在开始一个topic的时候,在第一时间就设定了大体的formulation,model又或者methodology.至于选择哪种设定,往往取决于研究者本身的偏好,知识背景,或者对问题的第一反应. 接下来的事情就顺理成章了,推导数学模型和相关公式以及算法步骤,然后设计程序进行实验.当然少不了再拉上几个相关工作,比较一番.如果自己的设计很幸运地有明显的improvement,于是非常满意,开始写paper(在不少情

机器学习是什么--周志华

机器学习是什么--周志华 机器学习现在是一大热门,研究的人特多,越来越多的新人涌进来. 不少人其实并没有真正想过,这是不是自己喜欢搞的东西,只不过看见别人都在搞,觉着跟大伙儿走总不会吃亏吧. 问题是,真有个“大伙儿”吗?就不会是“两伙儿”.“三伙儿”?如果有“几伙儿”,那到底该跟着“哪伙儿”走呢? 很多人可能没有意识到,所谓的machine learning community,现在至少包含了两个有着完全不同的文化.完全不同的价值观的群体,称为machine learning "communit