详细阅读指南:机器学习的启蒙之书

全文共2754字,预计学习时长8分钟

图源:Unsplash

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

它作为人工智能的核心,是使计算机具有智能的根本途径。不少有志青年都加入了“机器学习”的队列之中。

大多数机器学习(Machine Learning) 的学习实践者经常被问到的一个问题是:“如何才能真正开始构建机器学习项目和解决方案?” 外界涌现了太多的信息——有利有弊——很难知道从哪里开始。

此外,人们来自不同的背景,起点也有显著的区别。例如,对笔者来说,笔者通过从电脑科学渠道观看关于神经网络的理论视频入门机器学习,随着兴趣加深,笔者开始阅读关于机器学习相关的文章、新闻和博客来加深了解。 然而,这些做法使笔者对机器学习仅仅有了一个模糊的理解,其根本无法独自完成一个项目。

了解了这一点之后,笔者决定参加一些经济实惠的Udemy机器学习线上课程。此类课程益处很大,它们能使用户的知识面更加全面和具体,同时也涵盖了一些不同算法和模型的Python函数实现。

尽管如此,这些课程并没有使笔者满足,止步于此,笔者想更深入地了解每一次人机对话,了解算法的本质,然后开发和理解如何自己构建一个端到端机器学习项目。笔者希望有此想法之后,构建或下载一个数据集,并执行。

这就是笔者接下来要讲的这本书的用武之地。

笔者之前读过这本书,随着其新版本的出版,笔者想分享其一些读书心得。

该书旧版本 这本书是《用Scikit-Learn 和 TensorFlow进行机器学习的亲身实践》。这本书最初在2017年出版,每一个新的修订版本都比旧版本更加完善,是深入机器学习的最好,最完备的资源之一。

这本书是给谁看的?

这本书是为初学机器学习的人准备的,他们通过构建项目和在特定的背景下研究不同的机器学习算法来寻找一个实用的方法去学习。读完整本书后,读者应该做好独自面对一个项目的准备,并适应这个过程中的各个步骤。

尽管它是一本相当初级的书,但它也能为中级机器学习的实践者们的工具包添加一些有益工具。

本书基于读者有一定的Python编程经验,并且知道如何使用主要的科学库:Numpy、panda和Matplotlib。 此外,如果读者想充分利用此书,最好具备一些基本的数学、代数和统计知识。除此之外,在对机器学习很少或没有初步的理解的前提下,如果读者愿意努力,还是可以轻松地读完此书。 通过代码片段、注释和示例,书中的一切都解释得非常清楚。

书中包含了什么?

正如笔者前文所述,这是一本非常实用的书,其在第二章中介绍了如何编写项目代码。

在此之前的章节,它描述了什么是和什么不是机器学习,提到了机器学习的基本原理,主要应用和优势等内容。

它展示了如何实现不同机器学习的算法,并涵盖了相关理论,而不是附上让人头痛的数以百万计的复杂方程。最新版共19章,大致分为两个板块:

第一部分,介绍了分类、回归、降维和无监督学习技术的主要概念,以及线性回归、逻辑回归、支持向量机、决策树或集成模型等传统机器学习算法。

第二部分,重点介绍人工神经网络以及使用Tensorflow和Keras的深度学习。介绍了卷积神经网络和递归神经网络,以及自动编码器,还有一章是关于强化学习的。 每一章都被进一步划分成一个更加细致的结构,一步一步带领读者浏览和学习,书中还包含了各种附录。

图源:Unsplash

各章节如下:

第一部分:1.机器学习的前景;2.端到端机器学习项目;3. 分类;4.模型训练;5.支持向量机;6.决策树;7.集成学习和随机森林算法;8.降维;9.无监督学习技术。

第二部分:10.人工神经网络与Keras的介绍;11.深度神经网络训练;12.使用Tensorflow定制模型和培训;13.使用Tensorflow加载和预处理数据;14.使用卷积神经网络加深计算机视觉;15.使用RNNs和CNNs处理序列;16.使用RNNs进行自然语言处理和注意事项;17.使用自动编码器和GANs进行表示学习和生成学习;18.强化学习;19.大规模培训和部署Tensorflow模型。

正如笔者上文提到的,在每一章中,都可以找到代码片段和旁注,以补充解释一些数字、图像和图形,在每一章的结尾,都有一组问题和练习,在其中一个附录中可以得到解决。 除此之外,还有一个非常有用的补充,那就是在一个普通的机器学习项目中的具体步骤。

如何阅读这本书?

每个人所用的方法都是不同的,对笔者来说,最好的办法是边读书边写笔记。与此同时,笔者尝试着通读代码,每次读完一章,都会花些时间来回答问题和做小练习。如果卡住了或者不知道怎么做的时候,笔者就会重读这一章的某些部分或者上网查找有用的信息。

图源:Unsplash

这本书对笔者有什么影响?

如果刚刚开始机器学习,这本书有助于读者理论知识的显著提高,然后把它用于一些实际项目。很多时候,人们无法测试自己掌握理论知识的多少,直到尝试着把它付诸实践。通过阅读这本书,读者就可以在感兴趣的项目中随时待命了。

如果已经对机器学习有所了解,并参与过一些项目,这本书将对读者的理论知识有一个总结,教给读者一些可能会忽视的实践技巧,并针对如何以最佳方式组织项目提出建议。这是一本非常棒的书,可以解答读者日常工作中可能出现的具体问题。

下一步怎么办?

在读完这本书之后,笔者鼓励读者列出几个想做的关于机器学习的项目,在握有此书的前提下,试着去解决它们。这将在现实世界的问题里测试读者,让读者面临一些困难的机器学习项目,同时读者将建立一个解决问题的组合,对机器学习工程师或数据科学家来说,这将对读者的学习和未来的发展有重大的意义。

笔者图书馆的其他机器学习书籍 一旦觉得处理这类项目是合适的,如果想要走得更远,更接近专家的水平,可以用这种学习方式、或自己领悟的更先进的方法去学习其它相关书籍。 此外,如果想在机器学习的某个特定领域有所专长,可以找一本关于这个主题的书,甚至是一门更具专业性的在线课程。 学习顺利!

留言 点赞 发个朋友圈

我们一起分享AI学习与发展的干货

如需转载,请后台留言,遵守转载规范

打开APP阅读更多精彩内容