booklist for machine learning

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-09-27 02:07:25

booklist for machine learning的相关文章

《Machine Learning with Spark》书评与作者访谈

机器学习是基于现有数据,通过数据驱动做出决策或者预测的技术.Apache Spark及其机器学习库MLlib为开发可伸缩的机器学习应用,提供了多种有用的算法.InfoQ采访了<Machine Learning with Spark>一书的作者Nick Pentreath,共同探讨了有关数据科学和机器学习的话题. By Srini Penchikala 机器学习以现有数据为基础创建模型,通过数据驱动,对未来做出决策或者预测.机器学习在最近几年获得大量的关注,因为它对企业与商业做出决策非常有帮助.

继Cloud,Machine Learning之后,OOW2017的第三个关键词

伴随着秋雨绵绵,我们郑重地向假日告别,从此迎来又一段筑梦的旅程. 刚刚过去的国庆中秋双节,Oracle OpenWorld 2017于美国旧金山隆重开幕,在这场盛大的技术盛宴上,通过来自现场的及时分享,我们感受创新和变革的力量.技术日新月异,无论个人和企业,不变革就面临淘汰.(拉里·埃里森亲自支招,数据库自动化之后,DBA何去何从?) 盖老师从以下五个方面概括了OOW2017的技术要点:云程发轫,扬帆起航:从物联网,到区块链:自治自动,推陈出新:Oracle 18c,明年发布:技术社区,开发者先

Learning Machine Learning, Part 2: Algorithms and Techniques

The previous blog post, Introduction to Machine Learning, presented the Machine Learning concept. Now, let's discuss representative methods used in the technology. Regression Algorithms In most Machine Learning courses, regression algorithms are the

Learning Machine Learning, Part 3: Application

This post features a basic introduction to machine learning (ML). You don't need any prior knowledge about ML to get the best out of this article. Before getting started, let's address this question: "Is ML so important that I really need to read thi

Mapreduce for Machine Learning

MapReduce for Machine Learning Baofeng Zhang 369447122@qq.com  转载请注明出处:http://blog.csdn.net/zbf8441372   Abstract We are at the beginning of the multicoreera. Computers will have increasingly many cores (processors), but there isstill no good program

Deep Learning vs. Machine Learning vs. Pattern Recognition

Introduction: Deep learning, machine learning, and pattern recognition are highly relevant topics commonly used in the field of robotics with artificial intelligence. Despite the overlapping similarities, these concepts are not identical. In this art

打造AI训练基础平台!Unity推出Machine Learning Agents

但在未来,人工智能游戏选手或许将会面临新的对手:另一个人工智能.今天,全球最大的3D游戏引擎Unity宣布发布Unity Machine Learning Agents,通过将其游戏引擎与TensorFlow等机器学习框架相连接,游戏中的NPC有望通过机器学习的方式变得更有策略性,从而增加游戏的对抗性和可玩性. 但Unity的意图不仅如此.在其博客中,Unity这样写道: "Unity正处于机器学习与游戏之间的十字路口.我们的使命是使机器学习研究人员获得最强大的训练场景,将他们最新的机器学习技术

Fuzzy machine learning framework 1.0发布 模糊数据学习工具

Fuzzy machine learning framework 是一个使用直观模糊数据的机器学习的GUI前端,基于直观模糊集和可能性理论. 主要特点是模糊功能和类,基于语言变量的数值计算功能,用户自定义功能,衍生和评估功能,建立多层次系统的分类功能,自动细化相关的功能,增量学习,模糊控制语言的支持,可扩展的对象和自动垃圾收集的面向对象软件设计,通过ODBC.text I/O 和 HTML输出对通用数据的支持,高级的http://www.aliyun.com/zixun/aggregation/

Predicting Heart Diseases with Machine Learning

Background Heart disease is a major cause of death, affecting over one-third of the world's population. In China, hundreds of thousands of people die of heart disease every year. If we can predict and diagnose heart disease in patients, we can reduce