Python与机器学习这一话题是如此的宽广,仅靠一本书自然不可能涵盖到方方面面,甚至即使出一个系列也难能做到这点。单就机器学习而言,其领域就包括但不限于如下:有监督学习(Supervised Learning),无监督学习(Unsupervised Learning)和半监督学习(Semi-Supervised Learning)。而具体的问题又大致可以分两类:分类问题(Classification)和回归问题(Regression)。Python本身带有许多机器学习的第三方库,但本书在绝大多数情况下只会用到Numpy这个基础的科学计算库来进行算法代码的实现。这样做的目的是希望读者能够从实现的过程中更好地理解机器学习算法的细节,以及了解Numpy的各种应用。不过作为补充,本书会在适当的时候应用scikit-learn这个成熟的第三方库中的模型。本书适用于想了解传统机器学习算法的学生和从业者,想知道如何高效实现机器的算法的程序员,以及想了解机器学习的算法能如何进行应用的职员、经理等。
算法与代码兼顾,理论与实践结合
很丰富:7种算法,50段实现,55个实例,总代码量5295行,而不冗余
很扎实:对经典有效的机器学习算法的核心内容进行了相当详细的推导
很应用:将理论实打实地用Python代码写出来,可以解决一定的任务
很前沿:叙述了TensorFlow框架、Inception-v3 from Google、迁移学习等前沿技术
来自北京大学数学系,有多年Python开发经验,曾用Python开发过多款有意思的软件。对机器学习、神经网络、贝叶斯算法有深入研究。
目录
第1章 Python与机器学习入门 1
1.1 机器学习绪论 1
1.1.1 什么是机器学习 2
1.1.2 机器学习常用术语 3
1.1.3 机器学习的重要性 6
1.2 人生苦短,我用Python 7
1.2.1 为何选择Python 7
1.2.2 Python 在机器学习领域的优势 8
1.2.3 Anaconda的安装与使用 8
1.3 及时个机器学习样例 12
1.3.1 获取与处理数据 13
1.3.2 选择与训练模型 14
1.3.3 评估与可视化结果 15
1.4 本章小结 17
第2章 贝叶斯分类器 18
2.1 贝叶斯学派 18
2.1.1 贝叶斯学派与频率学派 19
2.1.2 贝叶斯决策论 19
2.2 参数估计 20
2.2.1 极大似然估计(ML估计) 21
2.2.2 极大后验概率估计(MAP估计) 22
2.3 朴素贝叶斯 23
2.3.1 算法陈述与基本架构的搭建 23
2.3.2 MultinomialNB的实现与评估 31
2.3.3 GaussianNB的实现与评估 40
2.3.4 MergedNB的实现与评估 43
2.3.5 算法的向量化 50
2.4 半朴素贝叶斯与贝叶斯网 53
2.4.1 半朴素贝叶斯 53
2.4.2 贝叶斯网 54
2.5 相关数学理论 55
2.5.1 贝叶斯公式与后验概率 55
2.5.2 离散型朴素贝叶斯算法 56
2.5.3 朴素贝叶斯和贝叶斯决策 58
2.6 本章小结 59
第3章 决策树 60
3.1 数据的信息 60
3.1.1 信息论简介 61
3.1.2 不确定性 61
3.1.3 信息的增益 65
3.1.4 决策树的生成 68
3.1.5 相关的实现 77
3.2 过拟合与剪枝 92
3.2.1 ID3、C4.5的剪枝算法 93
3.2.2 CART剪枝 100
3.3 评估与可视化 103
3.4 相关数学理论 111
3.5 本章小结 113
第4章 集成学习 114
4.1 “集成”的思想 114
4.1.1 众擎易举 115
4.1.2 Bagging与随机森林 115
4.1.3 PAC框架与Boosting 119
4.2 随机森林算法 120
4.3 AdaBoost算法 124
4.3.1 AdaBoost算法陈述 124
4.3.2 弱模型的选择 126
4.3.3 AdaBoost的实现 127
4.4 集成模型的性能分析 129
4.4.1 随机数据集上的表现 130
4.4.2 异或数据集上的表现 131
4.4.3 螺旋数据集上的表现 134
4.4.4 蘑菇数据集上的表现 136
4.5 AdaBoost算法的解释 138
4.6 相关数学理论 139
4.6.1 经验分布函数 139
4.6.2 AdaBoost与前向分步加法模型 140
4.7 本章小结 142
第5章 支持向量机 144
5.1 感知机模型 145
5.1.1 线性可分性与感知机策略 145
5.1.2 感知机算法 148
5.1.3 感知机算法的对偶形式 151
5.2 从感知机到支持向量机 153
5.2.1 间隔较大化与线性SVM 154
5.2.2 SVM算法的对偶形式 158
5.2.3 SVM的训练 161
5.3 从线性到非线性 163
5.3.1 核技巧简述 163
5.3.2 核技巧的应用 166
5.4 多分类与支持向量回归 180
5.4.1 一对多方法(One-vs-Rest) 180
5.4.2 一对一方法(One-vs-One) 181
5.4.3 有向无环图方法(Directed Acyclic Graph Method) 181
5.4.4 支持向量回归(Support Vector Regression) 182
5.5 相关数学理论 183
5.5.1 梯度下降法 183
5.5.2 拉格朗日对偶性 185
5.6 本章小结 187
第6章 神经网络 188
6.1 从感知机到多层感知机 189
6.2 前向传导算法 192
6.2.1 算法概述 193
6.2.2 激活函数(Activation Function) 195
6.2.3 损失函数(Cost Function) 199
6.3 反向传播算法 200
6.3.1 算法概述 200
6.3.2 损失函数的选择 202
6.3.3 相关实现 205
6.4 特殊的层结构 211
6.5 参数的更新 214
6.5.1 Vanilla Update 217
6.5.2 Momentum Update 217
6.5.3 Nesterov Momentum Update 219
6.5.4 RMSProp 220
6.5.5 Adam 221
6.5.6 Factory 222
6.6 朴素的网络结构 223
6.7 “大数据”下的网络结构 227
6.7.1 分批(Batch)的思想 228
6.7.2 交叉验证 230
6.7.3 进度条 231
6.7.4 计时器 233
6.8 相关数学理论 235
6.8.1 BP算法的推导 235
6.8.2 Softmax log-likelihood组合 238
6.9 本章小结 240
第7章 卷积神经网络 241
7.1 从NN到CNN 242
7.1.1 “视野”的共享 242
7.1.2 前向传导算法 243
7.1.3 全连接层(Fully Connected Layer) 250
7.1.4 池化(Pooling) 251
7.2 利用TensorFlow重写NN 252
7.2.1 反向传播算法 252
7.2.2 重写Layer结构 253
7.2.3 实现SubLayer结构 255
7.2.4 重写CostLayer结构 261
7.2.5 重写网络结构 262
7.3 将NN扩展为CNN 263
7.3.1 实现卷积层 263
7.3.2 实现池化层 266
7.3.3 实现CNN中的特殊层结构 267
7.3.4 实现LayerFactory 268
7.3.5 扩展网络结构 270
7.4 CNN的性能 272
7.4.1 问题描述 272
7.4.2 搭建CNN模型 273
7.4.3 模型分析 280
7.4.4 应用CNN的方法 283
7.4.5 Inception 286
7.5 本章小结 289
附录A Python入门 290
附录B Numpy入门 303
附录C TensorFlow入门 310
图书不错,很适合编程练习。促销也给力。
作者没搞通,只能出书赚钱了。
好书!!!
上手很快,概念和代码均有详细介绍,而且介绍的几种算法都是主流的,挺适合新手和实战学习的
包装很好,书没有挤压痕迹。看目录觉得比较适合自己,正在看具体的内容。
书是原版的,纸质好
印刷精美,是正版。注释详尽,适合新手和略有基础的读者。
书还不错,值得看看…
很好,很有用
活动买的,出版时间比较新
价格便宜,装帧精美
很好,学习下!
这本书看名称还是不错的,正在学习中,希望有帮助!现在换了邮政物流,不错!