模型的评估与选择

基本术语

名词解释
属性空间/样本空间/输入空间属性张成的空间
特征向量/示例/样本属性空间中的一个点
假设模型
假设空间模型集
真相数据潜在规律本身
样例拥有标记信息的样本
标记空间/输出空间标记的集合
泛化能力模型适用于新样本的能力

基本过程

1.表示:将数据对象进行特征化表示;
2.训练:学习规律/模型;
3.测试:用新的数据集对模型进行测试。

模型的评估与选择

经验误差与过拟合

误差:学习器的实际预测输出与样本的真实输出之间的差异。
训练误差/经验误差:学习器在训练集上的误差。
测试误差:学习器在测试集上的误差。
泛化误差:学习器在除训练集以外的样本上的误差。
以上所指的是误差期望。
欠拟合:训练误差大,泛化误差大。
解决方案:1.决策树:拓展分枝;2.神经网络:增加训练轮数。
过拟合:训练误差小,泛化误差大。
解决方案:1.优化目标加正则项;2.提前停止。

三个关键问题:

  1. 如何获得测试结果?——评估方法;
  2. 如何评估性能优劣?——性能度量;
  3. 如何判断实质差别?——比较检验。

评估方法

使用测试集来测试学习器对新样本的判别能力,用测试误差来近似泛化误差。
补充说明:

  1. 现实任务中,还额外考虑时间开销、存储开销、可解释性等方面。
  2. 通常假设测试样本是从样本真实分布中独立同分布采样得到的,应尽可能与训练集互斥。

也可用于验证集划分。

留出法

直接将测试集划分为两个互斥的集合。

1.数据集的划分应尽可能保持数据分布的一致性,避免因数据划分引入额外的偏差而对最终结果产生影响;
保留类别比例的采样方式称为分层采样。
2.若干次随机划分,重复实验,取平均值。
3.训练集测试集之比一般为2:1~4:1。

k折交叉验证法

将数据集分层采样划分为k个大小相似的互斥子集,每次用k-1个子集作为训练集,剩余的子集作为测试集,最终返回k个测试结果的均值。
在这里插入图片描述
将数据集划分为k个子集存在多种多样的方式,为了减小因样本划分不同,引入的偏差,我们进行p次实验,因此,最终的结果是p次k折交叉验证结果的均值。

留一法

k折交叉法的k=m时(m为样本容量),我们得到留一法。
特点:
1.不受随机样本划分方式的影响;
2.结果往往比较准确;
3.数据集大时,计算开销难以忍受。

自主采样法

见集成学习——串行式集成学习法——自主采样法。
对数据集D又放回采样m次,得到训练集D‘,用D/D’作为测试集。

说明:

  1. 自主采样在数据集小、难以有效划分训练/测试集时很有用。
  2. 由于改变了数据集分布,可能引入估计偏差,当数据量足够时,留出法和交叉验证法更常用。
  3. 集成学习中,常用自助采样法。
  4. 实际模型和预计模型都使用了m个训练样本。
  5. 约有0.368个样本不会出现在训练集中。
调参与最终模型

算法的参数:人工设定,称为超参数;
模型的参数:学习确定。

参数选择的好不好对最终性能有关键的影响。
为什么要调整参数?不能交给计算机运算吗?
参数的选择是在实数域上,可选对象众多,开销过大。
因此,我们需要给予一个范围以及步长。
这是在精度与开销折衷的选择。

过程

1.从训练数据中划分训练集与验证集,用以评估性能,选择模型,调整超参数。
2.选出最优模型,用训练数据重新训练最终模型。
注意:测试集是不以任何形式参与模型的选择与训练的。倘若不需要调整超参数,验证集等同于测试集。验证集的作用与测试集是极其类似的。

性能度量

评估泛化性能。
使用不同的性能度量方法会导致不同的评判结果。
什么样的模型是好的,不仅取决于模型和参数,还取决于任务需求。
不同的任务需求对应了不同的性能度量方式。

回归任务

经常采用均方误差。
E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f;D)=\frac{1}{m}\sum_{i=1}^m(f(x_i)-y_i)^2 E(f;D)=m1i=1m(f(xi)yi)2

分类任务
错误率

分错样本占样本总数的比例。
E ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) ≠ y i ) E(f;D)=\frac{1}{m}\sum_{i=1}^mI(f(x_i)\not=y_i) E(f;D)=m1i=1mI(f(xi)=yi)

精度

分对样本占样本总数的比例。

a c c ( f ; D ) = 1 m ∑ i = 1 m I ( f ( x i ) = y i ) = 1 − E ( f ; D ) acc(f;D)=\frac{1}{m}\sum_{i=1}^mI(f(x_i)=y_i)=1-E(f;D) acc(f;D)=m1i=1mI(f(xi)=yi)=1E(f;D)

混淆矩阵
真实情况预测为正例预测为反例
正例TPFN
反例FPTN

True Positive;False Negative;
False Positive;True Negative;
精度衡量的是模型的预测准确程度。
查准率和查全率则进一步细化了这一标准。
更偏向于研究某一具体类别的预测程度,探究模型对这一类别的特征识别能力的高低。

查准率

P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP} Precision=TP+FPTP
判定为正例的样本中,有多少实际为真。
预测正例是否都是准确的。
查准率的分母是基于预测结果。

查全率

R e c a l l = T P T P + F N Recall = \frac{TP}{TP+FN} Recall=TP+FNTP
实际为正例的样本中,有多少被识别出来。
所有正例是否被全查出来。
查全率的分母是基于真实结果。

P-R曲线

对预测结果从高到低进行排序。
把逐个样本作为正例进行预测,可以得到Precision-Recall曲线。
一般而言,面积越大,性能越好。
平衡点(BEP,Break Even Point)上是“查准率=查全率”时的取值,用于度量P-R曲线有交叉的分类器性能高低。

F-score

比BEP更常用。以上两个标准都是对查准率和查全率综合考量的评价指标。
F 1 = 2 ∗ P ∗ R P + R = 2 ∗ T P 样 例 总 数 + T P − T N F1 = \frac{2*P*R}{P+R}=\frac{2*TP}{样例总数+TP-TN} F1=P+R2PR=+TPTN2TP
本质上是调和平均数:
1.对数据取倒数;
2.算术平均这些倒数;
3.将结果取倒数。
若对查准率/查全率有不同的偏好,我们采用 F β F_\beta Fβ。这是P和R的加权调和平均。
1 F β = 1 1 + β 2 ( 1 P + β 2 R ) \frac{1}{F_\beta}=\frac{1}{1+\beta^2}(\frac{1}{P}+\frac{\beta^2}{R}) Fβ1=1+β21(P1+Rβ2)
于是
β > 1 \beta\gt1 β>1侧重于查全率;
β < 1 \beta\lt1 β<1侧重于查准率;
β = 1 \beta=1 β=1就是F1。
关于F1的意义与调和平均数有关,这值得进一步研究。
之所以采用调和平均数的原因在于,好的算法中P和R的得分都要求很高,不能一个好一个坏。而调和平均数具有放大差异的作用,差异过大的话,其得分会很低。

AUC & ROC曲线

ROC是TPR-FPR曲线。
TPR(True Precision Rate):正例中识别准确的比例。即Precision。
FPR(False Precision Rate):反例中识别准确的比例。
T P R = T P T P + F N TPR = \frac{TP}{TP+FN} TPR=TP+FNTP
F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP
我们比较的是AUC,即ROC覆盖的面积。

性能评估须知

1.测试性能并不等于泛化性能;
2.测试性能随着测试集的变化而变化;
3.机器学习算法本身就带有一定的随机性。
综上考量,直接选去相应的评估方法在相应的度量下比大小的方法不可取。
可以采用假设检验的方法进一步衡量性能优劣。

偏差方差分解

在用不同的训练集训练后,得到了几个不同的模型,对他们的性能进行泛化误差分析。
在这里插入图片描述
方差:反映了不同数据集产生的影响;
偏差:反映了算法本身的拟合能力;
噪声:反映了学习任务本身的难度。

我们在评估性能时,需要针对不同的训练集进行多次指标计算,根据均值判定该模型的总体情况。这也是我们偏差方差分解的依据。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

右边是我女神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值