《Python机器学习算法》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:赵志勇著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121313196
  • 页数:343 页
图书介绍:本书是一本机器学习入门读物,注重理论与实践的结合。全书主要包括6个部分,每个部分均以典型的机器学习算法为例,从算法原理出发,由浅入深,详细分析算法的理论,并配合目前流行的Python语言,从零开始,实现每一个算法,以加强对机器学习算法理论的理解、增强实际的算法实践能力,最终达到熟练掌握每一个算法的目的。与其他机器学习类书相比,本书同时包含算法理论的介绍和算法的实践,以理论支撑实践,同时,又将复杂、枯燥的理论用简单易懂的形式表达出来,促进对理论的理解。

0 绪论 1

0.1机器学习基础 1

0.1.1机器学习的概念 1

0.1.2机器学习算法的分类 2

0.2监督学习 3

0.2.1监督学习 3

0.2.2监督学习的流程 3

0.2.3监督学习算法 4

0.3无监督学习 4

0.3.1无监督学习 4

0.3.2无监督学习的流程 4

0.3.3无监督学习算法 5

0.4推荐系统和深度学习 6

0.4.1推荐系统 6

0.4.2深度学习 6

0.5 Python和机器学习算法实践 6

参考文献 7

第一部分 分类算法 10

1 Logistic Regression 10

1.1 Logistic Regression模型 10

1.1.1线性可分VS线性不可分 10

1.1.2 Logistic Regression模型 11

1.1.3损失函数 13

1.2梯度下降法 14

1.2.1梯度下降法的流程 14

1.2.2凸优化与非凸优化 15

1.2.3利用梯度下降法训练Logistic Regression模型 17

1.3梯度下降法的若干问题 18

1.3.1选择下降的方向 18

1.3.2步长的选择 19

1.4 Logistic Regression算法实践 20

1.4.1利用训练样本训练Logistic Regression模型 20

1.4.2最终的训练效果 22

1.4.3对新数据进行预测 23

参考文献 26

2 Softmax Regression 27

2.1多分类问题 27

2.2 Softmax Regression算法模型 28

2.2.1 Softmax Regression模型 28

2.2.2 Softmax Regression算法的代价函数 28

2.3 Softmax Regression算法的求解 29

2.4 Softmax Regression与Logistic Regression的关系 31

2.4.1 Softmax Regression中的参数特点 31

2.4.2由Softmax Regression到Logistic Regression 31

2.5 Softmax Regression算法实践 32

2.5.1对Softmax Regression算法的模型进行训练 33

2.5.2最终的模型 34

2.5.3对新的数据的预测 35

参考文献 39

3 Factorization Machine 40

3.1 Logistic Regression算法的不足 40

3.2因子分解机FM的模型 42

3.2.1因子分解机FM模型 42

3.2.2因子分解机FM可以处理的问题 43

3.2.3二分类因子分解机FM算法的损失函数 43

3.3 FM算法中交叉项的处理 43

3.3.1交叉项系数 43

3.3.2模型的求解 44

3.4 FM算法的求解 45

3.4.1随机梯度下降(Stochastic Gradient Descent) 45

3.4.2基于随机梯度的方式求解 45

3.4.3 FM算法流程 46

3.5因子分解机FM算法实践 49

3.5.1训练FM模型 50

3.5.2最终的训练效果 53

3.5.3对新的数据进行预测 55

参考文献 57

4 支持向量机 58

4.1二分类问题 58

4.1.1二分类的分隔超平面 58

4.1.2感知机算法 59

4.1.3感知机算法存在的问题 61

4.2函数间隔和几何间隔 61

4.2.1函数间隔 62

4.2.2几何间隔 62

4.3支持向量机 63

4.3.1间隔最大化 63

4.3.2支持向量和间隔边界 64

4.3.3线性支持向量机 65

4.4支持向量机的训练 66

4.4.1学习的对偶算法 66

4.4.2由线性支持向量机到非线性支持向量机 68

4.4.3序列最小最优化算法SMO 69

4.5支持向量机SVM算法实践 74

4.5.1训练SVM模型 74

4.5.2利用训练样本训练SVM模型 81

4.5.3利用训练好的SVM模型对新数据进行预测 85

参考文献 88

5 随机森林 89

5.1决策树分类器 89

5.1.1决策树的基本概念 89

5.1.2选择最佳划分的标准 91

5.1.3停止划分的标准 94

5.2 CART分类树算法 95

5.2.1 CART分类树算法的基本原理 95

5.2.2 CART分类树的构建 95

5.2.3利用构建好的分类树进行预测 98

5.3集成学习(Ensemble Learning) 99

5.3.1集成学习的思想 99

5.3.2集成学习中的典型方法 99

5.4随机森林(Random Forests) 101

5.4.1随机森林算法模型 101

5.4.2随机森林算法流程 102

5.5随机森林RF算法实践 104

5.5.1训练随机森林模型 105

5.5.2最终的训练结果 109

5.5.3对新数据的预测 110

参考文献 113

6 BP神经网络 114

6.1神经元概述 114

6.1.1神经元的基本结构 114

6.1.2激活函数 115

6.2神经网络模型 116

6.2.1神经网络的结构 116

6.2.2神经网络中的参数说明 117

6.2.3神经网络的计算 117

6.3神经网络中参数的求解 118

6.3.1神经网络损失函数 118

6.3.2损失函数的求解 119

6.3.3 BP神经网络的学习过程 120

6.4 BP神经网络中参数的设置 126

6.4.1非线性变换 126

6.4.2权重向量的初始化 126

6.4.3学习率 127

6.4.4隐含层节点的个数 127

6.5 BP神经网络算法实践 127

6.5.1训练BP神经网络模型 128

6.5.2最终的训练效果 132

6.5.3对新数据的预测 133

参考文献 136

第二部分 回归算法 138

7 线性回归 138

7.1基本线性回归 138

7.1.1线性回归的模型 138

7.1.2线性回归模型的损失函数 139

7.2线性回归的最小二乘解法 140

7.2.1线性回归的最小二乘解法 140

7.2.2广义逆的概念 141

7.3牛顿法 141

7.3.1基本牛顿法的原理 141

7.3.2基本牛顿法的流程 142

7.3.3全局牛顿法 142

7.3.4 Armijo搜索 144

7.3.5利用全局牛顿法求解线性回归模型 145

7.4利用线性回归进行预测 146

7.4.1训练线性回归模型 147

7.4.2最终的训练结果 149

7.4.3对新数据的预测 150

7.5局部加权线性回归 152

7.5.1局部加权线性回归模型 152

7.5.2局部加权线性回归的最终结果 153

参考文献 154

8 岭回归和Lasso回归 155

8.1线性回归存在的问题 155

8.2岭回归模型 156

8.2.1岭回归模型 156

8.2.2岭回归模型的求解 156

8.3 Lasso回归模型 157

8.4拟牛顿法 158

8.4.1拟牛顿法 158

8.4.2 BFGS校正公式的推导 158

8.4.3 BFGS校正的算法流程 159

8.5 L-BFGS求解岭回归模型 162

8.5.1 BGFS算法存在的问题 162

8.5.2 L-BFGS算法思路 162

8.6岭回归对数据的预测 165

8.6.1训练岭回归模型 166

8.6.2最终的训练结果 168

8.6.3利用岭回归模型预测新的数据 168

参考文献 171

9 CART树回归 172

9.1复杂的回归问题 172

9.1.1线性回归模型 172

9.1.2局部加权线性回归 173

9.1.3 CART算法 174

9.2 CART回归树生成 175

9.2.1 CART回归树的划分 175

9.2.2 CART回归树的构建 177

9.3 CART回归树剪枝 179

9.3.1前剪枝 179

9.3.2后剪枝 180

9.4 CART回归树对数据预测 180

9.4.1利用训练数据训练CART回归树模型 180

9.4.2最终的训练结果 182

9.4.3利用训练好的CART回归树模型对新的数据预测 185

参考文献 187

第三部分 聚类算法 190

10 K-Means 190

10.1相似性的度量 190

10.1.1闵可夫斯基距离 191

10.1.2曼哈顿距离 191

10.1.3欧氏距离 191

10.2 K-Means算法原理 192

10.2.1 K-Means算法的基本原理 192

10.2.2 K-Means算法步骤 193

10.2.3 K-Means算法与矩阵分解 193

10.3 K-Means算法实践 195

10.3.1导入数据 196

10.3.2初始化聚类中心 197

10.3.3聚类过程 198

10.3.4最终的聚类结果 199

10.4 K-Means++算法 200

10.4.1 K-Means算法存在的问题 200

10.4.2 K-Means++算法的基本思路 202

10.4.3 K-Means++算法的过程和最终效果 204

参考文献 205

11 Mean Shift 206

11.1 Mean Shift向量 206

11.2核函数 207

11.3 Mean Shift算法原理 209

11.3.1引入核函数的Mean Shift向量 209

11.3.2 Mean Shift算法的基本原理 210

11.4 Mean Shift算法的解释 212

11.4.1概率密度梯度 212

11.4.2 Mean Shift向量的修正 213

11.4.3 Mean Shift算法流程 213

11.5 Mean Shift算法实践 217

11.5.1 Mean Shift的主过程 218

11.5.2 Mean Shift的最终聚类结果 219

参考文献 221

12 DBSCAN 222

12.1基于密度的聚类 222

12.1.1基于距离的聚类算法存在的问题 222

12.1.2基于密度的聚类算法 225

12.2 DBSCAN算法原理 225

12.2.1 DBSCAN算法的基本概念 225

12.2.2 DBSCAN算法原理 227

12.2.3 DBSCAN算法流程 228

12.3 DBSCAN算法实践 231

12.3.1 DBSCAN算法的主要过程 232

12.3.2 Mean Shift的最终聚类结果 234

参考文献 236

13 Label Propagation 237

13.1社区划分 237

13.1.1社区以及社区划分 237

13.1.2社区划分的算法 238

13.1.3社区划分的评价标准 239

13.2 Label Propagation算法原理 239

13.2.1 Label Propagation算法的基本原理 239

13.2.2标签传播 240

13.2.3迭代的终止条件 242

13.3 Label Propagation算法过程 244

13.4 Label Propagation算法实践 244

13.4.1导入数据 245

13.4.2社区的划分 246

13.4.3最终的结果 247

参考文献 248

第四部分 推荐算法 250

14 协同过滤算法 250

14.1推荐系统的概述 250

14.1.1推荐系统 250

14.1.2推荐问题的描述 251

14.1.3推荐的常用方法 251

14.2基于协同过滤的推荐 252

14.2.1协同过滤算法概述 252

14.2.2协同过滤算法的分类 252

14.3相似度的度量方法 253

14.3.1欧氏距离 254

14.3.2皮尔逊相关系数(Pearson Correlation) 254

14.3.3余弦相似度 254

14.4基于协同过滤的推荐算法 256

14.4.1基于用户的协同过滤算法 256

14.4.2基于项的协同过滤算法 258

14.5利用协同过滤算法进行推荐 260

14.5.1导入用户-商品数据 260

14.5.2利用基于用户的协同过滤算法进行推荐 261

14.5.3利用基于项的协同过滤算法进行推荐 262

参考文献 264

15 基于矩阵分解的推荐算法 265

15.1矩阵分解 265

15.2基于矩阵分解的推荐算法 266

15.2.1损失函数 266

15.2.2损失函数的求解 266

15.2.3加入正则项的损失函数即求解方法 267

15.2.4预测 269

15.3利用矩阵分解进行推荐 270

15.3.1利用梯度下降对用户商品矩阵分解和预测 270

15.3.2最终的结果 272

15.4非负矩阵分解 273

15.4.1非负矩阵分解的形式化定义 274

15.4.2损失函数 274

15.4.3优化问题的求解 274

15.5利用非负矩阵分解进行推荐 277

15.5.1利用乘法规则进行分解和预测 277

15.5.2最终的结果 278

参考文献 279

16 基于图的推荐算法 280

16.1二部图与推荐算法 280

16.1.1二部图 280

16.1.2由用户商品矩阵到二部图 281

16.2 PageRank算法 282

16.2.1 PageRank算法的概念 282

16.2.2 PageRank的两个假设 283

16.2.3 PageRank的计算方法 283

16.3 PersonalRank算法 285

16.3.1 PersonalRank算法原理 285

16.3.2 PersonalRank算法的流程 286

16.4利用PersonalRank算法进行推荐 288

16.4.1利用PersonalRank算法进行推荐 288

16.4.2最终的结果 291

参考文献 291

第五部分 深度学习 294

17 AutoEncoder 294

17.1多层神经网络 294

17.1.1三层神经网络模型 294

17.1.2由三层神经网络到多层神经网络 295

17.2 AutoEncoder模型 296

17.2.1 AutoEncoder模型结构 296

17.2.2 AutoEncoder的损失函数 297

17.3降噪自编码器Denoising AutoEncoder 298

17.3.1 Denoising AutoEncoder原理 298

17.3.2 Denoising AutoEncoder实现 299

17.4利用Denoising AutoEncoders构建深度网络 302

17.4.1无监督的逐层训练 302

17.4.2有监督的微调 303

17.5利用TensorFlow实现Stacked Denoising AutoEncoders 306

17.5.1训练Stacked Denoising AutoEncoders模型 306

17.5.2训练的过程 307

参考文献 308

18 卷积神经网络 309

18.1传统神经网络模型存在的问题 309

18.2卷积神经网络 311

18.2.1卷积神经网络中的核心概念 311

18.2.2卷积神经网络模型 312

18.3卷积神经网络的求解 313

18.3.1卷积层(Convolution Layer) 313

18.3.2下采样层(Sub-Sampling Layer) 316

18.3.3全连接层(Fully-Connected Layer) 316

18.4利用TensorFlow实现CNN 316

18.4.1 CNN的实现 316

18.4.2训练CNN模型 320

18.4.3训练的过程 321

参考文献 321

第六部分 项目实践 324

19 微博精准推荐 324

19.1精准推荐 324

19.1.1精准推荐的项目背景 324

19.1.2精准推荐的技术架构 325

19.1.3离线数据挖掘 326

19.2基于用户行为的挖掘 327

19.2.1基于互动内容的兴趣挖掘 327

19.2.2基于与博主互动的兴趣挖掘 328

19.3基于相似用户的挖掘 329

19.3.1基于“@”人的相似用户挖掘 329

19.3.2基于社区的相似用户挖掘 329

19.3.3基于协同过滤的相似用户挖掘 331

19.4点击率预估 332

19.4.1点击率预估的概念 332

19.4.2点击率预估的方法 332

19.5各种数据技术的效果 334

参考文献 335

附录A 336

附录B 341