前言
从犯错和经验中学习是人类的一项基本能力,机器能有这样的能力吗?机器学习(machine learning)算法赋予了机器从经验中学习的能力。机器学习赋予了计算机无须显示编程即可自主学习的能力。机器学习算法通过学习原始数据,从原始数据集中提取规律,发现模式,构建模型,然后用这个模型对新的数据进行预测。
MATLAB为机器学习领域提供了必要的工具。用户可以借助MATLAB环境提供的强大的交互式图形界面,非常轻松地解决机器学习问题。
本书在陈述每个主题前,都会对这个主题的理论基础进行精炼的概述,然后用实际案例举例。通过阅读本书,读者能够应用机器学习方法并充分利用MATLAB的功能解决实际问题。
本书内容
第1章:MATLAB机器学习初体验。本章先对机器学习的基础概念进行概述,然后快速介绍几种不同类型的机器学习算法。除此之外,本章还会涉及MATLAB环境的部分介绍、背景和基础概念。最后,我们还会探索MATLAB为机器学习领域提供的必要工具。
第2章:使用MATLAB导入数据和组织数据。本章主要使用MATLAB导入数据和组织数据。我们会介绍存储数据的几种不同形式以及将数据集导入/导出MATLAB的方法,最后还会分析如何以正确的形式组织数据,以便用于之后的数据分析。
第3章:从数据到知识发掘。从这一章开始,我们从数据中提取有用信息。我们从对基本的变量类别进行分析和逐步清洗数据入手,介绍了为分析和建模准备最合适数据的几种方法,最后以数据可视化结尾——这对理解数据起着至关重要的作用。
第4章:找到变量之间的关系——回归方法。本章介绍了MATLAB用于回归分析的工具箱。我们从工具箱的用户界面开始学习,继而深入到如何使用内置函数进行回归分析(包括拟合、预测和结果可视化)。
第5章:模式识别之分类算法。之前的章节一直在介绍频率视角下的监督学习,从本章开始增加了概率论、贝叶斯视角下的机器学习算法以及非监督学习的内容。除了基于决策树的频率视角下的分类器,我们还将介绍如何使用最近邻算法进行无监督分类,以及基于贝叶斯理论的后验概率分类器。
第6章:无监督学习。本章着重介绍无监督学习和聚类分析。在这一章中,我们将介绍如何把数据集归类到群、如何对相似的事物分簇。我们先介绍基于层级的聚类算法,接着将扩展到基于原型(prototype-based clustering)的聚类方法,如k均值和k邻近算法。
第7章:人工神经网络——模拟人脑的思考方式。本章讲述如何使用人工神经网络对数据进行拟合、分类以及聚类,其中介绍了一系列帮助提高训练效率、评估网络性能的预处理方法、参数调优方法及网络结构可视化方法。
第8章:降维——改进机器学习模型的性能。本章讲述如何构建最能够表示数据集的特征矩阵,其中介绍了对数据集的降维变换的方法,以及对数据集进行特征提取的方法。
第9章:机器学习实战。本章着重讲述机器学习方法在实际生活中的应用。我们首先会完成一个真实的拟合任务,接着介绍如何使用神经网络进行分类,最后以一个聚类任务结尾。通过学习本章的内容,读者将了解如何在实际应用中分析、使用监督学习和非监督学习算法。
MATLAB环境要求
为了能运行本书中的MATLAB机器学习代码,读者需要安装MATLAB(推荐使用最新版本,写作本书时使用了R2017a)以及如下工具箱:统计机器学习工具箱(statistics and machine learning toolbox)、神经网络工具箱(neural network toolbox)和模糊逻辑工具箱(fuzzy logic toolbox)。
读者对象
本书的目标人群包括数据分析员、数据科学家、学生或任何希望学习机器学习算法以及构建数据处理、预测应用的人群。良好的数学和统计学(大学工科水平)背景非常有助于本书的学习。
本书约定
在本书中,我们用各种不同的文本格式来区分不同种类的信息。下面列举了这些文本格式的例子并对它们的含义做出解释。
下面是一个代码段的例子:
PC1 = 0.8852* Area + 0.3958 * Perimeter + 0.0043 * Compactness + 0.1286 * LengthK + 0.1110 * WidthK - 0.1195 * AsymCoef + 0.1290 * LengthKG
任何命令行的输入或者输出采用如下形式:
>>10+90 ans = 100
新的术语和重要的词汇以黑体表示。在诸如MATLAB的界面、菜单、对话框中显示的词汇在本书正文中以这种形式出现:“在帮助页面中的一个引用页”。
警告和重要的提示以这种图形出现。
小技巧以这种图形出现。