读《白话大数据与机器学习》
《白话大数据与机器学习》(简称 白话)这本书作为入门书籍,蜻蜓点水般的引出了机器学习的重要概念。每一节原理介绍偏多,辅以简单的Python实现。让人不再对机器学习望而却步。我本人也是刚刚接触这们学科,才疏学浅,理解不对还望包涵。
白话 一书,最值得一读的我认为是书中的第8、9、10。这几节总重介绍了机器学习里几个特别重要的算法。
回归
回归,即根据现有数据总结出规律,最经典的当然是线性回归。随便画几个点,找出最接近的函数。这个用以前课本里的知识难以解决,不过引入“最小二乘”算法,事情看起来有解了。
书里举例的计算重力加速度的例子虽然很经典,但是更多的书物理实验课上才用到的。反而,书里面第一个代码示例,用numpy计算,学习起来才有意思。原理机器学习里这么重要的一个算法,用几行代码就能实现了。
聚类
聚类也是一个很有趣的算法,能把相关性的数据自动収缩到一起。聚类的第一个算法K-Means,甚至都没有数学证明的过程。
归一化也是在这一章提出的,这个也是很重要的概念。归一化有两个作用:1. 梯度下降算法中加速下降到最优点;2. 聚类算法中多项式的确定与数据归一化有关。
当然,这本书在算法上讲得比较少。比如簇数的确定,没有具体的证明。
分类
分类与聚类是不同的两种实现方法,虽然看起来很像。
在本书介绍的几种分类算法,有几个我觉得很重要,值得反复阅读。
- 朴素贝叶斯
贝叶斯公式在机器学习中鼎鼎有名,它其实是概率论上的发展出的公式,用于解决“条件概率”这一难题。即已知A的概率和B的概率,以及A|B(A发生时B也发生)概率,求B|A。
贝叶斯公式简单,如何应用才是关键。书中列举的天气预测是个很好的例子,比垃圾邮件预测这种烂大街的例子要好不少。
- 支持向量机SVM
在很多机器学习教程中,SVM出现频率非常高,毕竟它作为一个通用算法,没有它解不出来的分类。
SVM的精髓在于,低维上解决不了的分类,映射到高维上总能找的解,即所谓的“超平面”。这在数学上是可以证明的。
机器学习的书目前大部分都走向了两个极端:要么全篇公式,标准的大学教科书,其实这些理论在几十年前就有了,只是近些年计算能力和海量数据让其繁荣了起来;要么全部是代码应用,我看到很多TensorFlow的书就是这样,如果手边有数据,想要速成的可以用这种方式。
看完这本书,可以对机器学习这门学科有一个全局的认识。到具体问题,咱们再深入具体的算法。