机器学习AI算法工程   公众号:datayx


Python与机器学习这一话题是如此的宽广,仅靠一本书自然不可能涵盖到方方面面,甚至即使出一个系列的书也难能做到这点。单就机器学习而言,其领域就包括但不限于如下:有监督学习(Supervised Learning),无监督学习(Unsupervised Learning)和半监督学习(Semi-Supervised Learning)。而其具体的问题又大致可以分为两类:分类问题(Classification)和回归问题(Regression)。


Python本身带有许多机器学习的第三方库,但《Python与机器学习实战:决策树、集成学习、支持向量机与神经网络算法详解及编程实现》在绝大多数情况下只会用到Numpy这个基础的科学计算库来进行算法代码的实现。这样做的目的是希望读者能够从实现的过程中更好地理解机器学习算法的细节,以及了解Numpy的各种应用。不过作为补充,《Python与机器学习实战:决策树、集成学习、支持向量机与神经网络算法详解及编程实现》会在适当的时候应用scikit-learn这个成熟的第三方库中的模型。


《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




不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  

《Python与机器学习实战》笔记+源码_机器学习



机大数据技术与机器学习工程

 搜索公众号添加: datanlp

《Python与机器学习实战》笔记+源码_机器学习_02

长按图片,识别二维码