Python机器学习算法 原理、实现与案例
作者:刘硕著
出版时间:2019年版
内容简介
本书用平实的语言深入浅出地介绍当前热门的机器学习经典算法,包括线性回归、Logistic回归与Softmax回归、决策树(分类与回归)、朴素贝叶斯、支持向量机、K近邻学习、K-Means和人工神经网络,针对每一个算法首先介绍数学模型及原理,然后根据模型和算法描述使用Python编程和Numpy库进行算法实现,*后通过案例让读者进一步体会算法的应用场景以及应用时所需注意的问题。 本书适合准备进入人工智能和数据分析与挖掘领域的初学者,对机器学习算法感兴趣的爱好者、程序员、大学生和各类IT培训班的学员使用。
目录
目 录
第1章 线性回归 1
1.1 线性回归模型 1
1.2 小二乘法 2
1.3 梯度下降 4
1.3.1 梯度下降算法 4
1.3.2 随机梯度下降和小批量梯度下降 6
1.4 算法实现 7
1.4.1 小二乘法 7
1.4.2 梯度下降 9
1.5 项目实战 12
1.5.1 准备数据 12
1.5.2 模型训练与测试 13
第2章 Logistic回归与Softmax回归 20
2.1 Logistic回归 20
2.1.1 线性模型 20
2.1.2 logistic函数 21
2.1.3 Logistic回归模型 23
2.1.4 极大似然法估计参数 24
2.1.5 梯度下降更新公式 25
2.2 Softmax回归 26
2.2.1 Softmax函数 26
2.2.2 Softmax回归模型 27
2.2.3 梯度下降更新公式 27
2.3 编码实现 28
2.3.1 Logistic回归 28
2.3.2 Softmax回归 32
2.4 项目实战 36
2.4.1 Logistic回归 36
2.4.2 Softmax回归 43
第3章 决策树——分类树 46
3.1 决策树模型 46
3.2 生成决策树 48
3.3 切分特征的选择 49
3.3.1 信息熵 49
3.3.2 条件信息熵 50
3.3.3 信息增益 51
3.3.4 信息增益比 53
3.4 算法实现 53
3.5 绘制决策树 57
3.6 项目实战 64
3.6.1 准备数据 64
3.6.2 模型训练与测试 66
第4章 决策树——分类回归树 70
4.1 CART算法的改进 70
4.2 处理连续值特征 71
4.3 CART分类树与回归树 72
4.3.1 CART分类树 72
4.3.2 CART回归树 74
4.4 算法实现 75
4.4.1 CART分类树 75
4.4.2 CART回归树 80
4.5 项目实战 85
4.5.1 CART分类树 85
4.5.2 CART回归树 89
第5章 朴素贝叶斯 95
5.1 朴素贝叶斯模型 95
5.1.1 贝叶斯公式 95
5.1.2 贝叶斯分类器 97
5.1.3 朴素贝叶斯分类器 97
5.2 模型参数估计 98
5.2.1 极大似然估计 98
5.2.2 贝叶斯估计 102
5.3 算法实现 103
5.4 项目实战 105
5.4.1 准备数据 106
5.4.2 模型训练与测试 108
第6章 支持向量机 110
6.1 线性可分支持向量机 110
6.1.1 分离超平面 110
6.1.2 间隔化 112
6.1.3 拉格朗日对偶法 113
6.1.4 分类决策函数 116
6.1.5 线性可分支持向量机算法 117
6.2 线性支持向量机 118
6.2.1 软间隔化 118
6.2.2 线性支持向量机算法 121
6.3 非线性支持向量机 122
6.3.1 空间变换 122
6.3.2 核技巧 123
6.3.3 非线性支持向量机算法 124
6.4 SMO算法 125
6.4.1 两个变量化问题的求解 126
6.4.2 变量选择 129
6.4.3 更新b 131
6.4.4 更新E缓存 132
6.5 算法实现 133
6.6 项目实战 139
6.6.1 准备数据 140
6.6.2 模型训练与测试 141
第7章 k近邻学习 145
7.1 kNN学习 145
7.1.1 kNN学习模型 145
7.1.2 距离的度量 146
7.1.3 k值的选择 149
7.2 kNN的一种实现:k-d树 150
7.2.1 构造k-d树 150
7.2.2 搜索k-d树 153
7.3 算法实现 155
7.3.1 线性扫描版本 155
7.3.2 k-d树版本 157
7.4 项目实战 161
7.4.1 准备数据 162
7.4.2 模型训练与测试 163
第8章 K-Means 167
8.1 K-Means 167
8.1.1 距离的度量 168
8.1.2 聚类算法的性能 169
8.1.3 K-Means算法 171
8.2 K-Means 172
8.3 算法实现 173
8.3.1 K-Means 173
8.3.2 K-Means 176
8.4 项目实战 179
8.4.1 准备数据 180
8.4.2 模型训练与测试 181
第9章 人工神经网络 184
9.1 神经网络 184
9.1.1 人造神经元 184
9.1.2 神经网络 187
9.2 反向传播算法 188
9.2.1 输出节点的权值更新 189
9.2.2 隐藏节点的权值更新 190
9.3 算法实现 192
9.3.1 神经网络分类器 192
9.3.2 神经网络回归器 196
9.4 项目实战 202
9.4.1 准备数据 203
9.4.2 模型训练与测试 206