绪论¶
1.2 基本术语¶
- 数据集(data set)
- 示例(instance), 样例(sample)
- 属性(attribute),特征(feature)
- 属性值(attribute value)
- 属性空间(attribute space), 样本空间(sample space)
- 特征向量(feature vector)
- 假设(hypothesis)
- 真相(ground-truth)
- 学习器(learner)
- 标记(label)
- 样例(example)
- 标记空间(label space)
- 分类(classification),回归(regression)
- 聚类(clustering),簇(cluster)
-
监督学习(supervised learning), 无监督学习(unsupervised learning)
-
根据训练数据是否拥有标记信息,学习任务可大致划分为两大类。分类和回归是前者的代表,聚类是后者的代表。
1.3 假设空间¶
-
归纳学习
-
侠义上是概念学习,最基本的是布尔概念学习
-
搜索过程中可以不断删除与正例不一致的假 设、和(或)与反例→致的假设.最终将会获得与训练集一致(即对所有训练样本 能够进行正确判断)的假设,这就是我们学得的结果。即存在着一个与 训练集一致的"假设集合",我们称之为"版本空间" (version space).
1.4 归纳偏好¶
-
奥卡姆剃刀:若有多个假设与观察一致,则选最简单的那个
-
对于一个学习算法A,若它在某些问题上比学习算法B好,则必然存在另一些问题,在那里B比A好。有趣的是,这个结论对任何算法均成立
-
NFL定理,天下没有免费的午餐
-
-
无论算法A多聪明,算法B多笨拙,他们的期望性能是相同的。
-
NFL 定理有一个重要前提:所有"问题"出现的机会相 同、或所有问题同等重要.但实际情形并不是这样.很多时候,我们只关注自己正在试图解决的问题(例如某个具体应用任务),希望为它找到一个解决方案, 至于这个解决方案在别的问题、甚至在相似的问题上是否为好方案,我们并不关心.
- 学习算法自身的归纳偏好与问题是否相配,往往会起到决定性的作用.
1.5 发展历程¶
- 推理期
- 知识期
-
学习期
-
连接主义
- 符号主义
- 统计学习
-
支持向量机(Support Vector Machine,简称 SVM) 以及更一般的"核方法" (kernel methods).
-
21世纪
-
深度学习
-
数据挖掘
-
数据挖掘与机器学习的联系.数据挖掘领域在二十世纪九十年 代形成,它受到很多学科领域的影响,其中数据库、机器学习、统计学无疑影 响最大. 数据挖掘是从海量数据中发掘知识,这就必然涉及对"海量数据"的管理和分析.大体来说,数据库领域的研究为数据挖掘提供数据管 理技术?而机器学习和统计学的研究为数据挖掘提供数据分析技术.由于统计学界的研究成果通常需要经由机器学习研究来形成有效的学习算法,之后再进入数据挖掘领域,因此从这个意义上说,统计学主要是通过机器学习对数据挖掘发挥影响,而机器学习领域和数据库领域则是数据挖掘的两大支撑.
1.6 课后题¶
- 上文默认使用了"分类错 误率"作为性能度量来对分类器进行评估,若换用其他性能度量,试证明仍然成立。
所以也成立,注意这里暗含了条件。
2 模型评估与选择¶
2.1 经验误差与过拟合¶
-
经验误差和泛化误差
-
我们把 学习器的实际预测输出与样本的真实输出之间的差异称为"误差" (error), 学习器在训练集上的误差称为"训练误差" (training error)或"经验误 差" (empirical error) ,在新样本上的误差称为"泛化误差" (generalization error).
-
过拟合
-
当学习器把训练样本学得"太 好"了的时候,很可能巳经把训练样本自身的一些特点当作了所有潜在样本都 会具有的一般性质,这样就会导致泛化性能下降。与"过拟合"相对的是"欠拟合(underfitting),这 是指对训练样本的一般性质尚未学好
- 证明:
-
机器学习面临的问题通常是 NP 难甚至更难,而有效的学习算法必然是在多项式时间内运行完成,若可彻底避免过拟合, 则通过经验误差最小化就能获最优解,这就意 味着我们构造性地证明了 "P=NP" ;因此只要相信 "p != NP" ,过拟合就不可避免
-
错误率和精度
-
2.2 评估方法¶
2.2.1 留出法¶
- 使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作 为留出法的评估结果.
2.2.2 交叉验证法¶
- 留一法
2.2.3 自助法¶
- 给定包含 m 个样 本的数据集D , 我们对它进行采样产生数据集 D': 每次随机从D 中挑选一个 样本将其拷贝放入D'然后再将该样本放回初始数据集 D 中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行 m 次后我们就得到了包含m个样本的数据集 D',这就是自助采样的结果。
- 由于, 所以有1/3的样本没有出现在训练集。实际评估的模型与期望评估的模型都使用 m 个训练样本,而我们仍有数据总量约 1/3 的、没在训 练集中出现的样本用于测试。
- 自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差。在数据集较小、难以有效划分训练/测试集时很有用;
2.3 性能度量¶
- 衡量模型泛化能力的评价标准,这就是性能度量(performance measure).
-
均方误差:
-
2.3.1 错误率与精度¶
- 样例集D
- 数据分布
2.3.2 查准率、查全率、F1¶
-
查准率、查全率
-
查准率:检索出的信息中有多少比例是用户感兴趣的
-
查全率:用户感兴趣的信息中有多少被检索出来了
-
真正例(true positive)、假正例(false positive)、真反倒(true negative)、 假反例(false negative)
-
混淆矩阵
-
-
-
-
查准率高时,查全率往往低;查全率高时候,查准率往往低。
-
P-R线
- 若一个学习器的 P-R 曲线被另一个学习器的曲线完全"包住" , 则可断言 后者的性能优于前者
-
F1度量
-
-
-
调和平均更重视较小值,时查准率更大影响,时,查全率有更大的影响。
-
marco和micro
-
宏
-
微
2.3.3 ROC与AUC¶
- 真正例率、假正例率
- ROC曲线
-
若一个学习器的 ROC 曲线被另一 个学习器的曲线完全"包住", 则可断言后者的性能优于前者
-
若两个学习器 的 ROC 曲线发生交叉,则难以-般性地断言两者孰优孰劣. 此时如果一定要进行比较, 则较为合理的判据是比较 ROC 曲线下的面积,即 AUC
-
-
这对应着ROC曲线上面部分的面积。
-
2.3.4 代价敏感错误与代价曲线¶
-
代价矩阵
-
-
代价曲线
-
-
-
AUC表示了期望总体代价
-
AUL代表了阈值固定时的期望总体代价,, 表示了所有可能性里面最小的代价期望。
2.4 比较检验¶
统计假设检验:统计假设检验(hypothesis test)为我们进行学习器t性能比较提供了重要依 据.基于假设检验结果我们可推断出,若在测试集上观察到学习器 A 比 B 好, 则 A 的泛化性能是否在统计意义上优于 B,以及这个结论的把握有多大。
2.4.1 假设检验¶
-
-
检验方法
-
单次:二项检验,采用p值的方法
-
多次:使用t检验 其中t符合自由度为k-1的t分布,之后进行双侧检验
2.4.2 交叉验证t检验¶
- 用于比较不同学习器的性能
-
检验方法
-
-
5*2折交叉验证
2.4.3 McNemar检验¶
-
-
-1为连续性修正
2.4.4 Friedman检验和Nemenyi后续检验¶
-
在一组数据集上对多个算法进行比较
-
Friedman 检验
-
Nemenyi检验
2.5 偏差与方差¶
- 偏差(2.40)度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力。
- 方差(2.38)度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响;
- 方差(2.38)度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的 影响;
-
泛化误差可分解为偏差、方差与噪声之和.
-
-
注意这里有个假设就是,即噪声的期望为0,如果不为0这个定律不成立。
-
偏差一方差窘境