这本书不是教材,也不适合初学者(或者说,目标读者不明)
自己有统计和线性代数的基础,但完全没有机器学习的知识。买这本书完全是想作为机器学习的教材(因为很出名,引用率很高)。看到第六章发现还是一脸懵逼。
作为机器学习初学者,认为这本书不适合作为教材,而更像一部学术专著:有一些理论知识和实践经验的人来看或许会有收获;或是许以后有一些从事机器学习工作的经验之后再来revisit,就会发现到这本书的价值吧。
个人觉得存在的问题:
1. 系统性整体性差
2. 举的例子很凌乱
3. 没有例题和习题
想到这里就去Amazon看了看其他人对这本的的评价,发现一些人和我的看法还是蛮相似的。特别想吧这个评论贴出来,真的就是内心想法呀hhhh。
https://www.amazon.com/gp/product/0262035618/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1&fpw=alm
A surprisingly poor book--who is the audience?
I am surprised by how poorly written this book is. I eagerly bought it based on all the positive reviews it had received. Bad mistake. Only a few of the reviews clearly state the obvious problems of this book. Oddly enough, these informative reviews tend to attract aggressively negative comments of an almost personal nature. The disconnect between the majority of cloyingly effusive reviews of this book and the reality of how it is written is quite flabbergasting. I do not wish to speculate on the reason for this but it does sometimes does occur with a first book in an important area or when dealing with pioneer authors with a cult following.
First of all, it is not clear who is the audience--the writing does not provide details at the level one expects from a textbook. It also does not provide a good overview ("big picture thinking"). Advanced readers would also not gain much because it is too superficial, when it comes to the advanced topics (final 35% of book). More than half of this book reads like a bibliographic notes section of a book, and the authors seem to be have no understanding of the didactic intention of a textbook (beyond a collation or importance sampling of various topics). In other words, these portions read like a prose description of a bibliography, with equations thrown in for annotation. The level of detail is more similar to an expanded ACM Computing Surveys article rather than a textbook in several chapters. At the other extreme of audience expectation, we have a review of linear algebra in the beginning, which is a waste of useful space that could have been spent on actual explanations in other chapters. If you don't know linear algebra already, you cannot really hope to follow anything (especially in the way the book is written). In any case, the linear algebra introduced in that chapter is too poorly written to even brush up on known material-- so who is that for? As a practical matter, Part I of the book is mostly redundant/off-topic for a neural network book (containing linear algebra, probability, and so on) and Part III is written in a superficial way--so only a third of the book is remotely useful.
Other than a chapter on optimization algorithms (good description of algorithms like Adam), I do not see even a single chapter that has done a half-decent job of presenting algorithms with the proper conceptual framework. The presentation style is unnecessarily terse, and dry, and is stylistically more similar to a research paper rather than a book. It is understood that any machine learning book would have some mathematical sophistication, but the main problem is caused by a lack of concern on part of the authors in promoting readability and an inability to put themselves in reader shoes (surprisingly enough, some defensive responses to negative reviews tend to place blame on math-phobic readers). At the end of the day, it is the author's responsibility to make notational and organizational choices that are likely to maximize understanding. Good mathematicians have excellent manners while choosing notation (you don't use nested subscripts/superscripts/functions if you possess the clarity to do it more simply). And no, math equations are not the same as algorithms-- only a small part of it. Where is the rest? Where is the algorithm described? Where is the conceptual framework? Where is the intuition? Where are the pseudocodes? Where are the illustrations? Where are the examples? No, I am not asking for recipes or Python code. Just some decent writing, details, and explanations. The sections on applications, LSTM and convolutional neural networks are hand-wavy at places and read like "you can do this to achieve that." It is impossible to fully reconstruct the methods from the description provided.
A large part of the book (including restricted Boltzmann machines) is so tightly integrated with Probabilistic Graphical models (PGM), so that it loses its neural network focus. This portion is also in the latter part of the book that is written in a rather superficial way and therefore it implicitly creates another prerequisite of being very used to PGM (sort-of knowing it wouldn't be enough). Keep in mind that the PGM view of neural networks is not the dominant view today, from either a practitioner or a research point of view. So why the focus on PGM, if they don't have the space to elaborate? On the one hand, the authors make a futile attempt at promoting accessibility by discussing redundant pre-requisites like basic linear algebra/probability basics. On the other hand, the PGM-heavy approach implicitly increases the pre-requisites to include an even more advanced machine learning topic than neural networks (with a 1200+ page book of its own). What the authors are doing is the equivalent of trying to teach someone how to multiply two numbers as a special case of tensor multiplication. Even for RNNs with deterministic hidden states they feel the need to couch it as a graphical model. It is useful to connect areas, but mixing them is a bad idea. Look at Hinton's course. It does explain the connection between Boltzmann machines and PGM very nicely, but one can easily follow RBM without having to bear the constant burden of a PGM-centric view.
One fact that I think played a role in these types of strategic errors of judgement is the fact that the lead author is a fresh PhD graduate There is no substitute for experience when it comes to maturity in writing ability (irrespective of how good a researcher someone is). Mature writers have the ability to put themselves in reader shoes and have a good sense of what is conceptually important. The authors clearly miss the forest from the trees, with chapter titles like "Confronting the partition function." The book is an example of the fact that a first book in an important area with the name of a pioneer author in it is not necessarily a qualification for being considered a good book. I am not hesitant to call it out. The emperor has no clothes.