书籍作者:左飞 | ISBN:9787302538653 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:8371 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
数学是机器学习和数据科学的基础,任何期望涉足相关领域并切实领悟具体技术与方法的人都无法绕过数学这一关。本书系统地整理并介绍了机器学习中所涉及的必备数学基础,这些都是笔者从浩如烟海的数学知识中精心萃取的,在学习和研究机器学习技术时所必须的内容。具体包括概率论与数理统计、微积分(主要是与最*化内容相关的部分)、凸优化及拉格朗日乘数法、数值计算、泛函分析基础(例如核方法赖以建立的希尔伯特空间理论),以及蒙特卡洛采样(拒绝与自适应拒绝采样、重要性采样、吉布斯采样和马尔科夫链蒙特卡洛)等内容。此外,为了帮助读者强化所学,本书还从上述数学基础出发介绍了回归、分类(感知机、逻辑回归、朴素贝叶斯、决策树、支持向量机、人工神经网络等)、聚类、降维与流形学习、集成学习,以及概率图模型等机器学习中的重要话题。
左飞 博士,技术作家、译者。著作涉及人工智能、图像处理和编程语言等多个领域,其中两部作品的繁体版在中国台湾地区发行。同时,他还翻译出版了包括《编码》在内的多部经典著作。曾荣获“最受读者喜爱的IT图书作译者奖”。他撰写的技术博客(https://baimafujinji.blog.csdn.net/)非常受欢迎,累计拥有近500万的访问量。
前言
2008年7月25日,美国卡内基·梅隆大学计算机系教授兰迪·波许(Randy Pausch),因胰腺癌晚期及并发症去世,享年47岁。波许教授生前曾是人机界面领域的知名专家,国际计算机协会会士(ACM Fellow)。但更令其广为人知的是他于2007年9月(即去世前10个月)所做的一场题为《最后一课》(The Last Lecture)的著名演说。这篇演说反响极大,数以百万计的观众在线收看了演讲视频,美国广播电视网将他选为“2007年度人物”之一,《时代》杂志将他列入了“世界上影响最大的100人”,同名书籍长期位列“纽约时报畅销书(建议类)”榜首。
在这篇演说中,波许教授回顾了自己人生中的若干重要片段,而“墙”这个意象也多次出现。例如在开篇部分,波许教授谈到自己童年的梦想是体验失重状态,但苦于无法实现。直到当上了教授之后,机会似乎终于出现了。美国宇航局(NASA)组织了一次大学生竞赛,优胜团队的奖励便是可以被送到高空,体验25秒的失重状态。波许教授指导的队伍,获得了比赛的第一名。但NASA 却告诉他,只有学生才能飞上天空,指导老师不行。这样一个奇怪的规则就是挡在波许教授面前,令其无法实现儿时梦想的一堵墙。当然,就像人生中面对过的无数面墙一样,波许教授还是锲而不舍地找到了逾越它的办法。
在最后,波许教授语重心长地总结道: “你总会遇到挫折。但是记住,它们的出现并不是没有原因的。砖墙并不是为了挡住我们。它在那里,只是为了测试,我们的决心到底有多迫切。它在那里挡住了那些没有强烈决心的人。它不让那些人通过。记住,砖墙的存在是为了显示我们自己付出的决心。它使得我们,同那些并不真的想实现梦想的人得以区分。”
这不禁让我想到了很多希望涉足人工智能与数据科学的初学者在面对数学时的感受。自从深度学习火爆起来之后,深度学习算法工程师、人工智能研究员,以及数据科学家等新兴职位迅速成为大家争相讨论的薪资高地。特别是在谷歌公司的人工智能程序AlphaGo,于曾经一度被认为是人类智慧最后堡垒的围棋领域,大败世界冠军李世石后,各大IT名企纷纷成立所谓的人工智能研究院、深度学习实验室。像Geoffrey Hinton、Yann LeCun、Ian Goodfellow、李飞飞和吴恩达等国际知名学者也纷纷被谷歌、Facebook这样的IT巨头高薪延揽。
很多曾经的传统IT从业人员也不免心动,个个摩拳擦掌、跃跃欲试,希望趁早转行赶上AI这趟急速狂奔的列车。毕竟,人往高处走,水往低处流。然而,尽管人工智能和传统IT都是从计算机科学领域发展出来的,但二者之间却有着一堵明显的高墙,这堵高墙便是数学。传统的IT领域更加重视编程,而对数学的要求却相对较弱。但在人工智能学习的各个阶段,数学都是主要的攻坚对象,任何胸怀大志的人工智能学习者都不要幻想绕过数学。
有的人会认为人工智能工具化的趋势已经越发明显。借助现成的各种深度学习框架、函数库、软件包(例如TensorFlow, SciKitlearn等),即使不太了解算法背后的具体原理,更无须深究其中的数学细节,一个程序员稍加培训,也能很快训练出一个用于图像识别的深度神经网络。那是不是说明,借助工具化的方法就可以绕过数学这堵高墙了呢?
在一篇题为《放弃幻想,搞 AI 必须过数学关》的网文中,作者提出了这样的观点: “数学不过关的人在AI这个圈子里是无法参与交流的,或者说得直白一点,是被人瞧不起的,根本无法被接纳成为AI圈子里的人。其次,数学不过关而只能调参数的人,
并不能胜任实际工作。最后,即便是调参这件事情本身,懂不懂数学也是有很大差别的。”
作为补充,我想回到波许教授有关墙的理论框架。注意,在他眼里,墙的意义总体上是偏向积极的。他认为: 砖墙的存在是为了彰显我们的决心,更将我们与那些并不真的想实现梦想之人区分开来。所以,如果说人工智能相关领域的职位薪资普遍更高,那也无疑是因为墙的存在,导致物以稀为贵的结果。
打个比方,在中华人民共和国建立初期,我国还不能自行生产抗生素。那时,像青霉素这种进口药都奇货可居,贵得离谱。后来,中国可以大规模自行生产青霉素之后,这种药自然就变得非常廉价了。同理,最开始能够从事人工智能相关工作的人少,所以薪资才高。毕竟在中国最开始的时候就能够熟练使用TensorFlow的程序员肯定不多,那么少数几个还能把这种框架用起来的人薪资高也说得过去。但如果大部分程序员,甚至相关专业本科毕业生都能熟练使用有关框架进行深度学习应用开发,
可想而知,同样职位的薪资最后就必然会被统一拉低。这时就更能凸显拥有非对称优势者的价值。就拿调参数这种基本工作来说,“如果你数学不过关,对参数的意义和相关关系理解不深,方向感不强,只能半随机地刷参数,那么工作的单调性和烦琐性
会大大上升,很难坚持到做出好的模型”。何况现实中的很多具体问题都要具体分析,本来就没有放之四海而皆准的模型或算法。于是真的到了需要对算法进行改进,甚至针对具体应用开发新算法的时候,那些不懂原理的调包侠就只能望洋兴叹了。
墙的存在使得真心实现梦想的践行者与其他只会空谈的人得以区别。对于前者,遇到困难和付出努力是难免的。正如荀子所
言,无冥冥之志者,无昭昭之明; 无惛惛之事者,无赫赫之功。真正的人生难道不就是应该在翻过一面面墙的同时,使得自己更加强大的过程吗?或许也只有这样,当你回首往事时,才不会因虚度年华而悔恨,也不会因碌碌无为而羞耻。因为,在这样的过程中,不是你成全了梦想,而是追梦本身成全了你的人生。
数学是机器学习和数据科学的基础,任何期望涉足相关领域并切实领悟具体技术与方法的人都无法绕过数学这一关。本书系统地整理并介绍了机器学习中所涉及的必备数学基础,这些都是笔者从浩如烟海的数学知识中精心选取的,在学习和研究机器学习技术时所必需的内容。具体包括概率论与数理统计、微积分(主要是与最优化内容相关的部分)、凸优化及拉格朗日乘数法、数值计算、泛函分析基础(例如核方法赖以建立的希尔伯特空间理论)以及蒙特卡洛采样(拒绝采样、自适应拒绝采样、重要性采样、吉布斯采样和马尔可夫链蒙特卡洛)等内容。此外,为了帮助读者强化所学,本书还从上述数学基础出发,介绍了回归(线性回归、多项式回归、非线性回归、岭回归,以及LASSO等)、分类(感知机、逻辑回归、朴素贝叶斯、决策树、支持向量机、人工神经网络等)、聚类(k均值、EM算法、密度聚类等)、降维与流形学习(SVD、PCA和MDS等)、集成学习(Bootstrap、Bagging、Boosting、AdaBoost与随机森林)以及概率图模型(贝叶斯网络、隐马尔可夫模型)等机器学习中的重要话题。本书可作为机器学习及相关课程的教学参考书,适合高等院校人工智能、机器学习或数据挖掘等相关专业的师生研习之用,也可供从事计算机应用(特别是数据科学相关专业)的研发人员参考。
自知论道须思量,几度无眠一文章。由于时间和能力有限,书中纰漏在所难免,真诚地希望各位读者和专家不吝批评、斧正。如果读者在阅读本书过程中遇到问题,或者有关于本书的各种意见和建议,可以通过在CSDN博客(博客名: 白马负金羁)上留言的方式与我交流。本博客主要关注机器学习、数据挖掘、深度学习及数据科学等话题,提供的很多技术文章
都可以作为本书的补充资料,供广大读者自学时参考。
编者2020年1月
目录
第1章概率论基础
1.1概率论的基本概念
1.2随机变量数字特征
1.2.1期望
1.2.2方差
1.2.3矩与矩母函数
1.2.4协方差与协方差矩阵
1.3基本概率分布模型
1.3.1离散概率分布
1.3.2连续概率分布
1.3.3在R语言中使用内嵌分布
1.4概率论中的重要定理
1.4.1大数定理
1.4.2中心极限定理
1.5经验分布函数
第2章最优化基础
2.1泰勒公式
2.2里塞矩阵
2.3凸函数与詹森不等式
2.3.1凸函数的概念
2.3.2詹森不等式及其证明
2.3.3詹森不等式的应用
2.4泛函与抽象空间
2.4.1线性空间
2.4.2距离空间
2.4.3赋范空间
2.4.4巴拿赫空间
2.4.5内积空间
2.4.6希尔伯特空间
2.5从泛函到变分法
2.5.1理解泛函的概念
2.5.2关于变分概念
2.5.3变分法的基本方程
2.5.4哈密顿原理
2.5.5等式约束下的变分
第3章统计推断
3.1随机采样
3.2参数估计
3.2.1参数估计的基本原理
3.2.2单总体参数区间估计
3.2.3双总体均值差的估计
3.2.4双总体比例差的估计
3.3假设检验
3.3.1基本概念
3.3.2两类错误
3.3.3均值检验
3.4最大似然估计
3.4.1最大似然法的基本原理
3.4.2求最大似然估计的方法
3.4.3最大似然估计应用举例
第4章采样方法
4.1蒙特卡洛法求定积分
4.1.1无意识统计学家法则
4.1.2投点法
4.1.3期望法
4.2蒙特卡洛采样
4.2.1逆采样
4.2.2博克斯穆勒变换
4.2.3拒绝采样与自适应拒绝采样
4.3矩阵的极限与马尔可夫链
4.4查普曼柯尔莫哥洛夫等式
4.5马尔可夫链蒙特卡洛方法
4.5.1重要性采样
4.5.2马尔可夫链蒙特卡洛方法的基本概念
4.5.3米特罗波利斯黑斯廷斯算法
4.5.4吉布斯采样
第5章一元线性回归
5.1回归分析的性质
5.2回归的基本概念
5.2.1总体的回归函数
5.2.2随机干扰的意义
5.2.3样本的回归函数
5.3回归模型的估计
5.3.1普通最小二乘法原理
5.3.2一元线性回归的应用
5.3.3经典模型的基本假定
5.3.4总体方差的无偏估计
5.3.5估计参数的概率分布
5.4正态条件下的模型检验
5.4.1拟合优度的检验
5.4.2整体性假定检验
5.4.3单个参数的检验
5.5一元线性回归模型预测
5.5.1点预测
5.5.2区间预测
第6章多元线性回归
6.1多元线性回归模型
6.2多元回归模型估计
6.2.1最小二乘估计量
6.2.2多元回归实例
6.2.3总体参数估计量
6.3从线性代数角度理解最小二乘
6.3.1最小二乘问题的通解
6.3.2最小二乘问题的计算
6.4多元回归模型检验
6.4.1线性回归的显著性
6.4.2回归系数的显著性
6.5多元线性回归模型预测
6.6格兰杰因果关系检验
第7章线性回归进阶
7.1更多回归模型函数形式
7.1.1双对数模型以及生产函数
7.1.2倒数模型与菲利普斯曲线
7.1.3多项式回归模型及其分析
7.2回归模型的评估与选择
7.2.1嵌套模型选择
7.2.2赤池信息准则
7.2.3逐步回归方法
7.3现代回归方法的新进展
7.3.1多重共线性
7.3.2岭回归
7.3.3从岭回归到LASSO
7.3.4正则化
第8章逻辑回归与最大熵模型
8.1逻辑回归
8.2牛顿法解Logistic回归
8.3多元逻辑回归
8.4最大熵模型
8.4.1最大熵原理
8.4.2约束条件
8.4.3模型推导
8.4.4最大熵模型的最大似然估计
第9章聚类分析
9.1聚类的概念
9.2k均值算法
9.2.1距离度量
9.2.2算法描述
9.2.3应用实例
9.3最大期望算法
9.3.1算法原理
9.3.2收敛探讨
9.4高斯混合模型
9.4.1模型推导
9.4.2应用实例
9.5密度聚类与DBSCAN算法
第10章支持向量机
10.1线性可分的支持向量机
10.1.1函数距离与几何距离
10.1.2最大间隔分类器
10.1.3拉格朗日乘数法
10.1.4对偶问题的求解
10.2松弛因子与软间隔模型
10.3非线性支持向量机方法
10.3.1从更高维度上分类
10.3.2非线性核函数方法
10.3.3机器学习中的核方法
10.3.4默瑟定理
10.4对数据进行分类的实践
10.4.1基本建模函数
10.4.2分析建模结果
第11章贝叶斯推断与概率图模型
11.1贝叶斯公式与边缘分布
11.2贝叶斯推断中的重要概念
11.2.1先验概率与后验概率
11.2.2共轭分布
11.3朴素贝叶斯分类器
11.4贝叶斯网络
11.4.1基本结构单元
11.4.2模型推理
11.5贝叶斯推断的应用示例
11.6隐马尔可夫模型
11.6.1随机过程
11.6.2从时间角度考虑不确定性
11.6.3前向算法
11.6.4维特比算法
第12章降维与流形学习
12.1主成分分析
12.2奇异值分解
12.2.1一个基本的认识
12.2.2为什么可以做SVD
12.2.3SVD与PCA的关系
12.2.4应用示例与矩阵伪逆
12.3多维标度法
第13章决策树
13.1决策树基础
13.1.1Hunt算法
13.1.2基尼测度与划分
13.1.3信息熵与信息增益
13.1.4分类误差
13.2决策树进阶
13.2.1ID3算法
13.2.2C4.5算法
13.3分类回归树
13.4决策树剪枝
13.4.1没有免费午餐定理
13.4.2剪枝方法
13.5分类器的评估
第14章人工神经网络
14.1从感知机开始
14.1.1感知机模型
14.1.2感知机学习
14.1.3多层感知机
14.2基本神经网络
14.2.1神经网络结构
14.2.2符号标记说明
14.2.3后向传播算法
14.3神经网络实践
14.3.1核心函数介绍
14.3.2应用分析实践
第15章集成学习
15.1集成学习的理论基础
15.2Bootstrap方法
15.3Bagging与随机森林
15.4Boosting与AdaBoost
附录A信息论基础
附录B
参考文献