机器学习学习手札(二)模型评估与选择(上)

1.经验误差与过拟合

机器学习的目的,从训练样本中尽可能学出适用于所有潜在样本的"普遍规律"。

错误率 error rate

把分类错误的样本数占样本总数的比例称为"错误率".

即如果在 m 个样本中有 a 个样本分类错误,则错误率 E= a/m;精度(accuracy) = 1 - a/m.

误差

把机器学习的实际预测输出与样本的真实输出之间的差异称为"误差" (error)

学习器在训练集上的误差称为"训练误差" (training error) "经验误差" (empirical error) ,在新样本上的误差称为"泛化误差" (generalization error).

过拟合  &  欠拟合

当学习器把训练样本学得"太好"了的时候,很可能巳经把训练样本自身的一些特点当作了所有潜在样本都 会具有的一般性质,这样就会导致泛化性能下降这种现象在机器学习中称为 "过拟合" (overfitting)。

对训练样本的一般性质尚未学好就称为"欠拟合" (underfitting)。

过拟合是机器学习面临的关键障碍。

理想的解决方案当然是对候选模型的泛化误差进行评估,然后选择泛化误差最小的那个模型。

2.评估方法

抽样出的测试集上的"测试误差" (testing error) 作为泛化误差的近似。

通常,我们假设测试样本也是从样本真实分布中独立同分布采样而得。

留出法

"留出法" (hold-out) 直接将数据集D划分为两个互斥的集合,其中一个 集合作为训练集S,另一个作为测试集T,即D= S ∪ T,

S ∩ T = Ø,常见做法大约是2/3 ~ 4/5 用于训练,其余用于测试。

留出法

 

 注意:

①训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响(在分类任务中 至少要保持样本的类别比例相似,可采用分层采样的方式)

②单次使用留出法得到的估计结果往往不够稳定可靠,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。

交叉验证法

将数据集 D 划分为 K 个大小相似的互斥子集,每个子集尽可能保持数据分布的一致性,即从D中通过分层采样得到。

每次用 K-1 个子集的并集作为训练集,余下的那个子集作测试集,可进行 K 次训练和测试, 最终返回的是这 K 个测试结果的均值。

K 折交叉验证,K最常用的取值是10。

注意: 

①K 折交叉验证通常要随机使用不同的划分重复p次,最终的评估结果是这 p 次 K 折交叉验证结果的均值,常见的有 "10次10折交叉验证"。

留一法:若数据集D 中包含M个样本,K = M。

③留一法的评估结果往往被认为比较准确,但计算开销太大(执行次数太多)。

自助法

在留出法和交叉验证法中,由于 保留了一部分样本用于测试,因此实际评估的模型所使用的训练集比 D 小,这必然会引入一些因训练样本规模不同而导致的估计偏差。

自助法:有放回的进行抽样,样本和数据集等大

样本在 m 次采样中始终不被采到的概率是 (1 - 1/m)^m, 取极限得到

约有36.8% 的样本未出现在采样数据集中,可用于测试。

三个优点:

①测试集与数据集等大

②约 1/3 用于测试

③从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处

适用场景:数据集较小、难以有效划分训练/测试集

缺点:产生的数据集改变了初始数据集的分布,这会引入估计偏差,所以,在初始数据量足够时,留出法和交叉验证法更常用一些。

调参与最终模型

两类调参:算法调参和模型调参

算法调参:调节算法的参数,称为超参数

 模型调参:模型的参数可能很多,例如大型"深度学习"模型甚至有上百亿个参数。

调整方式:产生多个候选模型,基于某种评估方法进行选择。

参数选择:选定一个范围和变化步长,从离散的数据中选择。

由训练集和验证集确定算法参数后,带入全部训练数据,得到最终模型。

3.性能度量

回归任务最常用的性能度量是"均方误差" (mean squared error)

更一般的,对于数据分布D 和概率密度函数 p(.) 均方误差可描述为 

错误率 & 精度 

错误率:

精度:

 

更一般的,对于数据分布D和概率密度函数 p(.) 错误率与精度可分别描述为

 查准率 & 查全率 & F1

查准率P:

 

 

 

查全率R:

 

            

单独一个指标高,不一定有意义。 

例如:

①都预测为正例,则查全率 = 1,无意义。

②1000个实例有500个正例,只判断出5个正例,且都正确,则查准率 = 1,也无意义。

P - R 曲线

PR曲线画法

①根据学习器预测结果对样例进行排序,最可能的排在前面

②按顺序逐个把样本作为正例进行预测,则每次可以计算出当前的查全率、 查准率

③以查准率为纵轴、查全率为横轴作图 ,就得到了查准率 - 查全率曲线,简称" P- R曲线",双高最优。

 F1是基于查准率与查全率的调和平均(harinonic mean)定义(调和平均值更重视较小值)的:

β= 1 时,等价于 F1; β>1 时,查全率有更大影响; β < 1时,查准率有更大影响。

 全局性能指标

进行多次训练/测试,会得到多个混淆矩阵;在多个数据集上进行训练/测试,也会产生多个混淆矩阵。

评估 n 个个二分类混淆矩阵上的指标有两种方法:
①宏指标

②微指标 

ROC & AUC 

ROC 全称是"受试者工作特征" (Receiver Operating Characteristic) 曲线,源于"二战"中用于敌机检测的雷达信号分析技术。

生成过程与P-R 曲线相似,只是横轴是"假正例率",纵轴是"真正例率".

真正例率  &  假正例率

ROC曲线 

 对角线:随机猜测模型

绘制ROC曲线

AUC(Area Under ROC Curve)

若曲线A完全"包住"曲线B, 则曲线A更优

如果互有重叠,一般用 AUC 为判断依据,估算AUC面积:

排序损失(图中D为相应实例的集合):

 若正例的预测值小于反例,则记一个"罚分",若相等,则记 0.5 个"罚分"

 AUC与loss的关系:

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

代价矩阵

两类错误不一定等价,例如:把病人误诊为健康 和 把健康人误诊为病人。

"代价敏感" (cost-sensitive) 错误率 

代价曲线图

在非均等代价下, ROC 曲线不能直接反映出学习器的期望总体代价,而 "代价曲线" (cost curve) 则可达到该目的。

X轴,为正例概率代价(数值不重要,比率重要):

其中P 是样例为正例的概率 

Y轴,归一化代价:

其中 FPR 是的假正例率, FNR = 1 - TPR ,是假反例率。

总体代价期望

ROC 线上点的坐标为 (TPR ,FPR) ,则可相应计算出FPR和 FNR,然后在代价平面上绘制 一条从 (0, FPR) 到(l1,FNR) 的线段,线段下的面积即表示了该条件下的期望总体代价:

取所有线段的下界,围成的自积即为在所有条件下学习器的期望总体代价。 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值