新書推薦:
《
伟大民族:从路易十五到拿破仑的法国史(方尖碑)
》
售價:HK$
188.2
《
古今“书画同源”论辨——中国书法与中国绘画的关系问题兼中国画笔墨研究
》
售價:HK$
132.2
《
《日本文学史序说》讲演录
》
售價:HK$
72.8
《
无尽的海洋:美国海事探险与大众文化(1815—1860)
》
售價:HK$
99.7
《
治盗之道:清代盗律的古今之辨
》
售價:HK$
122.1
《
甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册)
》
售價:HK$
210.6
《
甲骨文丛书·中华早期帝国:秦汉史的重估
》
售價:HK$
300.2
《
欲望与家庭小说
》
售價:HK$
98.6
|
編輯推薦: |
初学者学习机器学习课程通常会碰到两大障碍,最大障碍数学基础,机器学习需要学习者具备数学基础,对于那些已经走向工作岗位的学习者来说,困难更大一些,从头开始学习和理解数据分布和模型背后的数学原理需要花费很长的时间和精力,学习周期非常漫长。第二大障碍编程实践,并不是所有人都擅长编代码,只有亲手用代码实现机器学习的各种算法,亲眼见到算法解决了实际问题,才能更深入地理解算法。《机器学习基础原理、算法与实践》就是为了让初学者顺利入门而精心设计的。通过学习帮助读者扫除机器学习的两大学习障碍。书中讲述了机器学习常用算法的基本原理,读者在学习并深入理解这些精挑细选的算法后,能够理解并学会使用适合的算法来解决实际问题。此外,《机器学习基础原理、算法与实践》使用MATLAB R2015b实现了常用的机器学习算法,读者能够亲眼看见算法的工作过程和结果,加深对抽象公式和算法的理解,进而逐步掌握机器学习的原理和技能,拉近理论与实践的距离。
|
內容簡介: |
《机器学习基础原理、算法与实践》讲述机器学习的基本原理,使用MATLAB实现涉及的各种机器学习算法。通过理论学习和实践操作,使读者了解并掌握机器学习的原理和技能,拉近理论与实践的距离。《机器学习基础原理、算法与实践》共分12章,主要内容包括:机器学习介绍、线性回归、逻辑回归、贝叶斯分类器、模型评估与选择、K-均值和EM算法、决策树、神经网络、HMM、支持向量机、推荐系统、主成分分析。全书源码全部在MATLAB R2015b上调试通过,每章都附有习题和习题参考答案,供读者参考。 《机器学习基础原理、算法与实践》系统讲解了机器学习的原理、算法和应用,内容全面、实例丰富、可操作性强,做到理论与实践相结合。《机器学习基础原理、算法与实践》适合机器学习爱好者作为入门和提高的技术参考书使用,也适合用作计算机专业高年级本科生和研究生的教材或教学参考书。
|
關於作者: |
袁梅宇,北航工学博士,硕士导师,现在昆明理工大学计算机系任教。为本科生和研究生主讲Java程序设计、Java EE技术、数据库原理、人工智能、Dot Net技术等核心课程,参加过863 CIMS Net建设、中欧合作项目DRAGON和多项国家基金和省基金项目,第一作者公开发表论文十余篇,软件著作权(颁证)六项。第一作者专著有《Java EE企业级编程开发实例详解》、《数据挖掘与机器学习WEKA应用技术与实践》(第一版、第二版)、《求精要诀Java EE编程开发案例精讲》。
|
目錄:
|
目录
第1章 机器学习介绍 1
1.1 机器学习简介 2
1.1.1 什么是机器学习 2
1.1.2 机器学习与日常生活 3
1.1.3 如何学习机器学习 4
1.1.4 MATLAB优势 5
1.2 基本概念 5
1.2.1 机器学习的种类 6
1.2.2 有监督学习 6
1.2.3 无监督学习 7
1.2.4 机器学习术语 7
1.2.5 预处理 9
1.3 MATLAB数据格式 10
1.3.1 标称数据 10
1.3.2 序数数据 11
1.3.3 分类数据 11
1.4 示例数据集 12
1.4.1 天气问题 12
1.4.2 鸢尾花 15
1.4.3 其他数据集 16
1.5 了解你的数据 16
习题 20
第2章 线性回归 21
2.1 从一个实际例子说起 22
2.1.1 模型定义 23
2.1.2 模型假设 23
2.1.3 模型评估 24
2.2 最小二乘法 24
2.2.1 最小二乘法求解参数 25
2.2.2 用最小二乘法来拟合奥运会数据 26
2.2.3 预测比赛结果 27
2.3 梯度下降 27
2.3.1 基本思路 28
2.3.2 梯度下降算法 29
2.3.3 梯度下降求解线性回归问题 30
2.4 多变量线性回归 32
2.4.1 多变量线性回归问题 33
2.4.2 多变量梯度下降 34
2.4.3 随机梯度下降 38
2.4.4 正规方程 40
2.5 多项式回归 42
2.5.1 多项式回归算法 42
2.5.2 正则化 45
习题 47
第3章 逻辑回归 49
3.1 逻辑回归介绍 50
3.1.1 线性回归用于分类 50
3.1.2 假设函数 51
3.1.3 决策边界 52
3.2 逻辑回归算法 53
3.2.1 代价函数 53
3.2.2 梯度下降算法 54
3.2.3 MATLAB优化函数 56
3.2.4 多项式逻辑回归 58
3.3 多元分类 60
3.3.1 一对多 60
3.3.2 一对一 62
3.3.3 Softmax回归 64
习题 66
第4章 贝叶斯分类器 67
4.1 简介 68
4.1.1 概述 68
4.1.2 判别模型和生成模型 68
4.1.3 极大似然估计 69
4.2 高斯判别分析 72
4.2.1 多元高斯分布 72
4.2.2 高斯判别模型 73
4.3 朴素贝叶斯 75
4.3.1 朴素贝叶斯算法 76
4.3.2 文本分类 81
习题 86
第5章 模型评估与选择 87
5.1 简介 88
5.1.1 训练误差与泛化误差 88
5.1.2 偏差和方差 89
5.2 评估方法 90
5.2.1 训练集、验证集和测试集的划分 91
5.2.2 交叉验证 92
5.3 性能度量 95
5.3.1 常用性能度量 95
5.3.2 查准率和查全率 96
5.3.3 ROC和AUC 98
5.4 偏差与方差折中 100
5.4.1 偏差与方差诊断 101
5.4.2 正则化与偏差方差 102
5.4.3 学习曲线 103
习题 104
第6章 K-均值算法和EM算法 107
6.1 聚类分析 108
6.1.1 K-means算法描述 108
6.1.2 K-means算法应用 112
6.1.3 注意事项 113
6.2 EM算法 114
6.2.1 基本EM算法 114
6.2.2 EM算法的一般形式 115
6.2.3 混合高斯模型 118
习题 123
第7章 决策树 125
7.1 决策树介绍 126
7.2 ID3算法 127
7.2.1 信息熵 127
7.2.2 信息增益计算示例 127
7.2.3 ID3算法描述 132
7.2.4 ID3算法实现 134
7.3 C4.5算法 134
7.3.1 基本概念 135
7.3.2 剪枝处理 139
7.3.3 C4.5算法描述 140
7.3.4 C4.5算法实现 142
7.4 CART算法 144
7.4.1 CART算法介绍 144
7.4.2 CART算法描述 147
7.4.3 CART算法实现 149
习题 150
第8章 神经网络 151
8.1 神经网络介绍 152
8.1.1 从一个实例说起 152
8.1.2 神经元 153
8.1.3 神经网络结构 154
8.1.4 简化的神经网络模型 157
8.1.5 细节说明 160
8.2 神经网络学习 161
8.2.1 代价函数 161
8.2.2 BP算法 162
8.2.3 BP算法实现 166
8.2.4 平方代价函数的情形 171
习题 171
第9章 隐马尔科夫模型 173
9.1 隐马尔科夫模型基本概念 174
9.1.1 离散马尔科夫过程 174
9.1.2 扩展至隐马尔科夫模型 176
9.1.3 HMM的组成和序列生成 179
9.1.4 三个基本问题 181
9.2 求解HMM三个基本问题 182
9.2.1 评估问题 183
9.2.2 解码问题 187
9.2.3 学习问题 190
习题 196
第10章 支持向量机 197
10.1 支持向量机介绍 198
10.2 最大间隔超平面 198
10.2.1 SVM问题的形式化描述 199
10.2.2 函数间隔和几何间隔 199
10.2.3 最优间隔分类器 201
10.2.4 使用优化软件求解SVM 203
10.3 对偶算法 204
10.3.1 SVM对偶问题 204
10.3.2 使用优化软件求解对偶 SVM 206
10.4 非线性支持向量机 208
10.4.1 核技巧 208
10.4.2 常用核函数 210
10.5 软间隔支持向量机 213
10.5.1 动机及原问题 213
10.5.2 对偶问题 214
10.5.3 使用优化软件求解软间隔 对偶SVM 215
10.6 SMO算法 218
10.6.1 SMO算法描述 218
10.6.2 简化SMO算法实现 221
10.7 LibSVM 226
10.7.1 LibSVM的安装 226
10.7.2 LibSVM函数 228
10.7.3 LibSVM实践指南 230
习题 232
第11章 推荐系统 233
11.1 推荐系统介绍 234
11.1.1 什么是推荐系统 234
11.1.2 数据集描述 235
11.1.3 推荐系统符号 236
11.2 基于用户的协同过滤 236
11.2.1 相似性度量 237
11.2.2 算法描述 239
11.2.3 算法实现 240
11.3 基于物品的协同过滤 241
11.3.1 调整余弦相似度和预测 241
11.3.2 Slope One算法描述 与实现 243
11.4 基于内容的协同过滤算法与实现 247
11.4.1 算法描述 247
11.4.2 算法实现 250
习题 251
第12章 主成分分析 253
12.1 主成分分析介绍 254
12.2 本征值与奇异值分解 255
12.2.1 本征值分解 255
12.2.2 奇异值分解 256
12.3 PCA算法描述 256
12.3.1 PCA算法 257
12.3.2 从压缩表示中重建 258
12.3.3 确定主成分数量 258
12.4 PCA实现 260
12.4.1 假想实例 260
12.4.2 MNIST实例 264
习题 265
习题参考答案 267
符号表 294
参考文献 295
|
內容試閱:
|
前言 机器学习无疑是当今最炙手可热的领域,机器学习工程师、数据科学家和大数据工程师逐渐成为最为热门的新兴职业,各行各业的公司都在寻求具备这些技能的人才。技术职位的爆炸式增长吸引了很多在校大学生、社会IT人员将机器学习职位纳入自己的职业规划中。由于具备机器学习相关技能才更有可能在上述新兴职业中获得成功,因此一本容易上手的入门书籍肯定会对初学者有着莫大的帮助,本书就是为初学者精心编写的。初学者学习机器学习课程一般会面临两大障碍:第一大障碍是数学基础,机器学习要求学习者具备数学基础,书籍中大量的公式是初学者最大的噩梦,尤其是对于已经离开大学走向工作岗位的爱好者,要从头开始去学习和理解数据分布及模型背后的数学原理需要花费很长的时间和精力,学习周期非常漫长;第二大障碍是编程实践,并不是所有人都擅长编代码,学习者只有自己亲手用代码实现机器学习的各种算法,亲眼见到算法解决了实际问题,才能更深入地理解算法。除非想做高精尖的前沿研究,理论研究和公式推导并非是大多数人的专长,如果只是想更合理地应用机器学习来解决实际问题,必需的数学知识就可以降低到大多数人都可以理解的程度,使用MATLAB编程实现机器学习算法也比使用C或Java等语言容易得多。本书就是为了让初学者顺利入门而设计的。首先,本书只讲述机器学习常用算法的基本原理,并不追求各种算法大而全但简略的罗列,学习并深入理解这些精挑细选的算法后,能够了解基本的机器学习算法,使用适合的算法来解决实际问题。其次,本书使用MATLAB R2015b实现了常用的机器学习算法,读者能亲眼看见算法的工作过程和结果,加深对抽象公式和算法的理解,逐步掌握机器学习的原理和技能,拉近理论与实践的距离。再次,每章都附有习题和习题参考答案,其中,一部分习题是为了理解正文内容而设置的,另一部分习题是为了降低正文中的数学要求,将一些必要但枯燥的公式推导放在习题中,供读者有选择性地学习。最后,本书专门设有读者QQ群,群号为278724996,欢迎读者加群,下载书中源代码,与作者直接对话探讨书中技术问题。本书共分12章。第1章介绍机器学习的基本概念、MATLAB的数据格式和示例数据集;第2章介绍线性回归,主要内容包括线性回归的模型定义及模型假设和评估、最小二乘法、梯度下降、多变量线性回归、随机梯度下降、正规方程、多项式回归和正则化;第3章介绍逻辑回归,主要内容包括逻辑回归的假设函数、决策边界、梯度下降算法、MATLAB优化函数、多项式逻辑回归、多元分类、Softmax回归;第4章介绍贝叶斯分类器,主要内容包括判别模型和生成模型的概念、极大似然估计、高斯判别分析、朴素贝叶斯和文本分类;第5章介绍模型评估与选择,主要内容包括训练集验证集测试集划分、交叉验证、性能度量,以及偏差与方差折中;第6章介绍K-均值和EM算法,主要内容包括聚类分析的基本概念、K-means算法应用、EM算法,以及混合高斯模型;第7章介绍决策树,主要内容包括决策树的基本概念、ID3算法、C4.5算法,以及CART算法的原理与实现;第8章介绍神经网络,主要内容包括神经元、神经网络结构、反向传播算法原理与实现;第9章介绍隐马尔科夫模型,主要内容包括HMM的基本概念、HMM的组成和序列生成、求解HMM三个基本问题的算法,以及MATLAB代码实现;第10章介绍支持向量机,主要内容包括支持向量机的基本概念、最大间隔超平面、对偶算法、非线性支持向量机、软间隔支持向量机、SMO算法和LibSVM库的使用;第11章介绍推荐系统,主要内容包括推荐系统的基本概念、基于用户的协同过滤算法、基于物品的协同过滤算法和基于内容的协同过滤算法;第12章介绍主成分分析,主要内容包括主成分分析的基本概念、本征值分解和奇异值分解、PCA算法的计算步骤、如何从压缩表示中重建、如何选取主成分的数量以及PCA实现。本书的编写异常艰难,从选题到付梓花费约两年时间。和大多数人一样,笔者的脑袋也是单任务处理系统,不善于同时处理多个任务,因此经常迷失在算法、代码、习题、绘图和文字的沼泽中不能自拔,多亏朋友和家人的支持才能坚持到最后。尽管在写作中付出很多艰辛的劳动,限于笔者的学识、能力和精力,书中难免会存在一些缺陷,甚至错误,敬请各位读者批评指正。感谢提供宝贵建议的贡献者,昆明理工大学计算机系吴霖老师经常与笔者讨论机器学习问题,并为本书的内容选取提出了很多建设性建议,感谢吴霖老师的贡献。另外,还要感谢昆明理工大学提供的宽松的研究环境。感谢清华大学出版社的编辑老师在出版方面提出的建设性意见和给予的无私帮助。感谢购买本书的朋友,欢迎批评指正,你们的批评建议都会受到重视,并在将来再版中改进。袁梅宇于昆明理工大学
|
|