• 深入机器学习
  • 深入机器学习
21年品牌 40万+商家 超1.5亿件商品

深入机器学习

全新正版 假一赔十 可开发票

77.63 6.1折 128 全新

仅1件

北京东城
认证卖家担保交易快速发货售后保障

作者邓子云 著

出版社水利水电出版社

ISBN9787522610801

出版时间2023-03

装帧平装

开本16开

定价128元

货号1202810269

上书时间2024-09-25

轻阅书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言
 

 

 

第1章 认知机器学习 1

 

1.1 什么是机器学习 2

 

1.1.1 理解机器学习的定义 2

 

1.1.2 机器学习有哪些模型 3

 

1.2 怎么学习机器学习 4

 

1.2.1 学习的总体步骤 4

 

1.2.2 理清工具与原理的关系 4

 

1.3 搭建开发环境 5

 

1.3.1 下载和安装Anaconda 5

 

1.3.2 Anaconda的5个工具软件 5

 

1.4 小结 6

 

第2章 打下开发基础 7

 

2.1 学会使用常用的数据结构 8

 

2.1.1 列表 8

 

2.1.2 字典 10

 

2.1.3 numpy 11

 

2.2 能用matplotlib绘图 15

 

2.2.1 画点 15

 

2.2.2 画线 16

 

2.2.3 画面 16

 

2.2.4 画多个子图 16

 

2.3 能编程保存和加载机器学习模型 18

 

2.3.1 保存模型 18

 

2.3.2 加载模型 18

 

2.4 小结 18

 

第3章 入门先学会使用线性回归 19

 

3.1 初步理解线性回归 20

 

3.1.1 涉及的主要术语 20

 

3.1.2 线性方程的表达 21

 

3.1.3 拟合出的线的样子 24

 

3.2 了解线性回归的过程 26

 

3.2.1 做线性回归的过程 26

 

3.2.2 模型的评价指标 27

 

3.2.3 数据集的划分 29

 

3.3 做线性回归的实例 30

 

3.3.1 用图观察数据项之间的关系 31

 

3.3.2 对数据集进行划分 33

 

3.3.3 用数据训练模型 34

 

3.3.4 用模型做预测 35

 

3.3.5 对模型做评价 38

 

3.4 使用更复杂的线性回归模型 46

 

3.4.1 以一元高次方程为模型 46

 

3.4.2 以多元一次方程为模型 51

 

3.4.3 以多元高次方程为模型 54

 

3.5 小结 58

 

第4章 学习线性回归背后的数学原理 60

 

4.1 补充学习高等数学知识 62

 

4.1.1 导数的意义 62

 

4.1.2 常用的求导法则 62

 

4.1.3 求某点的导数值 65

 

4.1.4 复合函数的导数 68

 

4.1.5 偏导数 70

 

4.1.6 行列式及其计算方法 72

 

4.1.7 矩阵及其计算方法 76

 

4.1.8 线性方程组的解法 81

 

4.2 理解和使用最小二乘法 85

 

4.2.1 为什么叫最小二乘法 85

 

4.2.2 求解一元一次方程模型的参数 87

 

4.2.3 求解多元一次方程模型的参数 94

 

4.2.4 求解一元高次方程和多元高次方程模型的参数 101

 

4.2.5 多种模型之间的比较 101

 

4.3 学习和使用梯度下降法 102

 

4.3.1 什么是梯度和梯度下降法 102

 

4.3.2 多元函数的梯度下降法 104

 

4.3.3 设置迭代的出口和学习率 110

 

4.3.4 线性回归的梯度下降法 113

 

4.3.5 由误差函数的图形引发对极小值的讨论 119

 

4.3.6 遍历训练数据做线性回归的三种梯度下降法 122

 

4.4 小结 126

 

第5章 深入浅出线性回归的高级知识 128

 

5.1 模型优化要解决什么问题 129

 

5.1.1 欠拟合、过拟合和恰当拟合 129

 

5.1.2 怎么解决过拟合的问题 130

 

5.2 用岭回归对线性回归模型做惩罚 130

 

5.2.1 做岭回归用最小二乘法时的数学原理 131

 

5.2.2 用岭迹法找到合适的λ值 132

 

5.2.3 做岭回归用梯度下降法时的数学原理 135

 

5.2.4 用交叉验证法找到合适的λ值 136

 

5.3 用Lasso回归对线性回归模型做惩罚 146

 

5.3.1 Lasso回归的数学原理 146

 

5.3.2 从图形上理解Lasso回归 150

 

5.3.3 用坐标轴下降法做Lasso回归 152

 

5.4 化繁为简使用scikit-learn库 164

 

5.4.1 用最小二乘法做线性回归 164

 

5.4.2 做岭回归 166

 

5.4.3 做Lasso回归 172

 

5.4.4 使用弹性网络做线性回归 174

 

5.5 小结 177

 

第6章 学会使用逻辑回归 179

 

6.1 初步理解逻辑回归 180

 

6.1.1 涉及的主要术语 180

 

6.1.2 线性分类的图形表达 180

 

6.1.3 逻辑回归的图形表达 183

 

6.2 用scikit-learn库做逻辑回归 185

 

6.2.1 引入乳腺癌数据集 186

 

6.2.2 用逻辑回归预测乳腺癌 187

 

6.2.3 评估逻辑回归模型 190

 

6.2.4 得到模型参数 192

 

6.2.5 得到分类的可能性值 193

 

6.3 解决多分类的问题 194

 

6.3.1 引入鸢尾花数据集 194

 

6.3.2 用One-Vs-All解决多分类问题 195

 

6.3.3 用One-Vs-One解决多分类问题 203

 

6.4 小结 205

 

第7章 学习逻辑回归背后的数学原理 207

 

7.1 补充学习高等数学知识 208

 

7.1.1 凸函数和Hessian矩阵 208

 

7.1.2 大数定律和中心极限定理 210

 

7.1.3 正态分布和伯努利分布 211

 

7.1.4 条件概率和似然函数 212

 

7.2 理解逻辑回归的数学原理 213

 

7.2.1 找到合适的用于优化的函数 213

 

7.2.2 在逻辑回归中使用梯度下降法的数学原理 215

 

7.3 用梯度下降法求解逻辑回归模型 216

 

7.3.1 将鸢尾花分成两类 216

 

7.3.2 预测乳腺癌 220

 

7.4 小结 222

 

第8章 深入浅出逻辑回归的高级知识 224

 

8.1 对逻辑回归做正则化 226

 

8.1.1 理解L2正则化的数学原理 226

 

8.1.2 用L2正则化预测乳腺癌 226

 

8.1.3 用其他惩罚方式做逻辑回归 228

 

8.2 化繁为简使用scikit-learn库 228

 

8.2.1 熟悉并使用LogisticRegression类 228

 

8.2.2 熟悉并使用SGDClassifier类 230

 

8.2.3 熟悉并使用LogisticRegressionCV

 

类 232

 

8.2.4 用LogisticRegression类做多分类 233

 

8.3 补充学习一些更高级的数学知识 234

 

8.3.1 泰勒公式 235

 

8.3.2 牛顿法和拟牛顿法的优化原理 239

 

8.3.3 lbfgs优化方法 247

 

8.3.4 newton-cg优化方法 248

 

8.3.5 liblinear优化方法 255

 

8.3.6 sag和saga优化方法 257

 

8.4 用softmax解决多分类问题 262

 

8.4.1 多分类的原理 262

 

8.4.2 画出多分类的界线 266

 

8.5 小结 269

 

第9章 学会使用朴素贝叶斯 271

 

9.1 初步理解朴素贝叶斯 272

 

9.1.1 朴素贝叶斯定理的一些基本术语 272

 

9.1.2 朴素贝叶斯怎么得出属于某一类的概率 274

 

9.2 用scikit-learn做朴素贝叶斯分类 276

 

9.2.1 使用GuassianNB类做鸢尾花分类 276

 

9.2.2 使用MultinomialNB类和BernoulliNB类 278

 

9.3 小结 279

 

第10章 学习朴素贝叶斯背后的数学原理 281

 

10.1 理解朴素贝叶斯分类的数学原理 282

 

10.1.1 理解全概率公式并推导朴素贝叶斯公式 282

 

10.1.2 利用朴素的内涵再推演朴素贝叶斯公式 284

 

10.2 进一步说明scikit-learn中做朴素贝叶斯分类的类 285

 

10.2.1 再看GuassianNB类 285

 

10.2.2 再看MultinomialNB类和BernoulliNB类 287

 

10.3 做区分垃圾邮件和非垃圾邮件的项目实战 288

 

10.3.1 理解spambase数据集 288

 

10.3.2 使用3种朴素贝叶斯模型区分垃圾邮件和非垃圾邮件 289

 

10.4 小结 291

 

第11章 深入浅出贝叶斯的高级知识 292

 

11.1 会用有向图表达贝叶斯网络 293

 

11.1.1 深刻理解独立和互斥的概念 293

 

11.1.2 用有向无环图表达贝叶斯网络 294

 

11.1.3 理解贝叶斯网络的3种基本结构 296

 

11.1.4 打贝叶斯球来分析两个事件是否关联 299

 

11.2 使用pgmpy建模贝叶斯网络 301

 

11.2.1 安装pgmpy 301

 

11.2.2 构建某女士结交男友决策的贝叶斯网络 301

 

11.2.3 用贝叶斯网络做预测 308

 

11.2.4 让贝叶斯网络自动学习到条件概率表 310

 

11.3 小结 311

 

第12章 学会使用决策树 313

 

12.1 初步理解决策树 314

 

12.1.1 决策树中的一些专业术语 314

 

12.1.2 常见的3种决策树算法 315

 

12.2 用scikit-learn做决策树分类 315

 

12.2.1 用信息增益做分类 316

 

12.2.2 用基尼指数做分类 317

 

12.2.3 画出决策树 319

 

12.3 小结 321

 

第13章 学习决策树背后的数学原理 322

 

13.1 学会计算决策树的专业术语表示的量 323

 

13.1.1 计算信息熵 323

 

13.1.2 计算信息增益 326

 

13.1.3 计算信息增益比 328

 

13.1.4 计算基尼指数 328

 

13.1.5 计算基尼指数增加值 330

 

13.2 理解3种决策树算法 330

 

13.2.1 理解ID3决策树算法 330

 

13.2.2 scikit-learn库用信息增益生成决策树的算法 335

 

13.2.3 理解CART算法 339

 

13.2.4 用CART算法做分类 341

 

13.2.5 用CART算法做回归 342

 

13.3 深入学习用scikit-learn做决策树分类和回归 343

 

13.3.1 DecisionTreeClassifier类的方法和属性 343

 

13.3.2 DecisionTreeRegressor类的方法和属性 345

 

13.3.3 用决策树做鸢尾花分类 346

 

13.3.4 用决策树做房价回归分析 351

 

13.4 小结 355

 

第14章 深入浅出决策树的高级知识 357

 

14.1 学会选择和调节决策树模型的参数 358

 

14.1.1 用交叉验证法选择更好的参数 358

 

14.1.2 用GridSearchCV类调节参数模型 363

 

14.2 理解后剪枝的原理并做实现 367

 

14.2.1 后剪枝有哪些策略 367

 

14.2.2 后剪枝之MEP策略 368

 

14.2.3 后剪枝之REP策略 377

 

14.2.4 后剪枝之PEP策略 378

 

14.2.5 后剪枝之CCP策略 382

 

14.3 小结 386

 

第15章 学会使用支持向量机 388

 

15.1 初步理解支持向量机 389

 

15.1.1 线性支持向量机 389

 

15.1.2 非线性支持向量机 389

 

15.2 用scikit-learn做支持向量机分类 390

 

15.2.1 做线性分类 390

 

15.2.2 做非线性分类 392

 

15.3 小结 394

 

第16章 学习支持向量机背后的数学原理 395

 

16.1 学会计算距离 396

 

16.1.1 两点之间的距离 396

 

16.1.2 点到超平面的距离 398

 

16.1.3 函数距离和几何距离 402

 

16.2 学懂拉格朗日乘数法 402

 

16.2.1 用拉格朗日乘数法求等式约束下的极值 403

 

16.2.2 再次深刻理解梯度 406

 

16.2.3 用拉格朗日乘数法求不等式约束下的极值 408

 

16.2.4 用拉格朗日乘数法和KKT应对更复杂的情况 411

 

16.3 理解支持向量机的数学原理 413

 

16.3.1 从感知机谈起 414

 

16.3.2 感知机模型的感知策略 416

 

16.3.3 用感知机模型做鸢尾花的二分类 419

 

16.4 硬间隔支持向量机 424

 

16.4.1 构建出目标函数及约束不等式 425

 

16.4.2 用拉格朗日乘数法求解目标函数和约束不等式 427

 

16.5 小结 432

 

第17章 深入浅出支持向量机的高级知识 434

 

17.1 用SMO算法求解硬间隔支持向量机的λ 435

 

17.1.1 转化优化问题 436

 

17.1.2 迭代更新的办法 438

 

17.2 软间隔支持向量机 441

 

17.2.1 软间隔支持向量机的优化问题 441

 

17.2.2 迭代时对参数值的剪辑 443

 

17.2.3 求解其他参数值 445

 

17.2.4 求解软间隔支持向量机模型的步骤总结 446

 

17.2.5 合页损失函数 447

 

17.3 自己编程实现支持向量机 448

 

17.3.1 实现SMO算法 448

 

17.3.2 实现二分类应用 453

 

17.4 非线性支持向量机 455

 

17.4.1 理解非线性支持向量机的原理 455

 

17.4.2 学懂Mercer定理 458

 

17.4.3 最简单的线性核函数 458

 

17.4.4 多项式核函数 460

 

17.4.5 高斯核函数 461

 

17.4.6 Sigmoid核函数 464

 

17.5 用支持向量机做回归分析 465

 

17.5.1 理解支持向量回归的原理 465

 

17.5.2 用拉格朗日乘数法做推导 466

 

17.6 深入浅出用scikit-learn做分类和回归 467

 

17.6.1 熟悉线性支持向量机(LinearSVC) 467

 

17.6.2 熟悉非线性支持向量机(SVC) 468

 

17.6.3 熟悉线性向量回归(LinearSVR)和非线性回归(SVR) 469

 

17.6.4 调节非线性支持向量机的参数 469

 

17.6.5 调节非线性支持向量回归模型的参数 472

 

17.7 小结 474

 

第18章 学会使用KNN 476

 

18.1 理解KNN的基本原理 477

 

18.1.1 不用数学公式讲解KNN的原理 477

 

18.1.2 扩展到多分类和回归应用 477

 

18.1.3 怎么确定KNN模型的k值 478

 

18.2 用KNN做分类和回归 478

 

18.2.1 用KNN模型做鸢尾花分类 478

 

18.2.2 用KNN模型做房屋价格回归 480

 

18.3 小结 482

 

第19章 学习KNN背后的数学原理 483

 

19.1 理解KNN的数学原理 484

 

19.1.1 用KNN做分类的数学原理 484

 

19.1.2 有多个备选分类及样本数量不均衡问题的解决办法 485

 

19.1.3 用KNN做回归的数学原理 487

 

19.2 再次讨论距离的度量 487

 

19.2.1 欧几里得距离 488

 

19.2.2 曼哈顿距离和闵可夫斯基距离 488

 

19.2.3 夹角的余弦 489

 

19.2.4 杰卡德相似系数和杰卡德相似距离 489

 

19.3 利用搜索树加速查找 489

 

19.3.1 构建KD树 489

 

19.3.2 运用KD树找到k个近邻点 491

 

19.3.3 构建Ball树 496

 

19.3.4 运用Ball树找到k个近邻点 499

 

19.4 调节KNN模型的参数 501

 

19.4.1 熟悉KNeighborsClassifier类 501

 

19.4.2 调节KNeighborsClassifier模型的参数 502

 

19.4.3 熟悉KNeighborsRegressor类并学会调节参数 504

 

19.5 小结 506

 

后续学习建议 508

 

参考文献 509



机器学习涉及的知识特别多,令人应接不睱;实际工程应用非常广,令人不得不学。目前,很多高校开设了人工智能、大数据专业,很多企业也需要用到人工智能技术。人工智能、大数据基础的知识领域自然还是机器学习。于是,学习机器学习的人越来越多。

 

当前市面上已有不少有关机器学习的图书。有的浅尝辄止,一种模型三五页就讲完了,让人大致明白但又感觉不着地;有的满版公式,让人不得要领;有的只有理论讲解没有实例,让人不好动手练习。我觉得根据读者对知识的学习诉求和规律来写作图书可以解决这些问题。我把对机器学习有学习动机的读者分成三类:

 

1.会用即可的读者。这类读者的诉求是只要会用某个类库(如scikit-learn)建立简单的机器学习模型、能做数据分析和预测即可。针对这类读者,写一大堆数学公式没有意义。

 

2.想深入学习的读者。这类读者的诉求是要学懂每个模型的数学原理,会推导公式。这类读者得掌握微积分、线性代数、概率论、统计学这四门课程的知识。

 

3.想成为专家的读者。这类读者的诉求是要学习每种模型的高级知识,并能融会贯通地使用开发工具找到较为理想的模型参数。那就需要掌握一些更为复杂的数据结构、算法分析与设计知识,并能接受厚重的知识阅读量。

 

为了满足这三类读者的诉求,考虑到机器学习的模型众多,我不打算在本书中讲解所有的机器学习模型,而是针对机器学习中基础和关键的线性回归、逻辑回归、决策树、贝叶斯、支持向量机、KNN这六种模型来进行详细讲解,并采取如下的写法:

 

1.第1、2章用于打基础。讲解有关机器学习的基本概念,说明如何使用Python编程做简单的开发。

 

2.对每个模型分3章来讲解。第1章满足会用即可的读者;第2章满足想深入学习的读者;第3章满足想成为专家的读者。由于KNN模型相对简单一些,没有编写第3章。

 

3.每个模型均有实例讲解。有的使用scikit-learn库编程实现,有的自主编程实现。我认为理解了原理,完全可以自己编程实现,只是我们没有必要这么做。多数情况下,使用类库编程即可,理解原理则还能有目标地调节参数来找到更为理想的模型。

 

本书有三点特色:

 

1.语言表达轻快。我比较喜欢阅读文字表达像聊天的图书,自己写作也将运用这种风格,尽管可能会损失一点数学的严谨性。

 

2.模型讲解细致。对每个模型有关的数学知识、原理、公式推导都讲得很细致。

 

3.图表配备众多。一图决胜千里,能用图表达出原理就用图表达。全书一共配了280多幅插图和80多张表格。

 

如果读者能把本书通读下来,相信再去阅读有关某一种模型的专著和学术论文将会轻松很多,也将能看得懂满版的数学公式;而且用于工程实践也不会是难事,读者要做的更多的是分析业务场景的需求、构建模型所需的数据。

 

鉴于作者的水平有限,疏漏之处在所难免,敬请读者多批评、指教,我的邮箱是dengziyun@126.com,欢迎来信沟通交流。

 

感谢中国水利水电出版社万水分社的周春元副总经理,他经常和我探讨选题的写作、宣传和读者的需求,给了我创作的动力。感谢我的夫人黄婧女士,她承担了大量的家务及带孩子的事务,使得我有时间在工作之余进行创作。还要感谢参考文献中的很多作者及CSDN、博客园、知乎上的很多博主,他们的创作成果为我的写作提供了大量的参考资料。

 

本书的创作只是个开始,如果读者反馈写得还不错,我将继续创作讨论机器学习其他模型的图书。最后给出全书为三类读者准备的学习路线总图供阅读、参考。

 

为减轻读者购书成本,本书采用了黑白印刷,这可能导致某些图片的印刷效

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP