描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302514688
1. 内容全面深入。全书系统地讲解机器学习算法与理论,主要算法的理论讲解透彻、结构清晰,均有详细的推导和证明过程。
机器学习是当前解决很多人工智能问题的核心技术,深度学习的出现带来了自2012年以来的人工智能复兴。本书是机器学习和深度学习领域的入门与提高教材,系统、深入地讲述机器学习与深度学习的主流方法与理论,并紧密结合工程实践与应用。全书由21章组成,共分为三大部分。第1~3章为*部分,介绍机器学习的基本原理、所需的数学知识(包括微积分、线性代数、概率论和*化方法),以及机器学习中的核心概念。第4~20章为第二部分,是本书的主体,介绍各种常用的有监督学习算法、无监督学习算法、半监督学习算法和强化学习算法。对于每种算法,从原理与推导、工程实现和实际应用3个方面进行介绍,对于大多数算法,都配有实验程序。第21章为第三部分,介绍机器学习和深度学习算法实际应用时面临的问题,并给出典型的解决方案。此外,附录A给出各种机器学习算法的总结,附录B给出梯度下降法的演化关系,附录C给出EM算法的推导。本书理论推导与证明详细、深入,结构清晰,详细地讲述主要算法的工程实现细节,配以著名开源库的源代码分析(包括libsvm、liblinear、OpenCV、Caffe等开源库),让读者不仅知其然,还知其所以然,真正理解算法、学会使用算法。对于计算机、人工智能及相关专业的本科生和研究生,这是一本适合入门与系统学习的教材,对于从事人工智能和机器学习产品研发的工程技术人员,本书也具有很强的参考价值。
部分基本概念与数学知识
第1章机器学习简介31.1机器学习是什么31.1.1一个简单的例子31.1.2为什么需要机器学习51.2典型应用71.2.1语音识别71.2.2人脸检测81.2.3人机对弈91.2.4机器翻译101.2.5自动驾驶111.3发展历程111.3.1历史成就111.3.2当前进展121.4关于本书13参考文献15
第2章数学知识172.1微积分和线性代数172.1.1导数172.1.2向量与矩阵192.1.3偏导数与梯度212.1.4雅克比矩阵222.1.5Hessian矩阵232.1.6泰勒展开242.1.7行列式242.1.8特征值与特征向量252.1.9奇异值分解262.1.10二次型262.1.11向量与矩阵求导262.2化方法272.2.1梯度下降法272.2.2牛顿法282.2.3坐标下降法292.2.4拉格朗日乘数法302.2.5凸优化302.2.6拉格朗日对偶342.2.7KKT条件362.2.8拟牛顿法372.2.9面临的问题382.3概率论392.3.1随机事件与概率392.3.2条件概率392.3.3随机变量402.3.4数学期望与方差412.3.5随机向量412.3.6似然估计42参考文献43〖1〗〖2〗机器学习与应用〖1〗目录第3章基本概念443.1算法分类443.1.1监督信号443.1.2分类问题与回归问题453.1.3判别模型与生成模型473.1.4强化学习473.2模型评价指标483.2.1精度与召回率483.2.2ROC曲线483.2.3混淆矩阵503.2.4交叉验证503.3模型选择503.3.1过拟合与欠拟合503.3.2偏差与方差分解513.3.3正则化52参考文献54
第二部分主要的机器学习算法与理论
第4章贝叶斯分类器574.1贝叶斯决策574.2朴素贝叶斯分类器584.2.1离散型特征584.2.2连续型特征594.3正态贝叶斯分类器594.3.1训练算法594.3.2预测算法604.4实验程序614.5源代码分析644.5.1主要数据结构644.5.2训练函数654.5.3预测函数684.6应用70参考文献71
第5章决策树725.1树形决策过程725.2分类与回归树735.3训练算法745.3.1递归分裂过程745.3.2寻找分裂745.3.3叶子节点值的设定775.3.4属性缺失问题775.3.5剪枝算法785.4实验程序795.5源代码分析815.5.1主要数据结构815.5.2递归分裂845.5.3寻找分裂905.5.4寻找替代分裂965.5.5变量的重要性995.5.6预测算法1005.6应用103参考文献103
第6章k近邻算法1046.1基本概念1046.2预测算法1046.3距离定义1056.3.1常用距离定义1056.3.2距离度量学习1066.4实验程序1076.5应用109参考文献110
第7章数据降维1117.1主成分分析1117.1.1数据降维问题1117.1.2计算投影矩阵1117.1.3向量降维1147.1.4向量重构1147.2源代码分析1147.2.1主要数据结构1147.2.2计算投影矩阵1157.2.3向量降维1177.2.4向量重构1177.3流形学习1187.3.1局部线性嵌入1197.3.2拉普拉斯特征映射1197.3.3局部保持投影1227.3.4等距映射1237.4应用124参考文献124
第8章线性判别分析1258.1用投影进行分类1258.2投影矩阵1258.2.1一维的情况1258.2.2推广到高维1278.3实验程序1288.4源代码分析1318.4.1主要数据结构1318.4.2计算投影矩阵1328.4.3向量投影1358.4.4向量重构1368.5应用136参考文献137
第9章人工神经网络1389.1多层前馈型神经网络1389.1.1神经元1389.1.2网络结构1399.1.3正向传播算法1409.2反向传播算法1419.2.1一个简单的例子1419.2.2完整的算法1459.3实验程序1499.4理论解释1529.4.1数学性质1529.4.2与神经系统的关系1539.5面临的问题1539.5.1梯度消失1539.5.2退化1549.5.3局部极小值1549.5.4鞍点1549.6实现细节问题1549.6.1输入值与输出值1549.6.2网络规模1559.6.3激活函数1559.6.4损失函数1569.6.5权重初始化1569.6.6正则化1569.6.7学习率的设定1569.6.8动量项1569.7源代码分析1579.7.1主要数据结构1579.7.2激活函数1609.7.3权重初始化1639.7.4训练函数1649.7.5预测函数1779.8应用179参考文献180
第10章支持向量机18210.1线性分类器18210.1.1线性分类器概述18210.1.2分类间隔18210.2线性可分的问题18310.2.1原问题18310.2.2对偶问题18410.3线性不可分的问题18710.3.1原问题18710.3.2对偶问题18710.4核映射与核函数19010.5SMO算法19310.5.1求解子问题19310.5.2优化变量的选择19610.6多分类问题19710.7实验程序19810.8源代码分析20010.8.1求解算法20110.8.2主要数据结构20410.8.3求解器21110.9应用222参考文献223
第11章线性模型22511.1logistic回归22511.2正则化logistic回归22811.2.1对数似然函数22811.2.2L2正则化原问题22911.2.3L2正则化对偶问题23211.2.4L1正则化原问题23311.2.5实验程序23411.3线性支持向量机23611.3.1L2正则化L1loss SVC原问题23611.3.2L2正则化L2loss SVC原问题23711.3.3L2正则化SVC对偶问题23711.3.4L1正则化L2loss SVC原问题23811.3.5多类线性支持向量机23811.3.6实验程序24011.4源代码分析24111.4.1求解的问题24111.4.2主要数据结构24111.4.3求解器24911.5softmax回归26211.6应用263参考文献264
第12章随机森林26612.1集成学习26612.1.1随机抽样26612.1.2Bagging算法26712.2随机森林概述26712.3训练算法26712.4变量的重要性26812.5实验程序26912.6源代码分析27112.6.1主要数据结构27112.6.2训练算法27312.6.3预测算法28212.7应用282参考文献283
第13章Boosting算法28413.1AdaBoost算法简介28413.2训练算法28413.3训练误差分析28613.4广义加法模型28813.5各种AdaBoost算法29013.5.1离散型AdaBoost29013.5.2实数型AdaBoost29213.5.3LogitBoost29213.5.4Gentle型AdaBoost29413.6实现细节问题29413.6.1弱分类器的选择29513.6.2弱分类器的数量29513.6.3样本权重削减29513.7实验程序29513.8源代码分析29713.8.1主要数据结构29713.8.2弱分类器30013.8.3强分类器30613.9应用——目标检测31813.9.1VJ框架的原理31913.9.2模型训练321参考文献322
第14章深度学习概论32414.1机器学习面临的挑战32414.1.1人工特征32514.1.2机器学习算法32614.2深度学习技术32614.3进展与典型应用32814.3.1计算机视觉32914.3.2语音识别33114.3.3自然语言处理33114.3.4计算机图形学33214.3.5推荐系统33214.3.6深度强化学习33314.4自动编码器33314.4.1自动编码器简介33314.4.2去噪自动编码器33414.4.3稀疏自动编码器33414.4.4收缩自动编码器33514.4.5多层编码器33514.5受限玻尔兹曼机33514.5.1玻尔兹曼分布33514.5.2受限玻尔兹曼机33614.5.3训练算法33814.5.4深度玻尔兹曼机33914.5.5深度置信网339参考文献339
第15章卷积神经网络34715.1网络结构34715.1.1卷积层34815.1.2池化层35115.1.3全连接层35115.2训练算法35215.2.1卷积层35215.2.2池化层35515.2.3随机梯度下降法35615.2.4迁移学习35715.3典型网络35715.3.1LeNet5网络35715.3.2AlexNet网络35815.3.3VGG网络35915.3.4GoogLeNet网络36015.4理论分析36115.4.1反卷积运算36115.4.2卷积层可视化36215.4.3理论解释36415.5挑战与改进措施36515.5.1卷积层36515.5.2池化层36515.5.3激活函数36615.5.4损失函数36615.5.5网络结构36615.5.6批量归一化37015.6实际例子37115.6.1LeNet5网络37115.6.2训练自己的模型37315.7源代码分析37415.7.1Caffe简介37415.7.2数据层37615.7.3卷积层37615.7.4池化层37815.7.5神经元层37815.7.6内积层38415.7.7损失层38615.7.8网络的实现——Net类39615.7.9求解器39815.8应用——计算机视觉41315.8.1人脸检测41415.8.2通用目标检测41615.8.3人脸关键点定位42515.8.4人脸识别42515.8.5图像分割42815.8.6边缘检测42915.8.7风格迁移43215.8.8图像增强43315.8.9三维视觉43515.8.10目标跟踪43615.9应用——计算机图形学43715.9.1几何模型43815.9.2物理模型43915.9.3纹理合成44015.9.4图像彩色化44115.9.5HDR44215.10应用——自然语言处理44415.10.1文本分类44415.10.2机器翻译444参考文献444
第16章循环神经网络45016.1网络结构45016.1.1循环层45016.1.2输出层45116.1.3一个简单的例子45216.1.4深层网络45216.2网络的训练45316.2.1一个简单的例子45316.2.2完整的算法45516.3挑战与改进措施45716.3.1梯度消失45716.3.2长短期记忆模型45816.3.3门控循环单元45916.3.4双向网络45916.4序列预测问题46016.4.1序列标注问题46016.4.2连接主义时序分类46116.4.3序列到序列学习46516.5应用——语音识别46716.5.1语音识别问题46716.5.2隐马尔可夫模型46816.5.3高斯混合模型47416.5.4GMMHMM框架47516.5.5深度模型47516.6应用——自然语言处理47816.6.1中文分词47916.6.2词性标注48016.6.3命名实体识别48016.6.4文本分类48116.6.5自动摘要48316.6.6机器翻译48316.7应用——机器视觉48516.7.1字符识别48516.7.2目标跟踪48616.7.3视频分析488参考文献490
第17章生成对抗网络49417.1随机数据生成49417.2生成对抗网络简介49517.2.1生成模型49517.2.2判别模型49617.3模型的训练49617.3.1目标函数49617.3.2训练算法49717.3.3理论分析49817.4应用与改进49917.4.1改进方案50017.4.2典型应用503参考文献505
第18章聚类算法50618.1问题定义50618.2层次聚类50718.3基于质心的算法50718.4基于概率分布的算法50818.5基于密度的算法51218.5.1DBSCAN算法51218.5.2OPTICS算法51418.5.3Mean Shift算法51618.6基于图的算法51718.7算法评价指标51818.7.1内部指标51818.7.2外部指标51818.8应用519参考文献519
第19章半监督学习52119.1问题假设52119.1.1连续性假设52119.1.2聚类假设52119.1.3流形假设52119.1.4低密度分割假设52119.2启发式算法52219.2.1自训练52219.2.2协同训练52219.3生成模型52219.4低密度分割52319.5基于图的算法52319.6半监督深度学习524参考文献525
第20章强化学习52720.1强化学习简介52720.1.1问题定义52720.1.2马尔可夫决策过程52820.2基于动态规划的算法53220.2.1策略迭代算法53220.2.2价值迭代算法53420.3蒙特卡洛算法53520.3.1算法简介53520.3.2状态价值函数估计53620.3.3动作价值函数估计53720.3.4蒙特卡洛控制53720.4时序差分学习53820.4.1Sarsa算法53820.4.2Q学习53920.5深度强化学习54020.5.1深度Q网络54120.5.2策略梯度算法54420.6应用547参考文献547第三部分工程实践问题
第21章工程实践问题概述55121.1实现细节问题55121.1.1训练样本55121.1.2特征预处理55221.1.3模型选择55221.1.4过拟合问题55221.2安全性问题55321.2.1对抗样本55321.2.2形成原因分析55521.3实现成本问题55621.3.1训练样本量55621.3.2计算与存储成本55621.4深度模型优化55721.4.1剪枝与编码55721.4.2二值化网络55821.4.3卷积核分离562参考文献563
附录A各种机器学习算法的总结565
附录B梯度下降法的演化关系(见第15章)569
附录CEM算法的推导(见第18章)570
自2012年以来,得益于深度学习技术的迅猛进步,人工智能无论是在学术界还是在产业界都迎来了蓬勃发展,各种新的技术与算法层出不穷,推动机器学习技术大规模走向应用。与之相对应的是优秀教材的缺乏,由于技术的快速进步,此前的经典书籍面临内容老化的问题。本书的立意是帮助人工智能相关方向的在校学生与工程技术人员更好地理解和掌握这门技术,书的原型出自于笔者在zmodo公司的内部培训讲义,在同事们的鼓励下,终将其写成这本书。对于绝大多数从事学术研究与产品研发的读者来说,理解算法的原理与掌握算法的实现及应用是同等重要的事情。计算机科学(尤其是人工智能)是偏实践的学科,研究这些算法的终目的是将其直接投入实际应用。因此,本书从理论与实践两个方面进行讲解,让读者不仅能够理解算法的原理,还能学会算法的实现与应用,做到理论与实践的结合。本书全面系统地讲解目前主要的机器学习算法,包括有监督学习算法、无监督学习算法、半监督学习算法和强化学习算法4种类型,内容涵盖当前主流的机器学习和深度学习算法。对于主要的算法,从理论讲解、实验程序、工程实现与源代码分析、实际应用4部分进行讲解。对于核心的推导和证明,笔者都详细给出。学习本书需要读者具有数学(包括微积分、线性代数、概率论等本科数学知识)与编程(至少掌握一门编程语言)的基础知识,部分算法和理论会用到离散数学、数据结构等课程的知识,但数量很少。因此,如果读者没有学过这两门课,对于理解没有大碍。对于深度学习算法与理论,本书做了重点与深入的介绍。对于卷积神经网络、循环神经网络等应用广泛的方法,系统地介绍了它们的原理与实现,并分析了截至2017年的主要学术论文,包括基础算法与应用,保证本书的内容能够反映学术界与工程界的新成果。本书提供一份非常精美的机器学习算法地图,可从SIGAI公众号或清华大学出版社(www.tup.com.cn)下载。机器学习是范围极广、内容庞杂的一门学科,技术发展日新月异,由于笔者的水平与经验有限,书中难免有错误与理解不到位的地方,敬请读者指正!
雷明2018年10月
评论
还没有评论。