目录
2.3.2查准率(precision)、查全率(recall)
第一章 绪论
1.2基本术语
记录的集合称为
数据集(data set)
每条记录是关于一个事件或对象的描述,称为一个
“示例”(instance)/“样本”(sample)/"特征向量" (feature vector)
.
反映事件或对象在某方面的表现或性质的事项,称为“属性”(attribute)/“特征”(feature)
属性上的取值,称为
“属性值”(attribute value)
属性张成的空间称为
“属性空间”(attribute space)/“样本空间”(sammple space)/“输入空间”
学得模型适用于新样本的能力,称为
"泛化" (generalization) 能力
。具有强泛化能力的模型能很好地适用于整个样本空间。
通常假设样本空间中全体样本服从一个未知"分布"
(distribution) D,
我们获得的每个样本都是独立地从这个分布上采样获得的,即"独立同分布" (independent
and
identically distributed ,简称
i.i.d.).
一般而言,训练样本越多,我们得到的关于D
的信息越多,这样就越有可能通过学习获得具有强泛华能力的模型。
1.3 假设空间
归纳
(induction)
与演绎
(deduction
)是科学推理的两大基本手段.前者是从特殊到一般的"泛化" (generalization)
过程,即从具体的事实归结出一般性规律;后者则是从一般到特殊的"特化" (specialization)
过程,即从基础原理推演出具体状况.例如,在数学公理系镜中,基于一组公理和推理规则推导出与之相洽的定理,这是演绎;而"从样例中学习"显然是一个归纳的过程,因此亦称
"归纳学习" (inductive learning)
.
我们可以把学习过程看作一个在所有假设(hypothesis) 组成的空间中进行搜索的过程,搜索目标是找到与训练集"匹配"(fit) 的假设,即能够将训练集中的瓜判断正确的假设.
需注意的是,现实问题中我们常面临很大的假设空间?但学习过程是基于有限样本训练集进行的,因此,可能有多个假设与训练集一致,即存在着一个与训练集一致的"假设集合",我们称之为"版本空间"
(version
space).
![](https://img-blog.csdnimg.cn/802e8a4f227441c4b0e0dd1fcf20ef3b.png)
1.4归纳偏好
机器学习算法在学习过程中对某种类型假设的偏好,称为"归纳偏好" (inductive bias)
, 或简称为"偏好"
任何一个有效的机器学习算法必有其归纳偏好,否则它将被假设空间中看似在训练集上"等效"的假设所迷惑,而无法产生确定的学习结果.可以想象,如果没有偏好,我们的西瓜学习算法产生的模型每次在进行预测时随机抽选训练集上的等效假设,那么对这个新瓜"(色泽=青绿;根蒂=蜷缩;敲声=沉闷)"
,学得模型时而告诉我们它是好的、时而告诉我们它是不好的,这样的学习结果显然没有意义.
"奥卡姆剃刀"
(Occam's
razor) 是一种常用的、自然科学研究中最基本的原则,即"若有多个假设与观察一致,则选最简单的那个"。
第二章 模型评估与选择
2.1经验误差与过拟合
把分类错误的样本数占样本总数的比例称为"错误率"
(error rate) ,即如果在m
个样本中有a
个样本分类错误,则错误率
E= a/
m; 相应的,1-a/m
称为"精度"
(accur
acy)
,即"精度
=1-
错误率"
更一般地,我们把学习器的实际预测输出与样本的真实输出之间的差异称为"误差" (error)
, 学习器在训练集上的误差称为"训练误差" (training
error)
或"经验误差" (empirical error)
,在新样本上的误差称为"泛化误差"
(generalization error). 显然,我们希望得到泛化误差小的学习器.
当学习器把训练样本学得"太好"了的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降这种现象在机器学习中称为
"过拟合" (overfitting
).
与"过拟合"相对的是
"欠拟合" (underfitting)
,这是指对训练样本的一般性质尚未学好.
"模型选择" (model selection) 问题.理想的解决方案当然是对候选模型的泛化误差进行评估,然后 选择泛化误差最小的那个模型.然而如上面所讨论的,我们无法直接获得泛化误差,而训练误差又由于过拟合现象的存在而不能作为标准,那么,在现实中,如何进行模型评估与选择呢?
2.2评估方法
需使用一个 "测试集 (testing set) 测试学习器对新样本的判别能力,然后以测试集上的“测试误差”(testing error)作为泛化误差的近似。通常,我们假设测试样本也是从样本真实分布中独立同分布采样而得。但需注意,测试集应尽可能与训练集互斥,即测试样本尽量不在训练集中出现、未在训练集中使用过。
2.2.1留出法(hold-out)
直接将数据集S划分为两个互斥的集合,其中一个集合作为训练集S
,另一个作为测试集T.
训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响,例如在分类任务中,至少要保持样本的类别比例相似.如果从采样
(sampling)
的角度来看待数据集的划分过程,则保留类别比例的采样方式通常称为
"分层采样" (stratified sampling)
.
若S,T中样本类别比例差别很大,则误差估计将由于训练/测试数据分布的差异而产生偏差.
单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果.
若令训练集包含绝大多数样本,则训练出的模型可能更接近于用D训练出的模型, 但由于T比较小,评估可能不够稳定准确 ;若令测试集多包含一些样本, 则训练集S与D差别更大了,被评估的模型与用D训练出的模型相比可能有较大差别,从而降低了评估结果的保真性(fidelity),这个问题没有完美的解决方案,常见做法是将大约 2/3~4/5的样本用于训练,剩余样本用于测试.
2.2.2交叉验证法(cross validation)
- 将数据D分为k个大小相似的互斥子集, 即
每个子集尽可能保持数据分布的一致性,即从D中通过分层采样得到.
- 每次用 k-1 个子集的并集作为训练集,余下的那个子集作测试集;这样就可获得k组训练/测试集,从而可进行k次训练和测试
- 最终返回的是k个测试结果的均值
显然,交叉验证
法评
估结果的
稳定性
和保真性
在很大程度
上取决于k
的取值
,为强调这一点
,通常
把交叉验证
法称为
k折交叉验证" (k-fold cross validation)
.
与留出法相似,将数据集D划分为k
个子集同样存在多种划分方式.为减小因样本划分不同而
引入的差别,k
折交叉验证通常要随机使用不同的划分重复p
次,最终的评估
结果是p次k
折交
叉验证结果
的均
值
假定数据集D中包含m个样本,令k=m,则得到了交叉验证法的一个特例:留一法(Leave-One-Out,简称 LOO).
- 优点:
- 留一法不受随机样本划分方式的影响
- 留一法使用的训练集只比初始数据集少了一个样本,留一法中被实际评估的模型与期望评估的用D训练出来的模型相似。
- 缺点:当数据集比较大是,计算开销大。
2.2.3自助法(bootstrapping)
给定包含m个样本的数据集D,对它进行采样产生数据集D’作为训练集
- 每次随机从D中挑选一个样本,将其拷贝放入D’ ,再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到
- 重复上述执行m次后,得到包含m个样本的训练数据集D’
- D中有一部分样本会在D’中多次出现,而另一部分样本不出现,D \ D’作为测试集
*通过自助采样,初始数据集D中约有36.8%的样本未出现在采样数据集D’中
*适合数据集较小、难以划分训练/测试集的时候
2.2.4调参与最终模型
我们用测试集上的判别效果来估计模型在实际使用时的泛化能力,而把训练数据另外划分为
训练集和验证集(validation set)
,基于验证集上的性能来进行模型选择和调参.
2.3性能度量
2.3.1错误率与精度
![](https://img-blog.csdnimg.cn/0611800fbcaf42acbe2feb635efdaba7.png)
![](https://img-blog.csdnimg.cn/ec304abb786848fe8858a96686dc78d6.png)
![](https://img-blog.csdnimg.cn/cbc223d25d3e4a2cb030616b4b203cbd.png)
2.3.2查准率(precision)、查全率(recall)
"挑出的西瓜中有多少比例是好瓜",或者"所有好瓜中有多少比例被挑了出来"
基于查全率和查准率进行性能评估:
- 若一个学习器的 P-R 曲线被另一个学习器的曲线完全"包住", 则可断言后者的性能优于前者.
- "平衡点 (Break-Event Point ,简称 BEP),是"查准率=查全率"时的取值.
- F1度量:
- 在一些应用中,对查准率和查全率的重视程度有所不同.F1度量的一般形式:
2.3.3ROC和AUC
ROC
全称是"受试者工作特征"
(Receiver Operating
Characteristic)曲线
ROC
曲线的纵轴是
"真正例率" (True Positive Rate ,简称 TPR)
,横轴是
"假正例率" (False Positive Rate ,简称 FPR)
![](https://img-blog.csdnimg.cn/aff17c66ec664359ba5baccda9555757.png)
一个学习器的 ROC 曲线被另一个习器的曲线完全"包住", 则可断言后者的性能优于前者;若两个学习器 ROC 曲线发生交叉,则难以一般性地断言两者孰优孰劣,此时如果一定要进行比较 则较为合理的判据是 比较 ROC 曲线下的面积,即 AUC (Area Under ROC Curve)
2.3.4代价敏感错误率与代价曲线
前面都隐式地假设了
均等代价
, 例如式(2 .4)所定义的错误率是直接计算"错误次数",并没有考虑不同错误会造成不同的后果.在
非均等代价
下,我们所希望的不再是简单地最小化错误次数,而是希望最小化"总体代价"
(total
cost).