目录
推荐序
译者序
前言
致谢
关于技术评审人
第1章 机器学习简介 1
1.1 机器学习的起源 2
1.2 机器学习的使用与滥用 3
1.3 机器如何学习 5
1.3.1 抽象化和知识表达 6
1.3.2 一般化 7
1.3.3 评估学习的成功性 9
1.4 将机器学习应用于数据中的步骤 9
1.5 选择机器学习算法 10
1.5.1 考虑输入的数据 10
1.5.2 考虑机器学习算法的类型 11
1.5.3 为数据匹配合适的算法 13
1.6 使用R进行机器学习 13
1.7 总结 17
译者序
随着大数据的概念变得越来越流行,对数据的探索、分析和预测成为大数据分析领域的基本技能之一。作为探索和分析数据的基本理论和工具,机器学习和数据挖掘成为时下的热门技术之一。R作为功能强大并且免费的数据分析工具,在数据分析领域获得了越来越多用户的青睐。本书介绍如何应用R来进行现实世界问题的机器学习,以及如何从数据中获取可以付诸行动的洞察力。
本书的作者Brett Lantz在机器学习领域具有十余年的实践经验。他在本书中介绍了多种重要的机器学习算法。在给出相应的机器学习算法的核心理论之后,都给出了一个实际的案例,从对案例数据的探索、整理,到模型的建立和模型的评估,每一步都给出了详尽的步骤和R代码。
本书共分12章。第1章介绍机器学习的基本概念和理论,并介绍用于机器学习的R软件环境的准备。第2章介绍如何应用R来管理数据,进行数据的探索分析和数据可视化。第3章到第9章介绍典型的机器学习算法和案例,包括:k近邻分类算法、朴素贝叶斯算法、决策树和规则树、回归预测、黑盒算法——神经网络和支持向量机、关联分析、k均值聚类。伴随着这些算法的介绍,书中给出了大量的实际案例,并给出了详细的分析步骤,例如乳腺癌的判断、垃圾短信的过滤、贷款违约的预测、毒蘑菇的判别、医疗费用的预测、建筑用混凝土强度的预测、光学字符的识别、超市购物篮关联分析以及市场细分等。第10章介绍模型性能评价的原理和方法。第11章给出提高模型性能的几种常用方法。第12章讨论用R进行机器学习时可能遇到的一些高级专题,例如特殊形式的数据、大数据集的处理、并行计算和CPU计算等技术。
R本身是一款十分优秀的数据分析和数据可视化软件,其中包括大量用于机器学习的添加包。本书以机器学习算法为主线,通过案例学习的形式来组织内容,脉络清晰,并且各章自成体系。读者可以从头逐章学习,也可以找到自己所需要的内容进行学习。读者只需要具有R的一些基本知识,不需要具备机器学习的深厚基础。不管是R初学者,还是熟练的R用户都能从书中找到对自己有用的内容。
译者曾经应用本书的部分内容进行教学,学生都反映这些内容具有极强的实用价值,许多内容可以直接或者略加修改就可以应用到他们的实际工作中。我们有幸受机械工业出版社委托将此书译成中文,希望中文版的出版能够给国内读者学习R与机器学习带来方便。
在本书的翻译过程中,得到了王春华编辑的大力支持和帮助。本书责任编辑盛思源老师具有丰富的经验,为本书的出版付出了大量的劳动,这里对她们的支持和帮助表示衷心的感谢。本书的翻译工作由李洪成、许金炜和李舰共同完成,丁一飞协助翻译了本书的部分内容,全书由李洪成进行修改并统一定稿。
由于时间和水平所限,难免会有不当之处,希望同行和读者多加指正。
李洪成
前言
机器学习的核心是将信息转化为可行动智能的算法。这一事实使得机器学习非常适合于当今的大数据时代。如果没有机器学习,要跟上海量信息数据流的步伐几乎是不可能的。
鉴于R不断增长的地位(R是一个跨平台、零成本的统计编程环境),现在是开始使用机器学习的最好时代。R提供了一套功能强大且易于学习的工具,这些工具可以帮助你发现数据背后隐藏的信息。
本书通过将实际案例与核心理论知识相结合,提供了你开始将机器学习应用到你自己项目中所需要的知识。
本书内容
第1章介绍了用来定义和区分机器学习算法的术语和概念,并给出将学习任务与适当算法相匹配的方法。
第2章提供了一个在R中自己实际动手操作数据的机会,并讨论了基本的数据结构以及用于加载、探索和理解数据的程序。
第3章教你如何理解并将一个简单且功能强大的学习算法应用于你的第一个学习任务:识别乳腺癌。
第4章揭示了用于先进的垃圾邮件过滤系统中的概率的基本概念,并且在你自己建立垃圾邮件过滤器的过程中,你将学习文本挖掘的基本知识。
第5章探索几种预测精度高且容易解释的学习算法。我们将把这几种算法应用于对透明度要求很高的学习任务中。
第6章介绍用于数值预测的机器学习算法。由于这些技术在很大程度上来源于统计学领域,所以你还将学习理解数值之间关系的必要分析指标。
第7章介绍两个极其复杂但功能强大的机器学习算法。尽管其中的数学理论可能会让人望而生畏,但是我们将以简单的术语,通过例子来说明这些方法的内部运作原理。
第8章揭示许多零售商所使用的推荐系统的算法。如果你曾经想知道零售商如何比你自己更了解你的购物习惯,该章将揭示他们的秘密。
第9章介绍k均值聚类,该算法用于找出相关个体的聚类。我们将使用该算法来确定一个基于网络的社区特征的分区。
第10章提供度量机器学习项目是否成功的信息,并给出了机器学习算法在未来数据上性能的一个可靠的估计。
第11章揭示了在机器学习竞赛中排名最靠前的团队所采用的方法。如果你具有竞争意识,或者仅仅想获取数据中尽可能多的信息,那么你需要将这些技术添加到你的知识库中。
第12章讨论机器学习的前沿主题。从使用大数据到如何使R运行速度更快,这些主题将会帮助你拓展使用R进行数据挖掘的界限。
学习本书的准备知识
本书的例子是基于微软的Windows系统和Mac OS X系统的R 2.15.3进行编写和测试的,不过对于任意最新的R版本,这些例子基本上都能运行。
本书适用对象
本书适合于任何希望使用数据来采取行动的人。或许你已经对机器学习有些了解,但从来没有使用过R;或许你已经对于R有些了解,但机器学习对你来说是全新的知识。无论何种情况,本书将让你快速上手。稍微了解一些基本的数学知识和编程概念将是有帮助的,但是这些先验知识并不是必需的,你需要具有的就是好奇心。
序言
你可能以多种方式接触过机器学习的输出结果。当你阅读电子邮件时,垃圾邮件可能已经被某个机器学习算法(很可能是贝叶斯算法)过滤掉了;当你在网页上浏览时,你可能会看到一些广告,它们是由机器学习算法预测出的可能会吸引你的广告;当你申请贷款或者信用卡时,申请的批准与否取决于机器学习模型的输出结果;当有人盗取了你的信用卡,发卡银行希望当该卡被用于欺诈消费时他们部署的机器学习算法能够识别出该类偷盗消费。
在早些时候,具有机器学习的预测模型只有很昂贵的统计软件才涉及,它们经常和咨询服务一起作为数据挖掘系统的一部分。R软件出现之后,小公司、初创公司,甚至个人都开始应用机器学习。现在,很多面向数据的大公司主要依靠像R软件这样的开源工具来部署他们的机器学习应用。
本书既可以作为你了解机器学习应用的商业背景的指南,也可以作为应用R来实现机器学习方法的指导。