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

Recommended Books

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

Machine Learning

Pattern Recognition and Machine Learning

Christopher M.Bishop

A new treatmentof classic machine learning topics, such as classification, regression, andtime series analysis from a Bayesian perspective. It is a must read for peoplewho intends to perform research on Bayesian learning and probabilisticinference.

Graphical Models, Exponential Families, and Variational Inference

Martin J.Wainwright and Michael I. Jordan

It is acomprehensive and brilliant presentation of three closely related subjects:graphical models, exponential families, and variational inference. This is thebest manuscript that I have ever read on this subject. Strongly recommended toeveryone interested in graphical models. The connections between variousinference algorithms and convex optimization is clearly explained. Note: pdfversion of this book is freely available online.

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

ViktorMayer-Schonberger, and Kenneth Cukier

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

Statistical Pattern Recognition (2nd/3rd Edition)

Andrew R. Webb,and Keith D. Copsey

A well writtenbook on pattern recognition for beginners. It covers basic topics in thisfield, including discriminant analysis, decision trees, feature selection, andclustering -- all are basic knowledge that researchers in machine learning orpattern recognition should understand.

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

BernhardSchlkopf and Alexander J. Smola

A comprehensiveand in-depth treatment of kernel methods and support vector machine. It notonly clearly develops the mathematical foundation, namely the reproducingkernel Hilbert space, but also gives a lot of practical guidance (e.g. how tochoose or design kernels.)

Mathematics

Topology (2nd Edition)

James Munkres

A classic ontopology for beginners. It provides a clear introduction of important conceptsin general topology, such as continuity, connectedness, compactness, and metricspaces, which are the fundamentals that you have to grasped before embarking onmore advanced subjects such as real analysis.

Introductory Functional Analysis with Applications

Erwin Kreyszig

It is a verywell written book on functional analysis that I would like to recommend toevery one who would like to study this subject for the first time. Startingfrom simple notions such as metrics and norms, the book gradually unfolds thebeauty of functional analysis, exposing important topics including Banachspaces, Hilbert spaces, and spectral theory with a reasonable depth andbreadth. Most important concepts needed in machine learning are covered by thisbook. 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 densetext that combines Real analysis and modern probability theory in 500+ pages.What I like about this book is its treatment that emphasizes the interplaybetween real analysis and probability theory. Also the exposition of measuretheory based on semi-rings gives a deep insight of the algebraic structure ofmeasures.

Convex Optimization

Stephen Boyd,and Lieven Vandenberghe

A classic onconvex optimization. Everyone that I knew who had read this book liked it. Thepresentation style is very comfortable and inspiring, and it assumes onlyminimal prerequisite on linear algebra and calculus. Strongly recommended forany beginners on optimization. Note: the pdf of this book is freely availableon the Prof. Boyd's website.

Nonlinear Programming (2nd Edition)

Dimitri P.Bersekas

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

Introduction to Smooth Manifolds

John M. Lee

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

Modern Graph Theory

Bela Bollobas

It is a moderntreatment of this classical theory, which emphasizes the connections with othermathematical subjects -- for example, random walks and electrical networks. Ifound some messages conveyed by this book is enlightening for my research onmachine learning methods.

Probability Theory: A Comprehensive Course (Universitext)

Achim Klenke

This is acomplete coverage of modern probability theory -- not only includingtraditional topics, such as measure theory, independence, and convergencetheorems, but also introducing topics that are typically in textbooks onstochastic processes, such as Martingales, Markov chains, and Brownian motion,Poisson processes, and Stochastic differential equations. It is recommended asthe main textbook on probability theory.

A First Course in Stochastic Processes (2nd Edition)

Samuel Karlin,and Howard M. Taylor

A classictextbook on stochastic process which I think are particularly suitable forbeginners without much background on measure theory. It provides a completecoverage of many important stochastic processes in an intuitive way. Itsdevelopment of Markov processes and renewal processes is enlightening.

Poisson Processes (Oxford Studies in Probability)

J. F. C. Kingman

If you areinterested in Bayesian nonparametrics, this is the book that you shoulddefinitely check out. This manuscript provides an unparalleled introduction torandom point processes, including Poisson and Cox processes, and their deeptheoretical connections with complete randomness.

Programming

Structure and Interpretation of Computer Programs (2nd Edition)

Harold Abelson,Gerald Jay Sussman, and Julie Sussman

Timeless classicthat must be read by all computer science majors. While some topics and the useof Scheme as the teaching language seems odd at first glance, the presentationof fundamental concepts such as abstraction, recursion, and modularity is sobeautiful and insightful that you would never experienced elsewhere.

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

Bruce Eckel

While it is kindof old (written in 2000), I still recommend this book to all beginners to learnC++. The thoughts underlying object-oriented programming is very clearlyexplained. It also provides a comprehensive coverage of C++ in a well-tunedpace.

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

Scott Meyers

The EffectiveC++ 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 deepunderstanding of both C++ itself and modern software engineering principles.This edition reflects latest updates in C++ development, including genericprogramming the use of TR1 library.

Advanced C++ Metaprogramming

Davide DiGennaro

Like it or hateit, meta-programming has played an increasingly important role in modern C++development. If you asked what is the key aspects that distinguishes C++ fromall other languages, I would say it is the unparalleled generic programmingcapability based on C++ templates. This book summarizes the latest advancementof metaprogramming in the past decade. I believe it will take the place ofLoki'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 knownothing about algorithms, you never understand computer science. This is bookis definitely a classic on algorithms and data structures that everyone who isserious about computer science must read. This contents of this book ranges fromelementary topics such as classic sorting algorithms and hash table to advancedtopics such as maximum flow, linear programming, and computational geometry. Itis 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 onC++, Java, or other languages typically use toy examples (animals, students,etc) to illustrate the concept of OOP. This way, however, does not reflect thefull strength of object oriented programming. This book, which has been widelyacknowledged as a classic in software engineering, shows you, via compellingexamples distilled from real world projects, how specific OOP patterns canvastly improve your code's reusability and extensibility.

Structured Parallel Programming: Patterns for Efficient Computation

Michael McCool,James Reinders, and Arch Robison

Recent trends ofhardware advancement has switched from increasing CPU frequencies to increasingthe number of cores. A significant implication of this change is that"free lunch has come to an end" -- you have to explicitly parallelizeyour codes in order to benefit from the latest progress on CPU/GPUs. This booksummarizes 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 andGerhard Wellein

This book coversimportant topics that you should know in developing high performance computingprograms. Particularly, it introduces SIMD, memory hierarchies, OpenMP, andMPI. With these knowledges in mind, you understand what are the factors thatmight influence the run-time performance of your codes.

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

Shane Cook

This bookprovides an in-depth coverage of important aspects related to CUDA programming-- a programming technique that can unleash the unparalleled power of GPUcomputation. With CUDA and an affordable GPU card, you can run your dataanalysis program in the matter of minutes which may otherwise require multipleservers to run for hours.

摘自Lin Dahua

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值