机器学习是关于基于数据学习、推理和行动的。这是通过构建计算机程序来完成的,这些程序处理数据,提取有用的信息,对未知属性进行预测,并建议采取行动或做出决定。将数据分析转化为机器学习的原因是,这个过程是自动化的,计算机程序是从数据中学习的。这意味着使用通用的计算机程序,这些程序根据观察到的所谓的训练数据自动调整程序的设置,以适应应用程序特定的情况。因此,可以说机器学习是一种示例编程方式。机器学习的美妙之处在于数据表示的是非常任意的,我们可以设计出适用于不同领域的广泛实际应用的通用方法。我们通过下面的一系列例子来说明这一点。 本书旨在传达监督式机器学习的精神,而不要求读者具备该领域的任何经验。我们的重点是基础数学和实践方面。这本书是教科书;它不是参考工作或编程手册。因此,它只包含仔细(但全面)选择的有监督机器学习方法,而没有编程代码。到目前为止,已经有许多编写良好、文档齐全的代码包可用。我们坚信,只要读者对数学及其方法的内部工作有很好的理解,就能将本书与他/她最喜欢的编程语言中的代码包联系起来。 本书从统计学的角度出发,从统计特性的角度来讨论方法。因此,它需要一些统计学和概率论的知识,以及微积分和线性代数。我们希望从头到尾阅读本书,能让读者成为机器学习工程师和/或在该主题中进行进一步研究的良好起点。这本书是这样写的,可以连续读。然而,本书还有多种可能的阅读路径,根据读者的兴趣有更多的选择。图1 - 6说明了这两章之间的主要依赖关系。特别是,第2章、第3章和第4章讨论了最基本的主题。我们建议读者在阅读后续章节(第5章至第9章)之前,先阅读这些章节。第10章将超越机器学习的监督式设置,第11章将重点放在设计一个成功的机器学习解决方案的一些更实际的方面,与前几章相比技术性较低。最后,第12章(由David Sumpter撰写)讨论了现代机器学习中的一些伦理问题。