机器学习笔记——模型评估和选择

高估自己了,心情有缺,思想混乱,晚上失眠,难以集中注意力,见谅见谅,尽力而学。

一、误差与拟合

误差:学习器的预测输出与样本的真实输出之间的误差。

训练误差(经验误差):学习器在训练集上的误差。

泛化误差:学习器在新样本上的误差。

显然,我们需要一个泛化误差小的学习器。但是我们不知道新样本是什么样子,所以只能去追求训练误差最小化。

为了能够在新样本上表现良好,我们必须尽可能在训练样本上寻找适用于所有潜在样本的“普遍规律”,在寻找的过程中可能会出现两种不好的情况——“欠拟合”“过拟合”

欠拟合:对于训练样本的一般性质尚未学好。

(最常见原因:学习能力低下)——相对容易克服

过拟合:学的太好,把训练样本自身特点当做所有样本的一般性质。

(最常见原因:学习能力太过强大,将训练集中不太一般的特性都学到了)——不可避免,只能缓解

二、评估方法

泛化误差不可用,训练误差存在过拟合现象,那如何进行模型选择?——创建“测试集”,以测试误差作为泛化误差的近似。

对总数据集进行适当处理,产生训练集和测试集。 

1.留出法

将数据集D划分为两个互斥的集合——训练集S、测试集T,D = S ∪ T , S ∩ T = ∅

注1:训练集和测试集的划分要尽可能保持数据分布的一致性,比如D中有500个正例、500个反例,则S中有350个正例、350个反例,T中有150个正例、150个反例。

注2:即使样本比例相似,依然存在多种划分方法,每次划分将导致不同的模型评估结果,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的训练结果。

注3:要注意S和T中样本个数,若S中样本数量偏多,T中较少,则评估结果可能不够稳定准确;若S中较少,T中较多,评估结果可能和D有较大的差别,降低了保真性。一般采用2/3~4/5的样本作为训练,剩余用于测试。

2.交叉验证法(k折交叉验证)

将数据集D划分为k个大小相似的互斥子集,即D=D1 ∪ D2 ∪ D3 ∪ ... ∪ Dk,Di ∩ Dj = ∅

每个子集尽可能保持数据分布的一致性,然后取k-1个子集的并集作为训练集,余下子集作为测试集,即可得到k组训练集/测试集,最终返回的是k个训练结果的均值,该评估结果的稳定性和保真性很大程度上取决于k的取值(常用值为10)。

注1:同留出法一样,划分方式有多种,通常要随即使用不用的划分方式重复p次,最后取均值,常见的有“10次10折交叉验证”

注2:若数据集有m个样本,令k=m则得到特例“留一法”,该划分方式仅有一种。由于训练集仅比数据集少一个样本,所以评估结果往往被认为比较准确。缺点是数据集比较大时,计算开销难以忍受(数据集有一百万个样本,则需要训练一百万个模型),同时“没有免费的午餐”定理仍然适用。

3.自助法

给定包含m个样本的数据集D,对其进行采样产生数据集D':每次随机从D中挑选一个样本拷贝放入D'中,采样后放回,该过程重复m次,则得到包含m个样本的D'。

该方法以自助采样法(有放回采样法)为基础,显然D中一部分样本会在D'多次出现,另一部分样本不会出现,根据概率论知识,样本在m次采样中始终不被取到的概率是,取极限可得  

即D中约有36.8%的样本未出现在D'中,于是将D'用作训练集,D\D'(集合减法)用作测试集。

注1:自助法在数据集较小、难以有效划分训练/测试集时很有用。

注2:自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差,因此初始数据量足够时,留出和交叉验证法更常用。

4.调参与最终模型

大多数学习算法都有参数需要设定,参数配置不同,模型性能往往有显著差别,因此在进行模型评估与选择时,除了选择学习算法还要对参数进行设定。

对美中参数配置都训练出模型,然后把对应最好模型的参数作为结果,一般对每个参数选定范围和步长,虽然会漏掉一部分精确值,但是这是在计算开销和性能估计之间进行折中的结果。

在给定m个样本的数据集D中,需要留出一部分进行测试,因此我们只使用了一部分数据训练模型,因此在模型选择完成后,学习算法和参数配置已经选定,此时应该用D重新进行训练,这才是我们需要交付的模型。

注:通常把模型在实际使用中遇到的数据称为测试数据,模型评估和选择中用于测试的数据称为“验证集”。

三、性能度量

对学习器的泛化性能进行评估,不仅需要可行的实验估计方法,还需要有衡量模型泛化能力的评价标准——性能度量

性能度量反映了任务需求,在对比不同模型能力时,使用不同的性能度量会导致不同的评判结果——模型的“好坏”是相对的,不仅取决于算法和数据,还决定于任务需求。

给定样例集D={(x1,y1),(x2,y2),......,(xm,ym)},学习器预测结果f(x)

回归任务最常用的性能度量是“均方误差”

分类任务常用的性能度量

1. 错误率与精度

错误率:分类错误的样本数占样本总数的比例

精度:分类正确的样本数占样本总数的比例 

2.查准率、查全率、F1 

查准率(P):所有结果有多少比例是正确的。

查全率(R):所有正确结果有多少被检索出来。

真实情况预测结果
正例反例
正例TP(真正例)FN(假反例)
反例FP(假正例)TN(真反例)

注1:一般来说,查准率高时,查全率往往偏低;查全率高时,查准率往往偏低。

很多情形下,我们可以根据学习器的预测结果进行排序,排在前面的是学习器认为“最可能”是正例的样本,依次递减。按照此顺序,依次把样本作为正例进行预测,则每次加入一个样本都可以得到查全率、查准率,依次作出“P-R曲线”、“P-R图”

注1:若一个学习器的P-R曲线完全被“包住”,则可断言后者优于前者(A优于C)。

注2:A、B优劣难以区分,若非要比较可以通过平衡点(查准率=查全率)进行比较,A优于B。

平衡点过于简化,更常用的是F1度量

3.ROC与AUC

ROC:受试者工作特征曲线,纵轴为“真正例率”(TPR),横轴为“假正例率”(FPR)

AUC:ROC曲线下的面积,当ROC曲线发生交叉时,可用来判断孰优孰劣

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值