安居多伦多
  • 多市生活
    • 多市生活
    • 加国税务
    • 旅游度假
    • 生活安全
    • 行车安全
    • 窍门集锦
  • 多市书苑
    • 热门
    • 小说
    • 教育
  • 家居信息
    • 家居信息
    • 房屋保养
    • 房屋贷款
    • 房屋租赁
    • 房屋建筑
    • 房前屋后
    • 家居风水
  • 健康保健
    • 健康保健
    • 饮食起居
    • 食品安全
    • 健身锻炼
  • 书苑账户
    • 书苑登入
    • 书苑注册
    • 忘记书苑密码
    • 书苑账户信息
    • 关于我们
    • 联系我们
    • 隐私政策
多伦多书苑
在线书籍:随时阅读,随身听书。
所有书籍 | 人文 | 人物 | 人生 | 健康 | 儿童 | 医学 | 历史 | 历史 | 古典 | 哲学宗教 | 商业 | 外国 | 寓言 | 小说 | 教育 | 风水 | 管理 | 语言 |
为使本公益资源网站能继续提供免费阅读,请勿屏蔽广告。谢谢!报告弹出广告被滥用。
  1. 安居多伦多
  2. 网上书苑
  3. IT
  4. Python
  5. Python机器学习——预测分析核心算法

Python机器学习——预测分析核心算法

2022-02-18 0人点赞 0条评论
点赞
x
语速1.0: 2.0
进度0:

上一页   |   返回目录   |   下一页

1.1 为什么这两类算法如此有用

有几个因素造就了惩罚线性回归和集成方法成为有用的算法集。简单地说,面对实践中遇到的绝大多数预测分析(函数逼近)问题,这两类算法都具有最优或接近最优的性能。

这些问题包含:大数据集、小数据集、宽数据集(wide data sets)①、高瘦数据集(tall skinny data sets)②、复杂问题、简单问题,等等。Rich Caruana及其同事的两篇论文为上述论断提供了证据。

1.“An Empirical Comparison of Supervised Learning Algorithms,” Rich Caruana,Alexandru Niculescu-Mizi。

2.“An Empirical Evaluation of Supervised Learning in High Dimensions,” Rich Caruana, Nikos Karampatziakis 和 Ainur Yessenalina。


    ① 宽数据集(wide data set)指每次观测时有大量的测量项,但是观测次数有限的数据。若把数据看成表格形式,则此类数据集列数很多,而行数有限。典型的此类数据集包括神经影像、基因组以及其他生物医学方面的。——译者注。
    ② 高瘦数据集(tall skinny data set)指每次观测时测量项有限,但是进行了大量的观测。若把数据看成表格的形式,则此类数据集列数有限,行数很多。典型的此类数据集包括临床试验数据、社交网络数据等。——译者注。

在这两篇论文中,作者选择了各种分类问题,用各种不同的算法来构建预测模型。然后测试这些预测模型在测试数据中的效果,这些测试数据当然不能应用于模型的训练阶段,对这些算法根据性能进行打分。第一篇论文针对 11 个不同的机器学习问题(二元分类问题)对比了 9 个基本算法。所选问题来源广泛,包括人口统计学、文本处理、模式识别、物理学和生物学。表 1-1 列出了此篇论文所用的数据集,所用名字与论文中的一致。此表还展示了针对每个数据集做预测时使用了多少属性(特征)以及正例所占的百分比。

术语“正例”(positive example)在分类问题中是指一个实验(输入数据集中的一行数据)其输出结果是正向的(positive)。例如,如果设计的分类器是判断雷达返回信号是否表明出现了一架飞机,那么正例则是指在雷达视野内确实有一架飞机的那些结果。正例这个词来源于这样的例子:两个输出结果分别代表出现或不出现。其他例子还包括在医学检测中某种疾病出现或不出现,退税中是否存在欺骗。

不是所有的分类问题都处理出现或不出现的问题。例如通过计算机分析一个作家发表的作品或者其手写体的样本来判断此人的性别:男性或女性,在这里性别的出现或不出现是没有什么意义的。在这些情况下,指定哪些为正例、哪些为负例则有些随意,但是一旦选定,在使用中要保持一致。

在第 1 篇论文的某些数据集中,某一类的数据(例子)要远多于其他类的数据(例子),这叫作非平衡(unbalanced)。例如,2 个数据集 Letter.p1 和 Letter.p2. 都是用于解决相似的问题:在多种字体下正确地分出大写字母。Letter.p1 的任务是在标准字母的混合集中正确区分出大写字母 O,Letter.p2 的任务是将字母正确划分成 A-M 和 N-2 的两类。表 1-1中的“正例百分比”一栏反映了这种数据非平衡的差异性。

表 1-1 机器学习算法比较研究中问题的梗概

数据集名称

属 性 数

正例百分比

Adult

14

25

Bact

11

69

Cod

15

50

Calhous

9

52

Cov_Type

54

36

HS

200

24

Letter.p1

16

3

Letter.p2

16

53

Medis

63

11

Mg

124

17

Slac

59

50

表 1-1 还显示了每个数据集所使用的属性(特征)的数量。特征就是基于此进行预测的变量。例如,预测一架飞机能否按时到达目的地,可能导入下列属性(特征):航空公司的名字、飞机的制造商和制造年份、目的地机场的降水量和航线上的风速与风向等等。基于很多特征做预测很可能是一件很难说清楚是福还是祸的事情。如果导入的特征与预测结果直接相关,那么当然是一件值得祝福的事情。但是如果导入的特征与预测结果无关,就是一件该诅咒的事情了。那么如何区分这两种属性(该祝福的属性、该诅咒的属性)则需要数据来说话。第 3 章将进行更深入的讨论。

本书涵盖的算法与上述论文中提到的其他算法的比较结果如表 1-2 所示。针对表 1-1列出的问题,表 1-2 列出了性能打分排前 5 名的算法。本书涵盖的算法脱颖而出(提升决策树(Boosted Decision Trees)、随机森林(Random Forests)、投票决策树(Bagged Decision Trees)和逻辑回归(Logistic Regression)。前 3 个属于集成方法。在那篇论文撰写期间惩罚回归还没有获得很好的发展,因此在论文中没有对此进行评价。逻辑回归是属于与之相对比较接近的算法,可以用来评测回归算法的性能。对于论文中的 9 个算法各有 3种数据规约方法,所以一共是 27 种组合。前 5 名大概占据性能评分排名的前 20%。第 1 行针对 Covt 数据集的算法排名可以看到:提升决策树算法占第 1 名、第 2 名;随机森林算法占第 4 名、第 5 名;投票决策树算法占第 3 名。出现在前 5 名但是本书没有涵盖的算法在最后一列列出(“其他”列)。表中列出的算法包括:K 最近邻(K Nearest Neighbors, KNNs)、人工神经网络(artificial neural nets, ANNs)、支持向量机(support vector machine, SVMs)。

表 1-2 本书涵盖的机器学习算法针对不同问题的性能表现

算法

提升决策树

随机森林

投票决策树

逻辑回归

其他

Covt

1, 2

4, 5

3

Adult

1, 4

2

3, 5

LTR.P1

1

支持向量机
K最近邻

LTR.P2

1, 2

4, 5

支持向量机

MEDIS

1,3

5

人工神经网络

SLAC

1,2,3

4, 5

HS

1, 3

人工神经网络

MG

2, 4, 5

1, 3

CALHOUS

1, 2

5

3, 4

COD

1, 2

3, 4, 5

BACT

2, 5

1, 3, 4

在表 1-2 中,逻辑回归只在一个数据集下进入前 5。原因是针对表 1-2 中的数据集规模及其所选的特征,不能体现逻辑回归的优势。相对于数据集的规模(每个数据集有 5 000个示例)采用的特征太少了(最多也就 200 个)。选取的特征有限,因此现有的数据规模足以选出一个合适的预测模型,而且训练数据集规模又足够小,使得训练时间不至太长,因此其他算法也可以获得很好的结果。

注意 正如将在第 3 章、第 5 章和第7 章中所看到的那样,当数据含有大量的特征,但是没有足够多的数据或时间来训练更复杂的集成方法模型时,惩罚回归方法将优于其他算法。

Caruana 等人的最新研究(2008 年)关注在特征数量增加的情况下,上述算法的性能。

也就是说这些算法面对大数据表现如何。有很多领域的数据拥有的特征已远远超过了第一篇论文中的数据集的规模。例如,基因组问题通常有数以万计的特征(一个基因对应一个特征),文本挖掘问题通常有几百万个特征(每个唯一的词或词对对应一个特征)。线性回归和集成方法随着特征增加的表现如表 1-3 所示。表 1-3 列出了第 2 篇论文中涉及的算法的评分情况,包括算法针对每个问题的性能得分,最右列是此算法针对所有问题的平均得分。算法分成 2 组,上半部分是本书涵盖的算法,下半部分是其他算法。表 1-3 中的算法依次为:BSTDT(Boosted Decision Tress)- 提升决策树;RF(Random Forests)- 随机森林;BAGDT(Bagged Decision Trees)- 投票决策树;BSTST(Boosted Stumps)- 提升二叉树:LR(Logistic Regression)- 逻辑回归;SVM(Support Vector Machines)- 支持向量机;ANN(Artificial Neural Nets)- 人工神经网络;KNN(Distance Weighted kNN)- 距离加权K 最近邻;PRC(Voted Perceptrons)- 表决感知器;NB(Naive Bayes)- 朴素贝叶斯。NB(Naive Bayes)- 朴素贝叶斯。

表 1-3 中的问题是依其特征规模依次排列的,从 761 个特征到最终的 685569 个特征。

线性(逻辑)回归在 11 个测试中的 5 个进入前 3。而且这些优异的分数主要集中在更大规模的数据集部分。注意提升决策树(表 1-3 标为 BSTDT)和随机森林(表 1-3 标为RF)其表现仍然接近最佳。它们针对所有问题的平均得分排名第 1、第 2。

表 1-3 本书涵盖的机器学习算法面对大数据问题的性能

特征维度

STURN

CALAM

DIGITS

TIS

CRYST

KDD98

R-S

CITE

DSE

SPAM

IMDB

MEAN

BSTDT

8

1

2

6

1

3

8

1

7

6

3

1

RF

9

4

3

3

2

1

6

5

3

1

3

2

BAGDT

5

2

6

4

3

1

9

1

6

7

3

4

BSTST

2

3

7

7

7

1

7

4

8

8

5

7

LR

4

8

9

1

4

1

2

2

2

4

4

6

SVM

3

5

5

2

5

2

1

1

5

5

3

3

ANN

6

7

4

5

8

1

4

2

1

3

3

5

KNN

1

6

1

9

6

2

10

1

7

9

6

8

PRC

7

9

8

8

7

1

3

3

4

2

2

9

NB

10

10

10

10

9

1

5

1

9

10

7

10

本书涵盖的算法除了性能外,在其他方面也有优势。惩罚线性回归模型一个重要优势就是它训练所需时间。当面对大规模的数据时,训练所需时间就成为一个需要考量的因素。某些问题的模型训练可能需要几天到几周,这往往是不能忍受的,特别是在开发早期,需要尽早在多次迭代之后找到最佳的方法。惩罚线性回归方法除了训练时间特别快,部署已训练好的模型后进行预测的时间也特别快,可用于高速交易、互联网广告的植入等。研究表明惩罚线性回归在许多情况下可以提供最佳的答案,在即使不是最佳答案的情况下,也可以提供接近最佳的答案。

而且这些算法使用十分简单,可调参数不多,都有定义良好、结构良好的输入数据类型。它们可以解决回归和分类的问题。当面临一个新问题的时候,在 1 ~ 2 小时内完成输入数据的处理、训练模型、输出预测结果是司空见惯的。

这些算法的一个最重要特性就是可以明确地指出哪个输入变量(特征)对预测结果最重要。这已经成为机器学习算法一个无比重要的特性。在预测模型构建过程中,最消耗时间的一步就是特征提取(feature selection)或者叫作特征工程(feature engineering)。就是数据科学家选择哪些变量用于预测结果的过程。根据对预测结果的贡献程度对特征打分,本书涵盖的算法在特征提取过程中可以起到一定的辅助作用,这样可以抛掉一些主观臆测的东西,让预测过程更有一定的确定性。

上一页   |   返回目录   |   下一页

类似书籍

Python机器学习手册:从数据预处理到深度学习
Python机器学习手册:从数据预处理到深度学习
Python机器学习实践指南
Python机器学习实践指南
机器学习实战
机器学习实战
Author:

标签: 暂无
最后更新:2022-02-18
< 上一篇
下一篇 >

本书评论

取消回复

©2021 安居多伦多 - 版权所有

本站由 好事来 Hostlike.com 提供技术支持。