《机器学习》周志华-第二章 模型评估与选择——学习总结

机器学习-第二章

  • 经验误差与过拟合
    • 概念定义
    • 过拟合(overfit)
    • 欠拟合
  • 评估方法
    • 留出法(hold-out)
    • 交叉验证法(cross validation)
    • 自助法(bootstrapping)
    • 调参与最终模型
  • 性能度量
    • 错误率与精度
    • 查准率、查全率、F1
    • ROC与AUC
    • 代价敏感错误率与代价曲线
  • 比较检验
    • 假设检验
    • 交叉验证t检验
    • McNemar检验
    • Friedman检验与Nemenyi后续检验
    • 偏差与方差

经验误差与过拟合

概念定义

错误率(error rate):分类错误的样本数占样本总数的比例。
精度(accuracy):分类正确的样本数占样本总数的比例。(精度=1-错误率)
误差(error):学习器实际输出与样本真实输出值之间的差异。
训练误差/经验误差(training error):学习器在训练样本上的误差。
泛化误差(generalization error):学习器在新样本上的误差。

过拟合(overfit)

含义:学习器把训练样本的一些特点当做所有潜在样本的一般性质,把不需要的噪声也纳入特点参考。
影响:泛化性能低。
产生原因:学习器学习能力过强。
优化方法:

  1. 加入权值反向衰减参数。
  2. 采用交叉验证。
  3. 合理设置训练轮数,不宜过多。
  4. 减少特征数,人工或算法进行筛选。
  5. 正则化。

欠拟合

含义:学习器对样本特征学习不足。
影响:训练集和测试集性能都不高。
产生原因:学习能力不足。
优化方法:

  1. 决策树扩展分支。
  2. 神经网络增加学习轮数。
  3. 增加特征,考虑特征组合,高层次特征。
  4. 使用非线性模型。
  5. 减少正则化参数。

评估方法

留出法(hold-out)

将数据集D划分为两个互斥集合,一个作为训练集S,另一个作为测试集T。S用于学习模型的训练,T用来测试评估泛化误差。(常用2/3~4/5作为训练)
注意:需要分层采样(stratified sampling),S/T两个互斥集中的样本类别分布比例一致
例:数据集共含100个样本,40个正例,60个反例。划分70%为训练集S,30%为测试集T。则应当划分为,训练集S中含28个正例、42个反例,共70个,测试集T中含12个正例,18个反例,共30个。

交叉验证法(cross validation)

先将数据集D划分为k个大小相似的互斥子集,每个子集尽可能保持数据分布的一致性。每次用k-1个子集的并集做训练集,剩余一个子集做测试集,轮流进行k次训练和测试,
  p次k折(倍)交叉验证(k-fold cross validation):数据集划分为k个子集,进行k次训练测试,随机使用不同划分重复p次。

自助法(bootstrapping)

对于给定含有m个数据的数据集D,采样产生新的数据集D’,进行有放回采样(每次采样一个数据复制到D’,放回D,重复m次),则得到D’与D样本数相同,可能有样本重复出现,可能有样本不出现。
优点:

  1. 适用于数据集较小,难以有效划分训练、测试集的数据集。
  2. 可以从原始数据集中产生多个不同的训练集,有助于集成学习。
    缺点:
  3. 改变原始数据分布,引入估计偏差。

调参与最终模型

两种参数:超参数(算法参数)、模型参数。
测试集(validation set):学的模型在实际使用中遇到的数据。用于评估泛化能力,进行模型选择与调参。

性能度量

错误率与精度

错误率(error):E
精度(accuracy):acc
acc = 1 - E

查准率、查全率、F1

分类结果混淆矩阵

真实情况 预测情况
正例 反例
正例 TP(预测为正例,正确) FN(预测为反例,错误)
反例 FP(预测为正例,错误) TN(预测为反例,正确)

查准率(precision):预测结果为正例的样本中,结果正确的比例。

P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP

查全率(recall):样本中所有的正例中,被预测正确的比例。

R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP

查准率与查全率是一对矛盾的度量。

P-R曲线: 逐个把样本预测为正例,每次计算当前的查全率与查准率。以查全率为横轴,查准率为纵轴作图得到的曲线。(曲线图为P-R图)

《机器学习》周志华-第二章 模型评估与选择——学习总结_第1张图片根据P-R曲线对学习器进行评估:

  1. 一个学习器的P-R曲线被另一个学习器的P-R曲线完全包住,则可断言后者性能优于前者。(上图中可断言A优于C、B优于C)
  2. 两个学习器的P-R曲线发生交叉,则考虑平衡点(Break-Even Point,查准率=查全率),平衡点(BEP)越高性能越优。(上图可认为A优于B)

F1度量:查准率与查全率的调和平均。值越小越优

F 1 = 1 2 ( 1 P + 1 R ) = 2 × P × R P + R = 2 × T P 样 例 总 数 + T P − T N F1=\frac{1}{2}(\frac{1}{P}+\frac{1}{R})=\frac{2×P×R}{P+R}=\frac{2×TP}{样例总数+TP-TN} F1=21(P1+R1)=P+R2×P×R=+TPTN2×TP

F β F_\beta Fβ度量:查准率与查全率的加权调和平均。可表达对差准或查全的偏好。值越小越优

F β = 1 1 + β 2 ( 1 P + β 2 R ) = 1 + β 2 × P × R ( β 2 × P ) + R F_\beta=\frac{1}{1+\beta^2}(\frac{1}{P}+\frac{\beta^2}{R})=\frac{1+\beta^2×P×R}{(\beta^2×P)+R} Fβ=1+β21(P1+Rβ2)=(β2×P)+R1+β2×P×R

β = 1 \beta=1 β=1时, F β = F 1 F_\beta=F1 Fβ=F1
β > 1 \beta>1 β>1时,查全率影响更大。(适用情景:逃犯检索系统,尽可能少漏查)
β < 1 \beta<1 β<1时,查准率影响更大。(适用情景:商品推荐系统,尽可能内容精准,不求多)

ROC与AUC

真正例率(True Positive Rate):实际所有正例中,被预测为正例的比率。

T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP

假正例率(False Positive Rate):实际所有反例中,被预测为正例的比率。

F P R = F P T N + F P FPR=\frac{FP}{TN+FP} FPR=TN+FPFP

ROC(Receiver Operating Characteristic,受试者工作特征):逐个把样本预测为正例,计算假正例率(FPR)、真正例率(TPR),以FPR为横轴,以TPR为纵轴绘制曲线。(曲线图为ROC图)

《机器学习》周志华-第二章 模型评估与选择——学习总结_第2张图片ROC曲线绘制过程

m+个正例,m-个反例,根据预测结果排序
分类阈值设为最大,绘制点0,0
分类阈值从小到大依次调为每个样例的预测值,依次预测为正例,计算并绘制点
线段连接相邻点

根据ROC曲线对学习器进行评估:

  1. 一个学习器的ROC曲线被另一个学习器的ROC曲线完全包住,则可断言后者性能优于前者。
  2. 两个学习器的P-R曲线发生交叉,则考虑ROC曲线下的面积AUC(Area Under Curve),越大性能越优。

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

为权衡不同类型错误所造成的不同损失,可以为错误赋予非均等代价(unequal cost)。
前文所述ROC曲线都是在均等代价条件下计算绘制的。在非均等代价下,ROC曲线不能反映出学习器的期望总体代价。
故引入代价曲线(cost curve)。横轴是取值为[0,1]的正例概率代价,纵轴为取值为[0,1]的归一化代价。
(将ROC曲线上的每个点转化为代价平面上的一条线段,取所有线段的下界,围成面积为在所有条件下学习器的期望总体代价。)
《机器学习》周志华-第二章 模型评估与选择——学习总结_第3张图片

比较检验

统计假设检验(hypothesis test)

假设检验

交叉验证t检验

McNemar检验

Friedman检验与Nemenyi后续检验

偏差与方差

你可能感兴趣的:(学习记录)