编辑推荐
"《机器学习》
内容全面;结构合理;叙述清楚;深入浅出。击败AlphaGo的武林秘籍,赢得人机大战的必由之路:人工智能大牛周志华教授巨著,全面揭开机器学习的奥秘。
《深入浅出Python机器学习》
人工智能,火了!计算机是由程序驱动的,人工智能不过是一些特殊的算法。只要你有一些程序设计语言的基础,跟随本书,你也能进入人工智能的世界,成为一名人工智能应用的开发者。
"
内容简介
机器学习是计算机科学与人工智能的重要分支领域.本书作为该领域的入门教材,在内容上尽可能涵盖机器学习基础知识的各方面.全书共16章,大致分为3个部分:第1部分(第1~3章)介绍机器学习的基础知识;第2部分(第4~10章)讨论一些经典而常用的机器学习方法(决策树、神经网络、支持向量机、贝叶斯分类器、集成学习、聚类、降维与度量学习);第3部分(第11~16章)为进阶知识,内容涉及特征选择与稀疏学习、计算学习理论、半监督学习、概率图模型、规则学习以及强化学习等.每章都附有习题并介绍了相关阅读材料,以便有兴趣的读者进一步钻研探索。
本书可作为高等院校计算机、自动化及相关专业的本科生或研究生教材,也可供对机器学习感兴趣的研究人员和工程技术人员阅读参考。
机器学习正在迅速改变我们的世界。我们几乎每天都会读到机器学习如何改变日常的生活。如果你在淘宝或者京东这样的电子商务网站购买商品,或者在爱奇艺或是腾讯视频这样的视频网站观看节目,甚至只是进行一次百度搜索,就已经触碰到了机器学习的应用。使用这些服务的用户会产生数据,这些数据会被收集,在进行预处理之后用来训练模型,而模型会通过这些数据来提供更好的用户体验。此外,目前还有很多使用机器学习技术的产品或服务即将在我们的生活当中普及,如能够解放双手的无人驾驶汽车、聪明伶俐的智能家居产品、善解人意的导购机器人等。可以说要想深入机器学习的应用开发当中,现在就是一个非常理想的时机。
本书内容涵盖了有监督学习、无监督学习、模型优化、自然语言处理等机器学习领域所必须掌握的知识,从内容结构上非常注重知识的实用性和可操作性。全书采用由浅入深、循序渐进的讲授方式,完全遵循和尊重初学者对机器学习知识的认知规律。本书适合有一定程序设计语言和算法基础的读者学习使用。
作者简介
周志华,南京大学计算机系教授,ACM杰出科学家,IEEE Fellow, IAPR Fellow, IET/IEE Fellow, 中国计算机学会会士。国家杰出青年科学基金获得者、长江学者特聘教授。先后担任多种SCI(E)期刊执行主编、副主编、副编辑、编委等。中国计算机学会人工智能与模式识别专业委员会主任,中国人工智能学会机器学习专业委员会主任,IEEE计算智能学会数据挖掘技术委员会副主席。
章节目录
目录
第1章1
1.1引言1
1.2基本术2
1.3假设空间4
1.4归纳偏好6
1.5发展历程10
1.6应用现状13
1.7阅读材料16
习题19
参考文献20
休息一会儿22
第2章模型评估与选择23
2.1经验误差与过拟合23
2.2评估方法24
2.2.1留出法25
2.2.2交叉验证法26
2.2.3自助法27
2.2.4调参与最终模型28
2.3性能度量28
2.3.1错误率与精度29
2.3.2查准率、查全率与F130
2.3.3ROC与AUC33
2.3.4代价敏感错误率与代价曲线35
2.4比较检验37
2.4.1假设检验37
2.4.2交叉验证t检验40
2.4.3McNemar检验41
2.4.4Friedman检验与后续检验42
2.5偏差与方差44
2.6阅读材料46
习题48
参考文献49
休息一会儿51
第3章线性模型53
3.1基本形式53
3.2线性回归53
3.3对数几率回归57
3.4线性判别分析60
3.5多分类学习63
3.6类别不平衡问题66
3.7阅读材料67
习题69
参考文献70
休息一会儿72
第4章决策树73
4.1基本流程73
4.2划分选择75
4.2.1信息增益75
4.2.2增益率77
4.2.3基尼指数79
4.3剪枝处理79
4.3.1预剪枝80
4.3.2后剪枝82
4.4连续与缺失值83
4.4.1连续值处理83
4.4.2缺失值处理85
4.5多变量决策树88
4.6阅读材料92
习题93
参考文献94
休息一会儿95
第5章神经网络97
5.1神经元模型97
5.2感知机与多层网络98
5.3误差逆传播算法101
5.4全局最小与局部极小106
5.5其他常见神经网络108
5.5.1RBF网络108
5.5.2ART网络108
5.5.3SOM网络109
5.5.4级联相关网络110
5.5.5Elman网络111
5.5.6Boltzmann机111
5.6深度学习113
5.7阅读材料115
习题116
参考文献117
休息一会儿120
第6章支持向量机121
6.1间隔与支持向量121
6.2对偶问题123
6.3核函数126
6.4软间隔与正则化129
6.5支持向量回归133
6.6核方法137
6.7阅读材料139
习题141
参考文献142
休息一会儿145
第7章贝叶斯分类器147
7.1贝叶斯决策论147
7.2极大似然估计149
7.3朴素贝叶斯分类器150
7.4半朴素贝叶斯分类器154
7.5贝叶斯网156
7.5.1结构157
7.5.2学习159
7.5.3推断161
7.6EM算法162
7.7阅读材料164
习题166
参考文献167
休息一会儿169
第8章集成学习171
8.1个体与集成171
8.2Boosting173
8.3Bagging与随机森林178
8.3.1Bagging178
8.3.2随机森林179
8.4结合策略181
8.4.1平均法181
8.4.2投票法182
8.4.3学习法183
8.5多样性185
8.5.1误差--分歧分解185
8.5.2多样性度量186
8.5.3多样性增强188
8.6阅读材料190
习题192
参考文献193
休息一会儿196
第9章聚类197
9.1聚类任务197
9.2性能度量197
9.3距离计算199
9.4原型聚类202
9.4.1k均值算法202
9.4.2学习向量量化204
9.4.3高斯混合聚类206
9.5密度聚类211
9.6层次聚类214
9.7阅读材料217
习题220
参考文献221
休息一会儿224
第10章降维与度量学习225
10.1k近邻学习225
10.2低维嵌入226
10.3主成分分析229
10.4核化线性降维232
10.5流形学习234
10.5.1等度量映射234
10.5.2局部线性嵌入235
10.6度量学习237
10.7阅读材料240
习题242
参考文献243
休息一会儿246
第11章特征选择与稀疏学习247
11.1子集搜索与评价247
11.2过滤式选择249
11.3包裹式选择250
11.4嵌入式选择与L$_1$正则化252
11.5稀疏表示与字典学习254
11.6压缩感知257
11.7阅读材料260
习题262
参考文献263
休息一会儿266
第12章计算学习理论267
12.1基础知识267
12.2PAC学习268
12.3有限假设空间270
12.3.1可分情形270
12.3.2不可分情形272
12.4VC维273
12.5Rademacher复杂度279
12.6稳定性284
12.7阅读材料287
习题289
参考文献290
休息一会儿292
第13章半监督学习293
13.1未标记样本293
13.2生成式方法295
13.3半监督SVM298
13.4图半监督学习300
13.5基于分歧的方法304
13.6半监督聚类307
13.7阅读材料311
习题313
参考文献314
休息一会儿317
第14章概率图模型319
14.1隐马尔可夫模型319
14.2马尔可夫随机场322
14.3条件随机场325
14.4学习与推断328
14.4.1变量消去328
14.4.2信念传播330
14.5近似推断331
14.5.1MCMC采样331
14.5.2变分推断334
14.6话题模型337
14.7阅读材料339
习题341
参考文献342
休息一会儿345
第15章规则学习347
15.1基本概念347
15.2序贯覆盖349
15.3剪枝优化352
15.4一阶规则学习354
15.5归纳逻辑程序设计357
15.5.1最小一般泛化358
15.5.2逆归结359
15.6阅读材料363
习题365
参考文献366
休息一会儿369
第16章强化学习371
16.1任务与奖赏371
16.2$K$-摇臂赌博机373
16.2.1探索与利用373
16.2.2$\epsilon$-贪心374
16.2.3Softmax375
16.3有模型学习377
16.3.1策略评估377
16.3.2策略改进379
16.3.3策略迭代与值迭代381
16.4免模型学习382
16.4.1蒙特卡罗强化学习383
16.4.2时序差分学习386
16.5值函数近似388
16.6模仿学习390
16.6.1直接模仿学习391
16.6.2逆强化学习391
16.7阅读材料393
习题394
参考文献395
休息一会儿397
附录399
A矩阵399
B优化403
C概率分布409
后记417
索引419
第1章概述
1.1什么是机器学习——从一个小故事开始/002
1.2机器学习的一些应用场景——蝙蝠公司的业务单元/003
1.3机器学习应该如何入门——世上无难事/005
1.4有监督学习与无监督学习/007
1.5机器学习中的分类与回归/008
1.6模型的泛化、过拟合与欠拟合/008
1.7小结/009
第2章基于Python语言的环境配置
2.1Python的下载和安装/012
2.2JupyterNotebook的安装与使用方法/013
2.2.1使用pip进行JupyterNotebook的下载和安装/013
2.2.2运行JupyterNotebook/014
2.2.3JupyterNotebook的使用方法/015
2.3一些必需库的安装及功能简介/017
2.3.1Numpy——基础科学计算库/017
2.3.2Scipy——强大的科学计算工具集/018
2.3.3pandas——数据分析的利器/019
2.3.4matplotlib——画出优美的图形/020
深入浅出Python机器学习
VIII
2.4scikit-learn——非常流行的Python机器学习库/021
2.5小结/022
第3章K最近邻算法——近朱者赤,近墨者黑
3.1K最近邻算法的原理/024
3.2K最近邻算法的用法/025
3.2.1K最近邻算法在分类任务中的应用/025
3.2.2K最近邻算法处理多元分类任务/029
3.2.3K最近邻算法用于回归分析/031
3.3K最近邻算法项目实战——酒的分类/034
3.3.1对数据集进行分析/034
3.3.2生成训练数据集和测试数据集/036
3.3.3使用K最近邻算法进行建模/038
3.3.4使用模型对新样本的分类进行预测/039
3.4小结/041
第4章广义线性模型——“耿直”的算法模型
4.1线性模型的基本概念/044
4.1.1线性模型的一般公式/044
4.1.2线性模型的图形表示/045
4.1.3线性模型的特点/049
4.2最基本的线性模型——线性回归/050
4.2.1线性回归的基本原理/050
4.2.2线性回归的性能表现/051
4.3使用L2正则化的线性模型——岭回归/053
4.3.1岭回归的原理/053
4.3.2岭回归的参数调节/054
4.4使用L1正则化的线性模型——套索回归/058
4.4.1套索回归的原理/058
4.4.2套索回归的参数调节/059
4.4.3套索回归与岭回归的对比/060
目
录
IX
4.5小结/062
第5章朴素贝叶斯——打雷啦,收衣服啊
5.1朴素贝叶斯基本概念/064
5.1.1贝叶斯定理/064
5.1.2朴素贝叶斯的简单应用/064
5.2朴素贝叶斯算法的不同方法/068
5.2.1贝努利朴素贝叶斯/068
5.2.2高斯朴素贝叶斯/071
5.2.3多项式朴素贝叶斯/072
5.3朴素贝叶斯实战——判断肿瘤是良性还是恶性/075
5.3.1对数据集进行分析/076
5.3.2使用高斯朴素贝叶斯进行建模/077
5.3.3高斯朴素贝叶斯的学习曲线/078
5.4小结/080
第6章决策树与随机森林——会玩读心术的算法
6.1决策树/082
6.1.1决策树基本原理/082
6.1.2决策树的构建/082
6.1.3决策树的优势和不足/088
6.2随机森林/088
6.2.1随机森林的基本概念/089
6.2.2随机森林的构建/089
6.2.3随机森林的优势和不足/092
6.3随机森林实例——要不要和相亲对象进一步发展/093
6.3.1数据集的准备/093
6.3.2用get_dummies处理数据/094
6.3.3用决策树建模并做出预测/096
6.4小结/098
第7章支持向量机SVM——专治线性不可分
7.1支持向量机SVM基本概念/100
7.1.1支持向量机SVM的原理/100
7.1.2支持向量机SVM的核函数/102
7.2SVM的核函数与参数选择/104
7.2.1不同核函数的SVM对比/104
7.2.2支持向量机的gamma参数调节/106
7.2.3SVM算法的优势与不足/108
7.3SVM实例——波士顿房价回归分析/108
7.3.1初步了解数据集/109
7.3.2使用SVR进行建模/110
7.4小结/114
第8章神经网络——曾入“冷宫”,如今得宠
8.1神经网络的前世今生/116
8.1.1神经网络的起源/116
8.1.2第一个感知器学习法则/116
8.1.3神经网络之父——杰弗瑞·欣顿/117
8.2神经网络的原理及使用/118
8.2.1神经网络的原理/118
8.2.2神经网络中的非线性矫正/119
8.2.3神经网络的参数设置/121
8.3神经网络实例——手写识别/127
8.3.1使用MNIST数据集/128
8.3.2训练MLP神经网络/129
8.3.3使用模型进行数字识别/130
8.4小结/131
第9章数据预处理、降维、特征提取及聚类——快
刀斩乱麻
9.1数据预处理/134
9.1.1使用StandardScaler进行数据预处理/134
9.1.2使用MinMaxScaler进行数据预处理/135
9.1.3使用RobustScaler进行数据预处理/136
9.1.4使用Normalizer进行数据预处理/137
9.1.5通过数据预处理提高模型准确率/138
9.2数据降维/140
9.2.1PCA主成分分析原理/140
9.2.2对数据降维以便于进行可视化/142
9.2.3原始特征与PCA主成分之间的关系/143
9.3特征提取/144
9.3.1PCA主成分分析法用于特征提取/145
9.3.2非负矩阵分解用于特征提取/148
9.4聚类算法/149
9.4.1K均值聚类算法/150
9.4.2凝聚聚类算法/153
9.4.3DBSCAN算法/154
9.5小结/157
第10章数据表达与特征工程——锦上再添花
10.1数据表达/160
10.1.1使用哑变量转化类型特征/160
10.1.2对数据进行装箱处理/162
10.2数据“升维”/166
10.2.1向数据集添加交互式特征/166
10.2.2向数据集添加多项式特征/170
10.3自动特征选择/173
10.3.1使用单一变量法进行特征选择/173
10.3.2基于模型的特征选择/178
10.3.3迭代式特征选择/180
10.4小结/182
第11章模型评估与优化——只有更好,没有最好
11.1使用交叉验证进行模型评估/184
11.1.1scikit-learn中的交叉验证法/184
11.1.2随机拆分和“挨个儿试试”/186
11.1.3为什么要使用交叉验证法/188
11.2使用网格搜索优化模型参数/188
11.2.1简单网格搜索/189
11.2.2与交叉验证结合的网格搜索/191
11.3分类模型的可信度评估/193
11.3.1分类模型中的预测准确率/194
11.3.2分类模型中的决定系数/197
11.4小结/198
第12章建立算法的管道模型——团结就是力量
12.1管道模型的概念及用法/202
12.1.1管道模型的基本概念/202
12.1.2使用管道模型进行网格搜索/206
12.2使用管道模型对股票涨幅进行回归分析/209
12.2.1数据集准备/209
12.2.2建立包含预处理和MLP模型的管道模型/213
12.2.3向管道模型添加特征选择步骤/214
12.3使用管道模型进行模型选择和参数调优/216
12.3.1使用管道模型进行模型选择/216
12.3.2使用管道模型寻找更优参数/217
12.4小结/220
第13章文本数据处理——亲,见字如“数”
13.1文本数据的特征提取、中文分词及词袋模型/222
13.1.1使用CountVectorizer对文本进行特征提取/222
13.1.2使用分词工具对中文文本进行分词/223
13.1.3使用词袋模型将文本数据转为数组/224
13.2对文本数据进一步进行优化处理/226
13.2.1使用n-Gram改善词袋模型/226
13.2.2使用tf-idf模型对文本数据进行处理/228
13.2.3删除文本中的停用词/234
13.3小结/236
第14章从数据获取到话题提取——从“研究员”
到“段子手”
14.1简单页面的爬取/238
14.1.1准备Requests库和UserAgent/238
14.1.2确定一个目标网站并分析其结构/240
14.1.3进行爬取并保存为本地文件/241
14.2稍微复杂一点的爬取/244
14.2.1确定目标页面并进行分析/245
14.2.2Python中的正则表达式/247
14.2.3使用BeautifulSoup进行HTML解析/251
14.2.4对目标页面进行爬取并保存到本地/256
14.3对文本数据进行话题提取/258
14.3.1寻找目标网站并分析结构/259
14.3.2编写爬虫进行内容爬取/261
14.3.3使用潜在狄利克雷分布进行话题提取/263
14.4小结/265
第15章人才需求现状与未来学习方向——你是不
是下一个“大牛”
15.1人才需求现状/268
15.1.1全球AI从业者达190万,人才需求3年翻8倍/268
15.1.2AI人才需求集中于一线城市,七成从业者月薪过万/269
15.1.3人才困境仍难缓解,政策支援亟不可待/269
15.2未来学习方向/270
15.2.1用于大数据分析的计算引擎/270
15.2.2深度学习开源框架/271
15.2.3使用概率模型进行推理/272
15.3技能磨炼与实际应用/272
15.3.1Kaggle算法大赛平台和OpenML平台/272
15.3.2在工业级场景中的应用/273
15.3.3对算法模型进行A/B测试/273
15.4小结/274
参考文献/275
《机器学习》套装是2018年由清华大学出版社出版,作者周志华。
得书感谢您对《《机器学习》套装》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。