程序员的数学基础课 从理论到Python实践
全新正版 极速发货
¥
54.28
6.1折
¥
89
全新
库存6件
作者黄申
出版社人民邮电出版社
ISBN9787115553614
出版时间2021-03
装帧平装
开本16开
定价89元
货号1202306860
上书时间2024-08-07
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
黄申,博士,2015 年美国杰出人才,微软学者,IBM ExtremeBlue天才计划成员,KDD WISDOM'20主席。2006年博士毕业于上海交通大学计算机科学与工程专业,师从俞勇教授,发表过20 余篇靠前论文,拥有30多项靠前。
有20多年机器学习和大数据领域的经验,现任Glassdoor机器学习资深研发经理,曾任职于LinkedIn优选数据科学部、微软亚洲研究院、IBM研究院、eBay中国研发中心,1号店和大润发飞牛网。
著有《大数据架构和算法实现之路:电商系统的技术实战》《大数据架构商业之路:从业务需求到技术方案》两本原创技术图书,并翻译出版了《Elasticsearch实战》《Python机器学习实践指南》等技术图书,在极客时间发表了专栏《程序员的数学基础课》。
目录
第一篇基础思想1
第1章二进制、余数和布尔代数2
1.1二进制2
1.1.1二进制计数法2
1.1.2二进制的位操作3
1.1.3负数的二进制表示11
1.2余数15
1.2.1求余和同余定理15
1.2.2哈希16
1.2.3奇偶校验17
1.2.4交叉验证19
1.3布尔代数19
1.3.1逻辑19
1.3.2集合23
第2章迭代、数学归纳和递归30
2.1迭代法30
2.1.1迭代法简介30
2.1.2迭代法的应用31
2.2数学归纳法37
2.3递归41
2.3.1从数学归纳法到递归42
2.3.2分而治之44
2.4迭代法、数学归纳法和递归的关联56
第3章排列、组合和动态规划58
3.1排列58
3.2组合62
3.3动态规划65
3.3.1编辑距离66
3.3.2状态转移67
3.3.3状态转移方程和编程实现70
3.3.4动态规划解决很优组合72
第4章树和图74
4.1图和树的概念74
4.2树的常见应用77
4.2.1WordNet中的关联词77
4.2.2二叉树81
4.3树的深度优先搜索和遍历83
4.3.1前缀树的构建和查询83
4.3.2深度优先的实现88
4.4树和图的广度优先搜索和遍历94
4.4.1社交网络中的好友问题94
4.4.2实现社交好友推荐99
4.4.3如何更高效地求两个用户间的最短路径104
4.4.4更有效的嵌套型聚合111
4.5图中的最短路径114
4.5.1基于广度优先或深度优先搜索的方法115
4.5.2一个优化的版本:Dijkstra算法116
第5章编程中的数学思维126
5.1数据结构、编程语言和基础算法126
5.1.1数据结构126
5.1.2编程语句128
5.1.3基础算法128
5.2算法复杂度分析129
5.2.1复杂度分析的原理和法则130
5.2.2复杂度分析的案例134
第二篇概率统计138
第6章概率和统计基础139
6.1概论和统计对于编程的意义139
6.1.1概率和统计的概念139
6.1.2概率和统计可以做什么140
6.2随机变量、概率分布和期望值141
6.2.1随机变量141
6.2.2概率分布142
6.2.3期望值157
6.3联合概率、条件概率和贝叶斯定理159
6.3.1联合概率、条件概率和边缘概率159
6.3.2贝叶斯定理162
6.3.3随机变量之间的独立性163
第7章朴素贝叶斯分类165
7.1原始信息的转换165
7.2朴素贝叶斯的核心思想166
7.3基于朴素贝叶斯算法的文本分类170
7.3.1文本分类系统的基本框架170
7.3.2自然语言的预处理171
7.3.3朴素贝叶斯模型的构建174
7.3.4朴素贝叶斯模型的预测176
7.3.5朴素贝叶斯分类的实现177
第8章马尔可夫过程181
8.1语言模型181
8.1.1链式法则181
8.1.2马尔可夫假设181
8.1.3模型推导182
8.2语言模型的应用183
8.2.1信息检索183
8.2.2中文分词184
8.3马尔可夫模型184
8.4隐马尔可夫模型188
8.4.1模型的原理188
8.4.2模型的求解192
8.4.3模型的实现195
第9章信息熵200
9.1信息熵和信息增益200
9.1.1性格测试中的信息熵200
9.1.2信息增益203
9.2通过信息增益进行决策204
9.2.1通过信息熵挑选合适的问题204
9.2.2几种决策树算法207
9.3特征选择209
9.3.1特征选择209
9.3.2利用信息熵进行特征选择209
9.3.3利用卡方检验进行特征选择210
第10章数据分布212
10.1特征变换212
10.1.1为什么需要特征变换212
10.1.2两种常见的特征变换方法214
10.2统计意义217
10.2.1显著性差异219
10.2.2统计假设检验和显著性检验220
10.2.3P值220
10.2.4不同的检验方法221
10.3拟合、欠拟合和过拟合及其处理229
10.3.1拟合、欠拟合和过拟合229
10.3.2欠拟合和过拟合的处理233
第三篇线性代数235
第11章线性代数基础236
11.1向量和向量空间236
11.1.1向量的概念236
11.1.2向量的运算239
11.1.3向量空间244
11.2矩阵250
11.2.1矩阵的运算250
11.2.2矩阵运算的几何意义252
第12章文本处理中的向量空间模型256
12.1信息检索256
12.1.1信息检索的概念256
12.1.2信息检索中的向量空间模型257
12.2文本聚类259
12.2.1聚类算法的概念259
12.2.2使用向量空间进行聚类260
12.3文本分类263
第13章对象间关系的刻画——矩阵267
13.1PageRank的矩阵实现267
13.1.1PageRank算法的回顾267
13.1.2简化PageRank公式267
13.1.3考虑随机跳转269
13.1.4代码的实现270
13.2用矩阵实现推荐系统272
13.2.1用矩阵实现推荐系统的核心思想272
13.2.2基于用户的过滤272
13.2.3基于物品的过滤277
第14章矩阵的特征279
14.1主成分分析(PCA)279
14.1.1PCA的主要步骤279
14.1.2PCA背后的核心思想286
14.2奇异值分解(SVD)288
14.2.1方阵的特征分解288
14.2.2矩阵的奇异值分解289
14.2.3潜在语义分析和SVD291
第15章回归分析294
15.1线性方程组294
15.1.1高斯消元法295
15.1.2使用矩阵实现高斯消元法296
15.2最小二乘法299
15.2.1通过观测值的拟合300
15.2.2最小二乘法302
15.2.3补充证明和解释303
15.2.4演算示例305
第16章神经网络311
16.1神经网络的基本原理311
16.2基于TensorFlow的实现317
16.3Word2Vec327
后记327
内容摘要
本书紧紧围绕计算机领域,从程序员的需求出发,精心挑选了程序员真正用得上的数学知识,通过生动的案例来解读知识中的难点,使程序员更容易对实际问题进行数学建模,进而构建出更优化的算法和代码。本书共分为三大模块:"基础思想"篇梳理编程中常用的数学概念和思想,既由浅入深地精讲数据结构与数学中基础、核心的数学知识,又阐明数学对编程和算法的真正意义;"概率统计"篇以概率统计中核心的贝叶斯公式为基点,向上讲解随机变量、概率分布等基础概念,向下讲解朴素贝叶斯,并分析其在生活和编程中的实际应用,使读者真正理解概率统计的本质,跨越概念和应用之间的鸿沟:"线性代数"篇从线性代数中的核心概念向量、矩阵、线性方程入手,逐步深入分析这些概念是如何与计算机融会贯通以解决实际问题的。本书除了阐述理论知识,还通过Python语言分享通过大量实践积累下来的宝贵经验和编码,使读者能够真正学以致用。本书内容从概念到应用,再到本质,层层深入,不但注重培养读者的数学思维,而且努力使读者的编程技术上一个台阶,很好适合希望有一定数据结构和编程经验,想从本质上提升编程质量的程序员阅读和学习。
主编推荐
1.紧紧围绕程序员的需求。
数学的课题很好广泛,但本书没有涉及数学领域的全部课题,而是从程序员的需求出发,精心挑选了编程所需的常用知识点,并实现学以致用。
2.结合生动的案例和形象的比喻解读难点。
降低技术理解的门槛,让程序员更容易理解数学背后的逻辑,并对实际生产问题进行数学建模,进而设计出更有效的算法,编写出更优雅的代码。
3.注重编程实践。
除了阐述理论知识,书中还提供了要通过大量实践才能积累的宝贵经验,让读者有机会亲自动手编写Python 代码,进而加深理解。
4.提供源代码下载。
媒体评论
“我觉得黄申博士为程序员写这样一本关于数学的书很有必要,也很及时。黄申博士在机器学习和人工智能领域有着多年的工业界经验,此前也出版过几本口碑不错的书。他撰写的内容既能从读者的角度出发,又能与实际项目紧密结合,会让读者有很好好的学习体验。”
——朱穗生(Peter Zhu),FocusKPI 公司创始人兼CEO
“数学和编程这两个主题永远不过时,无论是对于刚入门的新手、大学生,还是资深技术人员、技术管理人员,都有着非凡的意义。黄申博士的这本结合数学和编程的书,填补了这个领域的空白,凝聚了他多年的研究成果和独到的感悟,很好值得一读。”
——聂巍,上海仙学智能科技有限公司CEO
“良好的数学思维可以让我们很快对生产业务进行建模,从中权衡各种利弊,最终挑选出合理的解决方案。我认为这本书不仅对编程人员的日常工作有借鉴意义,还可以成为进阶的梯子,助力编程人员重塑数学思维,为日后的进一步提升夯实基础。”
——邵汉成,四衡商务信息咨询(上海)有限公司CTO
“黄申博士对不同业务领域的理解很好到位,而且提出了很多创新性的想法。正因如此,我坚信他撰写的书一定会兼顾深度和创新,从全新的角度深度剖析问题,让你有种茅塞顿开、拨云见日的感觉。”
——郭占星,上海果钜信息技术有限公司CEO
“我很惊讶于黄博士在做管理这么多年之后仍然保持着对技术的热情,尤其是对数学相关知识有深刻的理解。他告诉我“数学是基础,学好了数学,理解计算机领域的知识就不难了”。对此,我一直百思不得其解,直到最近看到他的这本新书,才恍然大悟。相信我,这是一本让你看了保证不会后悔的书。”
——黄哲铿,《技术人修炼之道》作者、“技术领导力”社区发起人
— 没有更多了 —
以下为对购买帮助不大的评价