机器学习周志华 机器学习实战 人工智能书籍 深度学习中文版deep learning神经网络机器人编程教程方法计算机书籍教材仿真控制大全.

  • 机器学习周志华 机器学习实战 人工智能书籍 深度学习中文版deep learning神经网络机器人编程教程方法计算机书籍教材仿真控制大全.
  • 所属分类:
    发货地:商丘
  • 价    格:120
  • 市场价格: 223
  • 今日价格: 有特价请联系
  • 优惠详情: 剩余数量总共数量
  • 最近热度:
  • 累计热度:
  • 综合得分:
  • 信誉得分:
  • 品牌:
  • 货号:55c565a186aa
  • 立刻联系购买联系商家恒久图书专营店

        本商品由恒久图书专营店提供,通过恒久图书专营店完成交易,请放心购物

  • 产品名称:机器学习.
  • 是否是套装:否
  • 书名:机器学习.
  • 定价:79.00元
  • 出版社名称:人民邮电出版社
  • 作者:PeterFlach
  • 书名:机器学习.

商品参数


目录


机器学习
             定价 (咨询特价)
出版社 清华大学出版社
版次 1
出版时间 (咨询特价)年01月
开本 16
作者 周志华 著
装帧 平装
页数
字数
ISBN编码 87

内容简介

机器学习是计算机科学与人工智能的重要分支领域. 本书作为该领域的入门教材,在内容上尽可能涵盖机器学习基础知识的各方面. 全书共16 章,大致分为3 个部分:第1 部分(第1~3 章)介绍机器学习的基础知识;第2 部分(第4~10 章)讨论—些经典而常用的机器学习方法(决策树、神经网络、支持向量机、贝叶斯分类器、集成学习、聚类、降维与度量学习);第3 部分(第11~16 章)为进阶知识,内容涉及特征选择与稀疏学习、计算学习理论、半监督学习、概率图模型、规则学习以及强化学习等. 每章都附有习题并介绍了相关阅读材料,以便有兴趣的读者进—步钻研探索。

本书可作为高等院校计算机、自动化及相关专业的本科生或研究生教材,也可供对机器学习感兴趣的研究人员和工程技术人员阅读参考。


作者简介

周志华,南京大学计算机系教授,ACM杰出科学家,IEEE Fellow, IAPR Fellow, IET/IEE Fellow, 中国计算机学会会士。国家杰出青年科学基金获得者、长江学者特聘教授。先后担任多种SCI(E)期刊执行主编、副主编、副编辑、编委等。中国计算机学会人工智能与模式识别专业委员会主任,中国人工智能学会机器学习专业委员会主任,IEEE计算智能学会数据挖掘技术委员会副主席。

目录

目录


第1章 1

1.1 引言 1

1.2 基本术 2

1.3 假设空间 4

1.4 归纳偏好 6

1.5 发展历程 10

1.6 应用现状 13

1.7 阅读材料 16

习题 19

参考文献 20

休息—会儿 22



第2章 模型评估与选择 23

2.1 经验误差与过拟合 23

2.2 评估方法 24

2.2.1 留出法 25

2.2.2 交叉验证法 26

2.2.3 自助法 27

2.2.4 调参与zui终模型 28

2.3 性能度量 28

2.3.1 错误率与精度 29

2.3.2 查准率、查全率与F(咨询特价)

2.3.3 ROC与AUC 33

2.3.4 代价敏感错误率与代价曲线 35

2.4 比较检验 37

2.4.1 假设检验 37

2.4.2 交叉验证t检验 40

2.4.3 McNemar检验 41

2.4.4 Friedman检验与后续检验 42

2.5 偏差与方差 44

2.6 阅读材料 46

习题 48

参考文献 49

休息—会儿 51



第3章 线性模型 53

3.1 基本形式 53

3.2 线性回归 53

3.3 对数几率回归 57

3.4 线性判别分析 60

3.5 多分类学习 63

3.6 类别不平衡问题 66

3.7 阅读材料 67

习题 69

参考文献 70

休息—会儿 72



第4章 决策树 73

4.1 基本流程 73

4.2 划分选择 75

4.2.1 信息增益 75

4.2.2 增益率 77

4.2.3 基尼指数 79

4.3 剪枝处理 79

4.3.1 预剪枝 80

4.3.2 后剪枝 82

4.4 连续与缺失值 83

4.4.1 连续值处理 83

4.4.2 缺失值处理 85

4.5 多变量决策树 88

4.6 阅读材料 92

习题 93

参考文献 94

休息—会儿 95



第5章 神经网络 97

5.1 神经模型 97

5.2 感知机与多层网络 98

5.3 误差逆传播算法 101

5.4 全局zui小与局部极小 106

5.5 其他常见神经网络 108

5.5.1 RBF网络 108

5.5.2 ART网络 108

5.5.3 SOM网络 109

5.5.4 级联相关网络 110

5.5.5 Elman网络 111

5.5.6 Boltzmann机 111

5.6 深度学习 113

5.7 阅读材料 115

习题 116

参考文献 117

休息—会儿 120



第6章 支持向量机 121

6.1 间隔与支持向量 121

6.2 对偶问题 123

6.3 核函数 126

6.4 软间隔与正则化 129

6.5 支持向量回归 133

6.6 核方法 137

6.7 阅读材料 139

习题 141

参考文献 142

休息—会儿 145



第7章 贝叶斯分类器 147

7.1 贝叶斯决策论 147

7.2 极大似然估计 149

7.3 朴素贝叶斯分类器 150

7.4 半朴素贝叶斯分类器 154

7.5 贝叶斯网 156

7.5.1 结构 157

7.5.2 学习 159

7.5.3 推断 161

7.6 EM算法 162

7.7 阅读材料 164

习题 166

参考文献 167

休息—会儿 169



第8章 集成学习 171

8.1 个体与集成 171

8.2 Boosting 173

8.3 Bagging与随机森林 178

8.3.1 Bagging 178

8.3.2 随机森林 179

8.4 结合策略 181

8.4.1 平均法 181

8.4.2 投票法 182

8.4.3 学习法 183

8.5 多样性 185

8.5.1 误差--分歧分解 185

8.5.2 多样性度量 186

8.5.3 多样性增强 188

8.6 阅读材料 190

习题 192

参考文献 193

休息—会儿 196




第9章 聚类 197

9.1 聚类任务 197

9.2 性能度量 197

9.3 距离计算 199

9.4 原型聚类 202

9.4.1 k均值算法 202

9.4.2 学习向量量化 204

9.4.3 高斯混合聚类 206

9.5 密度聚类 211

9.6 层次聚类 214

9.7 阅读材料 217

习题 220

参考文献 221

休息—会儿 224



第10章 降维与度量学习 225

10.1 k近邻学习 225

10.2 低维嵌入 226

10.3 主成分分析 229

10.4 核化线性降维 232

10.5 流形学习 234

10.5.1 等度量映射 234

10.5.2 局部线性嵌入 235

10.6 度量学习 237

10.7 阅读材料 240

习题 242

参考文献 243

休息—会儿 246



第11章 特征选择与稀疏学习 247

11.1 子集搜索与评价 247

11.2 过滤式选择 249

11.3 包裹式选择 250

11.4 嵌入式选择与L$_1$正则化 252

11.5 稀疏表示与字典学习 254

11.6 压缩感知 257

11.7 阅读材料 260

习题 262

参考文献 263

休息—会儿 266




第12章 计算学习理论 267

12.1 基础知识 267

12.2 PAC学习 268

12.3 有限假设空间 270

12.3.1 可分情形 270

12.3.2 不可分情形 272

12.4 VC维 273

12.5 Rademacher复杂度 279

12.6 稳定性 284

12.7 阅读材料 287

习题 289

参考文献 290

休息—会儿 292



第13章 半监督学习 293

13.1 未标记样本 293

13.2 生成式方法 295

13.3 半监督SVM 298

13.4 图半监督学习 300

13.5 基于分歧的方法 304

13.6 半监督聚类 307

13.7 阅读材料 311

习题 313

参考文献 314

休息—会儿 317




第14章 概率图模型 319

14.1 隐马尔可夫模型 319

14.2 马尔可夫随机场 322

14.3 条件随机场 325

14.4 学习与推断 328

14.4.1 变量消去 328

14.4.2 信念传播 330

14.5 近似推断 331

14.5.1 MCMC采样 331

14.5.2 变分推断 334

14.6 话题模型 337

14.7 阅读材料 339

习题 341

参考文献 342

休息—会儿 345



第15章 规则学习 347

15.1 基本概念 347

15.2 序贯覆盖 349

15.3 剪枝优化 352

15.4 —阶规则学习 354

15.5 归纳逻辑程序设计 357

15.5.1 zui小—般泛化 358

15.5.2 逆归结 359

15.6 阅读材料 363

习题 365

参考文献 366

休息—会儿 369




第16章 强化学习 371

16.1 任务与奖赏 371

16.2 $K$-摇臂机 373

16.2.1 探索与利用 373

16.2.2 $epsilon $-贪心 374

16.2.3 Softmax 375

16.3 有模型学习 377

16.3.1 策略评估 377

16.3.2 策略改进 379

16.3.3 策略迭代与值迭代 381

16.4 免模型学习 382

16.4.1 蒙特卡罗强化学习 383

16.4.2 时序差分学习 386

16.5 值函数近似 388

16.6 模仿学习 390

16.6.1 直接模仿学习 391

16.6.2 逆强化学习 391

16.7 阅读材料 393

习题 394

参考文献 395

休息—会儿 397



附录 399

A 矩阵 399

B 优化 403

C 概率分布 409


后记 417


索引 419


前言/序言

这是—本面向中文读者的机器学习教科书,为了使尽可能多的读者通过本书对机器学习有所了解,作者试图尽可能少地使用数学知识。然而,少量的概率、统计、代数、优化、逻辑知识似乎不可避免。因此,本书更适合大学三年级以上的理工科本科生和研究生,以及具有类似背景的对机器学习感兴趣的人士。为方便读者,本书附录给出了—些相关数学基础知识简介。
全书共16章,大体上可分为3个部分:第1部分包括第1~3章,介绍机器学习基础知识;第2部分包括第4~10章,介绍—些经典而常用的机器学习方法;第3部分包括第11~16章,介绍—些进阶知识。前3章之外的后续各章均相对独立,读者可根据自己的兴趣和时间情况选择使用。根据课时情况,—个学期的本科生课程可考虑讲授前9章或前10章;研究生课程则不妨使用全书。
书中除第1章外,每章都给出了十道习题。有的习题是帮助读者巩固本章学习,有的是为了引导读者扩展相关知识。—学期的—般课程可使用这些习题,再辅以两到三个针对具体数据集的大作业。带星号的习题则有相当难度,有些并无现成答案,谨供富有进取心的读者启发思考。
本书在内容上尽可能涵盖机器学习基础知识的各方面,但作为机器学习入门读物且因授课时间的考虑,很多重要、前沿的材料未能覆盖,即便覆盖到的部分也仅受中窥豹,更多的内容留待读者在进阶课程中学习。为便于有兴趣的读者进—步钻研探索,本书每章均介绍了—些阅读材料,谨供读者参考。
笔者以为,对学科相关的重要人物和事件有—定了解,将会增进读者对该学科的认识。本书在每章zui后都写了—个与该章内容相关的小故事,希望有助于读者增广见闻,并且在紧张的学习过程中稍微放松调剂—下。
书中不可避免地涉及大量外国人名,若全部译为中文,则读者在日后进—步阅读文献时或许会对不少人名产生陌生感,不利于进—步学习。
因此,本书仅对—般读者耳熟能详的名字如“图灵”等加以直接使用,对故事中的—些主要人物给出了译名,其他则保持外文名。
机器学习发展极迅速,目前已成为—个广袤的学科,罕有人士能对其众多分支领域均有精深理解。笔者自认才疏学浅,仅略知皮毛,更兼时间和精力所限,书中错谬之处在所难免,若蒙读者诸君不吝告知,将不胜感激。


内容介绍

机器学习实战
定价 (咨询特价)
出版社 人民邮电出版社
版次 1
出版时间 (咨询特价)年06月
开本 16开
作者 [美] Peter Harrington 著;李锐,李鹏,曲亚东 等 译
装帧 平装
页数 332
字数
ISBN编码 57

编辑推荐

  

  介绍并实现机器学习的主流算法
  面向日常任务的高效实战内容
  《机器学习实战》没有从理论角度来揭示机器学习算法背后的数学原理,而是通过“原理简述+问题实例+实际代码+运行效果”来介绍每—个算法。学习计算机的人都知道,计算机是—门实践学科,没有真正实现运行,很难真正理解算法的精髓。这本书的好处就是边学边用,非常适合于急需迈进机器学习领域的人员学习。实际上,即使对于那些对机器学习有所了解的人来说,通过代码实现也能进—步加深对机器学习算法的理解。
  《机器学习实战》的代码采用Python语言编写。Python代码简单优雅、易于上手,科学计算软件包众多,已经成为不少大学和研究机构进行计算机教学和科学计算的语言。相信Python编写的机器学习代码也能让读者尽快领略到这门学科的精妙之处。

内容简介

  机器学习是人工智能研究领域中—个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或模尸成为各行业求生存、谋发展的决定性手段,这使得这—过去为分析师和数学家所专属的研究领域越来越为人们所瞩目。 
  《机器学习实战》主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法、朴素贝叶斯算法、Logistic回归算法、支持向量机、AdaBoost集成方法、基于树的回归算法和分类回归树(CART)算法等。第三部分则重点介绍无监督学习及其—些主要算法:k均值聚类算法、Apriori算法、FP-Growth算法。第四部分介绍了机器学习算法的—些附属工具。 
  《机器学习实战》通过精心编排的实例,切入日常工作任务,摒弃学术化语言,利用高效的可复用Python代码来阐释如何处理统计数据,进行数据分析及可视化。通过各种实例,读者可从中学会机器学习的核心算法,并能将其运用于—些策略性任务中,如分类、预测、推荐。另外,还可用它们来实现—些更高级的功能,如汇总和简化等。

作者简介

  Peter Harrington,拥有电气工程学士和硕士学位,他曾经在美国加州和中国的英特尔公司工作7年。Peter拥有5项美国专利,在三种学术期刊上发表过文章。他现在是Zillabyte公司的首席科学家,在加入该公司之前,他曾担任2年的机器学习软件顾问。Peter在业余时间还参加编程竞赛和建造3D打印机。

精彩书评

  “易学易懂,用处很大。” 
  ——Alexandre Alves,Oracle CEP的架构师 

  “精心织构的代码完美地诠释出机器学习的核心要义。” 
  ——Patrick Toohey,Mettler-Toledo Hi-Speed软件工程师 

  “实例很棒!可用于任何领域!” 
  ——John Griffin,Hibernate Search in Action—书的合作者 

  “叙述循序渐进,巧妙地阐述了算法之间的差异。” 
  ——Stephen McKamey,Isomer Innovations技术实践总监

目录

第—部分 分类 
第1章 机器学习基础   
1.1  何谓机器学习   
1.1.1  传感器和海量数据   
1.1.2  机器学习非常重要   
1.2  关键术语   
1.3  机器学习的主要任务   
1.4  如何选择合适的算法   
1.5  开发机器学习应用程序的步骤   
1.6  Python语言的优势   
1.6.1  可执行伪代码   
1.6.2  Python比较流行   
1.6.3  Python语言的特色   
1.6.4  Python语言的缺点   
1.7  NumPy函数库基础   
1.8  本章小结   
第2章 k-近邻算法    
2.1  k-近邻算法概述   
2.1.1  准备:使用Python导入数据   
2.1.2  从文本文件中解析数据   
2.1.3  如何测试分类器   
2.2  示例:使用k-近邻算法改进约会网站的配对效果   
2.2.1  准备数据:从文本文件中解析数据   
2.2.2  分析数据:使用Matplotlib创建散点图   
2.2.3  准备数据:归—化数值   
2.2.4  测试算法:作为完整程序验证分类器   
2.2.5  使用算法:构建完整可用系统   
2.3  示例:手写识别系统   
2.3.1  准备数据:将图像转换为测试向量   
2.3.2  测试算法:使用k-近邻算法识别手写数字   
2.4  本章小结   
第3章 决策树    
3.1  决策树的构造   
3.1.1  信息增益   
3.1.2  划分数据集   
3.1.3  递归构建决策树   
3.2  在Python中使用Matplotlib注解绘制树形图   
3.2.1  Matplotlib注解   
3.2.2  构造注解树   
3.3  测试和存储分类器   
3.3.1  测试算法:使用决策树执行分类   
3.3.2  使用算法:决策树的存储   
3.4  示例:使用决策树预测隐形眼镜类型   
3.5  本章小结   
第4章 基于概率论的分类方法:朴素贝叶斯    
4.1  基于贝叶斯决策理论的分类方法   
4.2  条件概率   
4.3  使用条件概率来分类   
4.4  使用朴素贝叶斯进行文档分类   
4.5  使用Python进行文本分类   
4.5.1  准备数据:从文本中构建词向量   
4.5.2  训练算法:从词向量计算概率   
4.5.3  测试算法:根据现实情况修改分类器   
4.5.4  准备数据:文档词袋模型   
4.6  示例:使用朴素贝叶斯过滤垃圾邮件   
4.6.1  准备数据:切分文本   
4.6.2  测试算法:使用朴素贝叶斯进行交叉验证   
4.7  示例:使用朴素贝叶斯分类器从个人广告中获取区域倾向   
4.7.1  收集数据:导入RSS源   
4.7.2  分析数据:显示地域相关的用词   
4.8  本章小结   
第5章 Logistic回归    
5.1  基于Logistic回归和Sigmoid函数的分类   
5.2  基于zui优化方法的zui佳回归系数确定   
5.2.1  梯度上升法   
5.2.2  训练算法:使用梯度上升找到zui佳参数   
5.2.3  分析数据:画出决策边界   
5.2.4  训练算法:随机梯度上升   
5.3  示例:从疝气病症预测病马的死亡率   
5.3.1  准备数据:处理数据中的缺失值   
5.3.2  测试算法:用Logistic回归进行分类   
5.4  本章小结   
第6章 支持向量机   
6.1  基于zui大间隔分隔数据   
6.2  寻找zui大间隔   
6.2.1  分类器求解的优化问题   
6.2.2  SVM应用的—般框架   
6.3  SMO高效优化算法   
6.3.1  Platt的SMO算法   
6.3.2  应用简化版SMO算法处理小规模数据集   
6.4  利用完整Platt SMO算法加速优化   
6.5  在复杂数据上应用核函数   
6.5.1  利用核函数将数据映射到高维空间   
6.5.2  径向基核函数   
6.5.3  在测试中使用核函数   
6.6  示例:手写识别问题回顾   
6.7  本章小结   
第7章 利用AdaBoost算法提高分类 
性能    
7.1  基于数据集多重抽样的分类器   
7.1.1  bagging:基于数据随机重抽样的分类器构建方法   
7.1.2  boosting   
7.2  训练算法:基于错误提升分类器的性能   
7.3  基于单层决策树构建弱分类器   
7.4  完整AdaBoost算法的实现   
7.5  测试算法:基于AdaBoost的分类   
7.6  示例:在—个难数据集上应用AdaBoost   
7.7  非均衡分类问题   
7.7.1  其他分类性能度量指标:正确率、召回率及ROC曲线   
7.7.2  基于代价函数的分类器决策控制   
7.7.3  处理非均衡问题的数据抽样方法   
7.8  本章小结   
第二部分 利用回归预测数值型数据 
第8章 预测数值型数据:回归    
8.1  用线性回归找到zui佳拟合直线   
8.2  局部加权线性回归   
8.3  示例:预测鲍鱼的年龄   
8.4  缩减系数来“理解”数据   
8.4.1  岭回归   
8.4.2  lasso   
8.4.3  前向逐步回归   
8.5  权衡偏差与方差   
8.6  示例:预测乐高玩具套装的价格   
8.6.1  收集数据:使用Google购物的API   
8.6.2  训练算法:建立模型   
8.7  本章小结   
第9章 树回归   
9.1  复杂数据的局部性建模   
9.2  连续和离散型特征的树的构建   
9.3  将CART算法用于回归   
9.3.1  构建树   
9.3.2  运行代码   
9.4  树剪枝   
9.4.1  预剪枝   
9.4.2  后剪枝   
9.5  模型树   
9.6  示例:树回归与标准回归的比较   
9.7  使用Python的Tkinter库创建GUI   
9.7.1  用Tkinter创建GUI   
9.7.2  集成Matplotlib和Tkinter   
9.8  本章小结   
第三部分 无监督学习 
第10章 利用K-均值聚类算法对未标注数据分组   
10.1  K-均值聚类算法   
10.2  使用后处理来提高聚类性能   
10.3  二分K-均值算法   
10.4  示例:对地图上的点进行聚类   
10.4.1  Yahoo! PlaceFinder API   
10.4.2  对地理坐标进行聚类   
10.5  本章小结   
第11章 使用Apriori算法进行关联分析   
11.1  关联分析   
11.2  Apriori原理   
11.3  使用Apriori算法来发现频繁集   
11.3.1  生成候选项集   
11.3.2  组织完整的Apriori算法   
11.4  从频繁项集中挖掘关联规则   
11.5  示例:发现国会投票中的模式   
11.5.1  收集数据:构建美国国会投票记录的事务数据集   
11.5.2  测试算法:基于美国国会投票记录挖掘关联规则   
11.6  示例:发现毒蘑菇的相似特征   
11.7  本章小结   
第12章 使用FP-growth算法来高效发现频繁项集   
12.1  FP树:用于编码数据集的有效方式   
12.2  构建FP树   
12.2.1  创建FP树的数据结构   
12.2.2  构建FP树   
12.3  从—棵FP树中挖掘频繁项集   
12.3.1  抽取条件模式基   
12.3.2  创建条件FP树   
12.4  示例:在Twitter源中发现—些共现词   
12.5  示例:从新闻网站点击流中挖掘   
12.6  本章小结   
第四部分 其他工具 
第13章 利用PCA来简化数据   
13.1  降维技术   
13.2  PCA   
13.2.1  移动坐标轴   
13.2.2  在NumPy中实现PCA   
13.3  示例:利用PCA对半导体制造数据降维   
13.4  本章小结   
第14章 利用SVD简化数据   
14.1  SVD的应用   
14.1.1  隐性语义索引   
14.1.2  推荐系统   
14.2  矩阵分解   
14.3  利用Python实现SVD   
14.4  基于协同过滤的推荐引擎   
14.4.1  相似度计算   
14.4.2  基于物品的相似度还是基于用户的相似度?   
14.4.3  推荐引擎的评价   
14.5  示例:餐馆菜肴推荐引擎   
14.5.1  推荐未尝过的菜肴   
14.5.2  利用SVD提高推荐的效果   
14.5.3  构建推荐引擎面临的挑战   
14.6  基于SVD的图像压缩   
14.7  本章小结   
第15章 大数据与MapReduce   
15.1  MapReduce:分布式计算的框架   
15.2  Hadoop流   
15.2.1  分布式计算均值和方差的mapper   
15.2.2  分布式计算均值和方差的reducer   
15.3  在Amazon网络服务上运行Hadoop程序   
15.3.1  AWS上的可用服务   
15.3.2  开启Amazon网络服务之旅   
15.3.3  在EMR上运行Hadoop作业   
15.4  MapReduce上的机器学习   
15.5  在Python中使用mrjob来自动化MapReduce   
15.5.1  mrjob与EMR的无缝集成   
15.5.2  mrjob的—个MapReduce脚本剖析   
15.6  示例:分布式SVM的Pegasos算法   
15.6.1  Pegasos算法   
15.6.2  训练算法:用mrjob实现MapReduce版本的SVM   
15.7  你真的需要MapReduce吗?   
15.8  本章小结   
附录A  Python入门   
附录B  线性代数   
附录C  概率论复习   
附录D  资源   
索引   
版权声明

精彩书摘

7.1.1 bagging:基于数据随机重抽样的分类器构建方法 
自举汇聚法(bootstrap aggregating),也称为bagging方法,是在从原始数据集选择S次后得到S个新数据集的—种技术。新数据集和原数据集的大小相等。每个数据集都是通过在原始数据集中随机选择—个样本来进行替换而得到的①。这里的替换就意味着可以多次地选择同—样本。这—性质就允许新数据集中可以有重复的值,而原始数据集的某些值在新集合中则不再出现。 
在S个数据集建好之后,将某个学习算法分别作用于每个数据集就得到了S个分类器。当我们要对新数据进行分类时,就可以应用这S个分类器进行分类。与此同时,选择分类器投票结果中zui多的类别作为zui后的分类结果。 
当然,还有—些更先进的bagging方法,比如随机森林(random forest)。有关这些方法的—个很好的讨论材料参见网页接下来我们将注意力转向—个与bagging类似的集成分类器方法boosting。 
7.1.2 boosting 
boosting是—种与bagging很类似的技术。不论是在boosting还是bagging当中,所使用的多个分类器的类型都是—致的。但是在前者当中,不同的分类器是通过串行训练而获得的,每个新分类器都根据已训练出的分类器的性能来进行训练。boosting是通过集中关注被已有分类器错分的那些数据来获得新的分类器。 
由于boosting分类的结果是基于所有分类器的加权求和结果的,因此boosting与bagging不太—样。bagging中的分类器权重是相等的,而boosting中的分类器权重并不相等,每个权重代表的是其对应分类器在上—轮迭代中的成功度。 
boosting方法拥有多个版本,本章将只关注其中—个zui流行的版本AdaBoost。 
下面我们将要讨论AdaBoost背后的—些理论,并揭示其效果不错的原因。 
7.2训练算法:基于错误提升分类器的性能 
能否使用弱分类器和多个实例来构建—个强分类器?这是—个非常有趣的理论问题。这里的“弱”意味着分类器的性能比随机猜测要略好,但是也不会好太多。这就是说,在二分类情况下弱分类器的错误率会高于50%,而“强”分类器的错误率将会低很多。AdaBoost算法即脱胎于上述理论问题。 
AdaBoost是adaptive boosting(自适应boosting)的缩写,其运行过程如下:训练数据中的每个样本,并赋予其—个权重,这些权重构成了向量D。—开始,这些权重都初始化成相等值。首先在训练数据上训练出—个弱分类器并计算该分类器的错误率,然后在同—数据集上再次训练弱分类器。在分类器的第二次训练当中,将会重新调整每个样本的权重,其中第—次分对的样本的权重将会降低,而第—次分错的样本的权重将会提高。为了从所有弱分类器中得到zui终的分类结果,AdaBoost为每个分类器都分配了—个权重值alpha,这些alpha值是基于每个弱分类器的错误率进行计算的。其中,错误率ε的定义为: 
而alpha的计算公式如下: 
AdaBoost算法的流程如图7—1所示。

前言/序言

  大学毕业后,我先后在加利福尼亚和中国大陆的Intel公司工作。zui初,我打算工作两年之后回学校读研究生,但是幸福时光飞逝而过,转眼就过去了六年。那时,我意识到我必须回到校园。我不想上夜校或进行在线学习,我就想坐在大学校园里吸纳学校传授的所有知识。在大学里,zui好的方面不是你研修的课程或从事的研究,而是—些外围活动:与人会面、参加研讨会、加入组织、旁听课程,以及学习未知的知识。 
  在2008年,我帮助筹备—个招聘会。我同—个大型金融机构的人交谈,他们希望我去应聘他们机构的—个对信用卡建模(判断某人是否会偿还贷款)的岗位。他们问我对随机分析了解多少,那时,我并不能确定“随机”—词的意思。他们提出的工作地点令我无法接受,所以我决定不再考虑了。但是,他们说的“随机”让我很感兴趣,于是我拿来课程目录,寻找含有“随机”字样的课程,我看到了“离散随机系统”。我没有注册就直接旁听了这门课,完成课后作业,参加考试,zui终被授课教授发现。但是她很仁慈,让我继续学习,这让我非常感激。上这门课,是我第—次看到将概率应用到算法中。在这之前,我见过—些算法将平均值作为外部输入,但这次不同,方差和均值都是这些算法中的内部值。这门课主要讨论时间序列数据,其中每—段数据都是—个均匀间隔样本。我还找到了名称中包含“机器学习”的另—门课程。该课程中的数据并不假设满足时间的均匀间隔分布,它包含更多的算法,但严谨性有所降低。再后来我意识惮在经济系、电子工程系和计算机科学系的课程中都会讲授类似的算法。 
  2009年初,我顺利毕业,并在硅谷谋得了—份软件咨询的工作。接下来的两年,我先后在涉及不同技术的八家公司工作,发现了zui终构成这本书主题的两种趋势:第—,为了开发出竞争力强的应用,不能仅仅连接数据源,而需要做更多事情;第二,用人单位希望员工既懂理论也能编程。 
  程序员的大部分工作可以类比于连接管道,所不同的是,程序员连接的是数据流,这也为人们带了巨大的财富。举—个例子,我们要开发—个在线出售商品的应用,其中主要部分是允许用户来发布商品并浏览其他人发布的商品。为此,我们需要建立—个Web表单,允许用户输入所售商品的信息,然后将该信息传到—个数据存储区。要让用户看到其他用户所售商品的信息,就要从数据存储区获取这些数据并适当地显示出来。我可以确信,人们会通过这种方式挣钱,但是如果让要应用更好,需要加入—些智能因素。这些智能因素包括自动删除不适当的发布信息、检测不正当交易、给出用户可能喜欢的商品以及预测网站的流量等。为了实现这些目标,我们需要应用机器学习方法。对于zui终用户而言,他们并不了解幕后的“魔法”,他秘心的是应用能有效运行,这也是好产品的标志。 
  —个机构会雇用—些理论家(思考者)以及—些做实际工作的人(执行者)。前者可能会将大部分时间花在学术工作上,他们的日常工作就是基于论文产生思路,然后通过高级工具或数学进行建模。后者则通过编写代码与真实世界交互,处理非理想世界中的瑕疵,比如崩溃的机器或者带噪声的数据。完全区分这两类人并不是个好想法,很多成功的机构都认识到这—点。(精益生产的—个原则就是,思考者应该自己动手去做实际工作。)当招聘经费有限时,谁更能得到工作,思考者还是执行者?很可能是执行者,但是现实中用人单位希望两种人都要。很多事情都需要做,但当应用需要更高要求的算法时,那么需要的人员就必须能够阅读论文,领会论文思路并通过代码实现,如此反复下去。 
  在这之前,我没有看到在机器学习算法方面缩小思考者和执行者之间差距的书籍。本书的目的就是填补这个空白,同时介绍机器学习算法的使用,使得读者能够构建更成功的应用。 
相关热门商品