《机器学习实战》,我翻过两遍,每一次都没能读完。
为什么呢?
先说说好的一面。《机器学习实战》里面讲到了诸多的机器学习算法。虽说现在深度学习、强化学习等等的算法大行其道,但机器学习算法如线性回归、决策树等等,都仍然有其应用价值。这是因为:
1)深度学习对于运行的机器要求很高,在没有GPU的情况下,只要层数一多,就会耗费大量的时间,训练过程过长,投入资源较多;
2)深度学习算法等对于样本数要求较高,虽然有一些手段可以通过现有样本数进行一定的变化扩充,但一方面这会降低精度,另一方面需求的样本数仍然不是一个小数目;
3)经典机器学习算法虽然看起来简单,但是包括深度学习也是从这些经典算法演进而来的,我们通过经典算法的学习,才能够真正补全自己的知识体系,并且也可以多视角去审视问题,不能因为深度学习火就无视了其他方向;
4)经典算法用到的很多训练技巧,同样适用于深度学习,而且你可以在更简单的模型上应用体会;
综上(这也是我拍脑袋整理的几点),机器学习是基础、是全集,而深度学习等是分支,也算是机器学习中的一种,只是因为近年来大火而成为了一个壮大的分支。《机器学习实战》就包括了诸多的算法,以及其Python代码实现,是一本挺不错的书籍。我暂时还没看到其他书能够对这么多算法进行代码实现,而往往是深入在一个方面,所以这本书用来扫盲学习挺好的。
再说说这本书不太好的地方。
1)这本书对于原理说的不透,也不算太清晰,算是写了一些,但是仅靠这本书上的描述,恐怕会看的云里雾里;即便是我已经看过两遍吴恩达的“机器学习”视频,仍然是看的迷迷糊糊;
2)每一种算法都有代码实现,并且调用了不同的数据集,这点本来是挺好的;但是这本书并没有试图将这些代码框架化,导致每一章都相对独立,代码可复用性不强;虽然你可以学习每套代码,试图去读懂每一行代码,但是当数据集发生变化,或者其他的一些情况,想要复用代码还是不容易的;
3)差不多300页的书,字印的真的很小(至少行间距是很小的),看几页就容易累;其实还不如多印几页,价格还能卖的贵一点;干嘛字要印的那么小呢?
我之所以没将其读完,大概原因就是这样吧。不过之前已经将《Python神经网络编程》解读了一遍,忽然想到了这一本书,我想确实可以将机器学习的各种算法实战实现来解读一下,也正好巩固自己对这些算法的认知。对于大家来说,也能是一个参考,至少我踩过的坑,大家就不用踩了,是不是挺好?
我估计整本书的解读,会远比《Python神经网络编程》的20篇解读来的多的多吧。我预期是50章?不确定。我会在解读算法、代码等的同时,也就代码实战“玩一玩”,就如《Python神经网络编程》伴读里的“玩转”部分。当然大家如果能自己动手玩一玩,是最好的。
实战出真知。好了,来吧,让我们一起来啃这本300页的机器学习书籍吧。