描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302495147丛书名: 大数据与人工智能技术丛书

本书适合以下读者: 对人工智能、机器学习感兴趣的读者; 希望用机器学习完成设计的计算机或电子信息专业学生; 准备开设机器学习、深度学习实践课的授课老师; 学习过C语言,且希望进一步提升编程水平的开发者; 刚从事机器学习、语音、机器视觉、智能机器人研发的算法工程师。
目录
第一部分机器学习概念篇
●第1章机器学习基础
1.1机器学习概述
1.1.1机器学习的概念
1.1.2机器学习的发展史
1.1.3机器学习的用途
1.1.4机器学习、数据挖掘及人工智能的关系
1.2机器学习基本术语
1.3机器学习任务及算法分类
1.4如何学习和运用机器学习
1.4.1软件平台的选择
1.4.2机器学习应用实现流程
1.5数据预处理
1.5.1数据初步选取
1.5.2数据清理
1.5.3数据集成
1.5.4数据变换
1.5.5数据归约
参考文献
第二部分MATLAB机器学习基础篇
●第2章MATLAB基础入门
2.1MATLAB界面介绍
2.2矩阵赋值与运算
2.3m文件及函数实现与调用
2.4基本流程控制语句
2.5基本绘图方法
2.5.1二维绘图函数的基本用法
2.5.2三维绘图函数的基本用法
2.5.3颜色与形状参数列表
2.5.4图形窗口分割与坐标轴
2.6数据文件导入与导出
参考文献
●第3章MATLAB机器学习工具箱
3.1工具箱简介
3.2分类学习器基本操作流程
3.3分类学习器算法优化与选择
3.3.1特征选择
3.3.2选择分类器算法
3.4工具箱分类学习实例
参考文献
第三部分机器学习算法与MATLAB实践篇
●第4章k近邻算法
4.1k近邻算法原理
4.1.1k近邻算法实例解释
4.1.2k近邻算法的特点
4.2基于k近邻算法的算法改进
4.2.1快速KNN算法
4.2.2kd树KNN算法
4.3k近邻算法的MATLAB实践
参考文献
●第5章决策树
5.1决策树算法原理
5.1.1决策树算法基本原理
5.1.2决策树算法的特点
5.1.3决策树剪枝
5.1.4分类决策树与回归决策树
5.2基于决策树算法的算法改进
5.2.1ID3决策树
5.2.2C4.5决策树
5.2.3分类回归树
5.2.4随机森林
5.3决策树算法MATLAB实践
参考文献
●第6章支持向量机
6.1支持向量机算法原理
6.1.1支持向量机概述
6.1.2支持向量机算法及推导
6.1.3支持向量机核函数
6.2改进的支持向量机算法
6.3支持向量机算法的MATLAB实践
参考文献
●第7章朴素贝叶斯
7.1贝叶斯定理
7.2朴素贝叶斯分类
7.3朴素贝叶斯实例分析
7.4朴素贝叶斯分类算法的改进
7.4.1半朴素贝叶斯分类模型
7.4.2树增强朴素贝叶斯分类模型
7.4.3贝叶斯网络
7.4.4朴素贝叶斯树
7.4.5属性加权朴素贝叶斯分类算法
7.5朴素贝叶斯算法MATLAB实践
参考文献
●第8章线性回归
8.1线性回归原理
8.1.1简单线性回归
8.1.2线性回归实例
8.2多元线性回归
8.3线性回归算法的MATLAB实践
参考文献
●第9章逻辑回归
9.1逻辑回归原理
9.1.1Sigmoid函数
9.1.2梯度下降法
9.2逻辑回归理论推导
9.2.1逻辑回归理论公式推导
9.2.2向量化
9.2.3逻辑回归算法的实现步骤
9.2.4逻辑回归的优缺点
9.3逻辑回归算法的改进
9.3.1逻辑回归的正则化
9.3.2主成分改进的逻辑回归方法
9.4逻辑回归的MATLAB实践
参考文献
●第10章神经网络
10.1神经网络算法原理
10.1.1神经网络工作原理
10.1.2神经网络的特点
10.1.3人工神经元模型
10.2前向神经网络
10.2.1感知器
10.2.2BP算法
10.3基于神经网络的算法拓展
10.3.1深度学习
10.3.2极限学习机
10.4神经网络的MATLAB实践
参考文献
●第11章AdaBoost算法
11.1集成学习方法简介
11.1.1集成学习方法分类
11.1.2集成学习Boosting算法
11.2AdaBoost算法原理
11.2.1AdaBoost算法思想
11.2.2AdaBoost算法理论推导
11.2.3AdaBoost算法的实现步骤
11.2.4AdaBoost算法的特点
11.2.5通过实例理解AdaBoost算法
11.3AdaBoost算法的改进
11.3.1RealAdaBoost算法
11.3.2GentleAdaBoost算法
11.3.3LogitBoost算法
11.4AdaBoost算法的MATLAB实践
参考文献
●第12章k均值算法
12.1k均值算法原理
12.1.1k均值算法基本原理
12.1.2k均值算法的实现步骤
12.1.3k均值算法实例
12.1.4k均值算法的特点
12.2基于kmeans算法的算法改进
12.2.1改善k值选取方式的kmeans改进算法
12.2.2改进初始聚类中心选择方式的kmeans改进算法
12.3kmeans算法的MATLAB实践
参考文献
●第13章期望最大化算法
13.1EM算法
13.1.1EM算法思想
13.1.2似然函数和极大似然估计
13.1.3Jensen不等式
13.1.4EM算法理论和公式推导
13.1.5EM算法的收敛速度
13.1.6EM算法的特点
13.2EM算法的改进
13.2.1Monte Carlo EM算法
13.2.2ECM算法
13.2.3ECME算法
13.3EM算法的MATLAB实践
参考文献
●第14章k中心点算法
14.1经典k中心点算法——PAM算法
14.1.1PAM算法原理
14.1.2PAM算法实例
14.1.3PAM算法的特点
14.2k中心点算法的改进
14.3k中心点算法的MATLAB实践
参考文献
●第15章关联规则挖掘的Apriori算法
15.1关联规则概述
15.1.1关联规则的基本概念
15.1.2关联规则的分类
15.2Apriori算法原理
15.3Apriori算法的改进
15.3.1基于分片的并行方法
15.3.2基于hash的方法
15.3.3基于采样的方法
15.3.4减少交易个数的方法
15.4Apriori算法的MATLAB实践
参考文献
●第16章高斯混合模型
16.1高斯混合模型原理
16.1.1单高斯模型
16.1.2高斯混合模型
16.1.3模型的建立
16.1.4模型参数的求解
16.2GMM算法的MATLAB实践
16.2.1生成一个高斯混合模型
16.2.2拟合GMM
16.2.3GMM聚类实例
16.3GMM的改进及MATLAB实践
16.3.1GMM的正则化
16.3.2GMM中k的选择问题
16.3.3GMM拟合的初始值选择问题
参考文献
●第17章DBSCAN算法
17.1DBSCAN算法原理
17.1.1DBSCAN算法的基本概念
17.1.2DBSCAN算法原理
17.1.3DBSCAN算法的实现步骤
17.1.4DBSCAN算法的优缺点
17.2DBSCAN算法的改进
17.2.1DPDGA算法
17.2.2并行DBSCAN算法
17.3DBSCAN算法的MATLAB实践
参考文献
●第18章策略迭代和值迭代
18.1基本概念
18.1.1强化学习的基本模型
18.1.2马尔可夫决策过程
18.1.3策略
18.1.4值函数
18.1.5贝尔曼方程
18.2策略迭代算法原理
18.3值迭代算法原理
18.4策略迭代和值迭代算法的MATLAB实践
参考文献
●第19章SARSA算法和Q学习算法
19.1SARSA算法原理
19.2SARSA算法的MATLAB实践
19.3Q学习算法原理
19.4Q学习算法的MATLAB实践
参考文献
前言
近年来,随着计算机技术及互联网技术的发展,人工智能技术也取得了重要的突破。作为人工智能的核心技术,机器学习已经广泛应用于各行各业中,如图像识别、语言识别、文本分类、智能推荐、网络安全等。未来,伴随着信息技术的进一步发展,机器学习技术将会更加深入地应用到生产、生活的方方面面。
目前,机器学习技术正处于朝阳时期,对于从事机器学习的研究人员来说,应感到荣幸和骄傲,因为能够在对的时间从事最热门的技术研究。对于有志于或有兴趣从事机器学习的研究人员而言,首先应知道,现阶段对这方面人才的需求远远大于供给,同时,这一技术会伴随着信息化技术一直发展下去。其次,在学习之初,不要被大量的数学公式吓得退避三舍,而应明白,在大多数情况下,尤其是应用层面,机器学习仅是一种实现技术要求的工具,需要了解各类算法的优势、劣势及有效使用的方法,无须详尽地了解各种机器学习算法的细枝末节。正如计算机内部运行机制极其复杂,大多数人每天都会使用,但却无须了解CPU和内存在每一时刻的具体运行过程。
本书是作者在多年机器学习及工作经验的基础上,对大量的网络资源、论文和相关书籍进行总结、整理、分析后编写的。全书共分为三部分,分别为机器学习概念篇、MATLAB机器学习基础篇、机器学习算法与MATLAB实践篇。
本书各章内容简介如下。
第1章主要介绍机器学习中的基本概念、术语等,机器学习算法分类框架,机器学习算法实现的基本流程,以及机器学习中数据预处理的基本方法。
第2章主要介绍MATLAB软件的基本操作和使用方法,包括矩阵运算、m文件编写、流程控制语句编写、绘图及文件的导入与导出。
第3章主要介绍MATLAB机器学习工具箱中的分类学习器应用程序(Classification Learner App)的使用方法,通过安德森鸢尾花卉数据集的实例,具体介绍使用方法和流程。
第4章介绍分类回归算法中的k近邻算法(KNN)的算法原理、算法实现步骤、算法特点、算法改进,以及通过MATLAB进行实例的算法编写与详解。
第5章介绍分类回归算法中的决策树(Decision Tree)的算法原理、算法实现步骤、算法特点、算法改进,以及通过MATLAB进行实例的算法编写与详解。
第6章介绍分类回归算法中的支持向量机(SVM)的算法原理、算法实现步骤、算法特点、算法改进,以及通过MATLAB进行实例的算法编写与详解。
第7章介绍分类回归算法中的朴素贝叶斯(Naive Bayes,NB)的算法原理、算法实现步骤、算法特点、算法改进,以及通过MATLAB进行实例的算法编写与详解。
第8章介绍分类回归算法中的线性回归(Line Regression)的算法原理、算法实现步骤、多元线性回归原理,以及通过MATLAB进行实例的算法编写与详解。
第9章介绍分类回归算法中的逻辑回归(Logistic Regression)的算法原理、算法实现步骤、算法特点、算法改进,以及通过MATLAB进行实例的算法编写与详解。
第10章介绍分类回归算法中的神经网络(Artificial Neural Networks,ANN)的算法原理、算法实现步骤、算法特点、算法拓展,以及通过MATLAB进行实例的算法编写与详解。
第11章介绍分类回归算法中的AdaBoost算法的算法原理、算法实现步骤、算法特点、算法改进,以及通过MATLAB进行实例的算法编写与详解。
第12章介绍聚类算法中的k均值算法(kmeans)的算法原理、算法实现步骤、算法特点、算法改进,以及通过MATLAB进行实例的算法编写与详解。
第13章介绍聚类算法中的期望最大化算法(EM)的算法原理、算法实现步骤、算法特点、算法改进,以及通过MATLAB进行实例的算法编写与详解。
第14章介绍聚类算法中的k中心点算法(kmedoids)的算法原理、算法实现步骤、算法特点、算法改进,以及通过MATLAB进行实例的算法编写与详解。
第15章介绍聚类算法中的关联规则挖掘的Apriori算法的算法原理、算法实现步骤、算法特点、算法改进,以及通过MATLAB进行实例的算法编写与详解。
第16章介绍聚类算法中的高斯混合模型(GMM)的算法原理、算法实现步骤、算法特点、算法改进,以及通过MATLAB进行实例的算法编写与详解。
第17章介绍聚类算法中的DBSCAN算法的算法原理、算法实现步骤、算法特点、算法改进,以及通过MATLAB进行实例的算法编写与详解。
第18章介绍强化学习算法中的策略迭代和值迭代的算法原理、算法实现步骤,以及通过MATLAB进行实例的算法编写与详解。
第19章介绍强化学习算法中的SARSA算法和Q学习算法的算法原理、算法实现步骤,以及通过MATLAB进行实例的算法编写与详解。
本书的出版得到了清华大学出版社图书出版基金的资助和出版社工作人员的大力支持,作者在此表示衷心的感谢。此外,学术界、产业界同仁们的不断探索,才推动机器学习技术走到今天,本书的完成得力于此,编者在此一并表示感谢。本书由冷雨泉、张会文、张伟著,其他参与编写的作者还有付明亮、韩小宁、秦晓成、张会彬,排名不分先后。
本书适合以下读者:对人工智能、机器学习感兴趣的读者;希望用机器学习完成设计的计算机或电子信息专业学生;准备开设机器学习、深度学习实践课的授课老师;学习过C语言,且希望进一步提升编程水平的开发者;刚从事机器学习、语音、机器视觉、智能机器人研发的算法工程师。
一方面,机器学习内容极为庞大和复杂,存在大量的交叉算法,且依据应用领域的不同,不同的算法也会有不同的表现;另一方面,机器学习领域发展极其迅速,不断取得新的研究成果。因此,作者只能尽力将现有机器学习的框架关系及主要算法原理及其实现展现给读者,以起到抛砖引玉的作用,给予机器学习的初学者一定的指导。读者在后期的机器学习中,需要阅读大量的文献,并在实践中进行摸索。
由于作者学识有限,疏漏和不当之处在所难免,敬请读者和同行们给予批评指正([email protected])。读者如有兴趣,可加入机器学习互动QQ群446360728,进行交流,共同进步。
作者2018年10月
5.1决策树算法原理
5.1.1决策树算法基本原理
决策树(Decision Tree)是一种特别简单的机器学习分类算法。决策树想法来源于人类的决策过程,是在已知各种情况发生概率的基础上,通过构成决策树来评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,其代表的是对象属性与对象值之间的一种映射关系。
决策树可看作一个树状预测模型,它是由结点和有向分支组成的层次结构。树中包含3种结点: 根结点、内部结点、叶子结点。决策树只有一个根结点,是全体训练数据的集合。树中每个内部结点都是一个分裂问题: 指定了对实例的某个属性的测试,它将到达该结点的样本按照某个特定的属性进行分割,并且该结点的每一个后继分支对应于该属性的一个可能值。每个叶子结点是带有分类标签的数据集合,即为样本所属的分类[1,2,3]。
为了便于读者理解,用实例的方法解释各概念及决策树算法流程。假设一个应用为推断某个孩子是否出门玩耍,其相应的样本属性包括是否晴天、湿度大小、是否刮风,通过前期统计,带标签的数据如表5.1所示,序号1~6的数据为样本数据,序号为7的数据为待分类数据,即判别在该属性数据情况下是否出门。
表5.1孩子出门情况统计表
序号是否晴天湿度大小是否刮风是否出门(标签)
1是大否不出门
2是小否出门
3是小是不出门
4否小是不出门
5否大否出门
6否大是不出门
7是小否?
通过表5.1建立决策树模型,如图5.1所示,从图中可看出,首先对数据整体样本(即根结点处)按照某一属性进行决策分支,形成中间结点,之后,递归分支,直到样本划分到一类中,即形成叶子结点。对于表5.1中的序号为7的待分类样本,将其带入决策树中,首先按是否晴天进行分支,其属性值为“是”时,之后,依据其湿度值为“小”,最后,判断是否刮风为“否”,可判断该数据划分到“出门”这一类中。
图5.1孩子出门决策树
决策树是一种十分常用的分类方法,其通过样本数据学习得到一个树形分类器,对于新出现的待分类样本能够给出正确的分类。对于创建决策树的过程,其步骤如下。
(1) 检测数据集中的每个样本是否属于同一分类。
(2) 如果是,则形成叶子结点,跳转到步骤(5)。如果否,则寻找划分数据集的最好特征(5.2节将介绍方法)。
(3) 依据最好的特征,划分数据集,创建中间结点。
(4) 对每一个划分的子集循环步骤(1)、(2)、(3)。
(5) 直到所有的最小子集都属于同一类时,即形成叶子结点,则决策树建立完成。
5.1.2决策树算法的特点
决策树算法的优点如下。
(1) 决策树易于理解和实现,用户在学习过程中不需要了解过多的背景知识,其能够直接体现数据的特点,只要通过适当的解释,用户能够理解决策树所表达的意义。
(2) 速度快,计算量相对较小,且容易转化成分类规则。只要沿着根结点向下一直走到叶子结点,沿途分裂条件是唯一且确定的。
决策树算法的缺点则主要是在处理大样本集时,易出现过拟合现象,降低分类的准确性。
评论
还没有评论。