机器学习:模型评估与性能度量总结

1、常见术语说明

误差:模型预测值与真实值之间的差异
训练误差(经验误差):模型在训练集上的误差
泛化误差:模型在新样本(测试集)上的误差
过拟合:模型由于学习的“太好”,在训练集上表现很好(训练误差小),而在新样本上表现很差(泛化误差大)
欠拟合:与过拟合相对的概念,模型对训练集还没有完全学习好,在训练集上就表现不好(训练误差大)

2、模型评估方法

利用训练样本(“训练集”)之外的测试样本(“测试集”),对模型性能进行评估,将模型在测试集上的表现(“测试误差”)近似为模型的泛化能力(“泛化误差”)

2.1、留出法(也称Holdout检验)

直接将样本集D划分为两个互斥的集合D = S U T,S作为训练集,T作为测试集估计分类器的泛化误差。常将样本集的2/3 ~ 4/5的样本用于训练,剩余的用于测试。
训练集和测试集的划分要保持数据分布的一致性,避免因数据划分引入偏差影响结果。比如在分类任务中要保持两个集合中样本的类别比例相似。
在使用留出法时不同的划分会得到不同的模型,单次留出法得到的结果往往不够稳定可靠,一般采用若干次留出法随机划分,重复试验评估后取平均值作为留出法的评估结果。
因为留出法在验证集上计算出来的评估指标与原始分组有很大关系,为了消除随机性,研究者们引入了’交叉验证’的思想

2.2、k-flod交叉验证(K-折交叉验证)

首先将全部样本划分成K个大小相等的样本子集,依次遍历这k个子集,每次把当前子集作为验证集,其余的子集作为训练集。最后把K次评估指标的平均值作为最终的评估指标,在实际实验中,K经常取10
留一验证(交叉验证的特例,即k=n):每次留下一个样本作为验证集,其余所有样本作为训练集,样本总数为n,依次对n个样本进行遍历,进行n次验证,再将评估指标求平均值得到最终的评估结果,在样本总数较多的情况下,留一验证法的时间开销极大。(注,留一法的估计结果也未必永远比其他评估方法准确)
k-flod交叉验证步骤:
1、将数据等分为k个子集
2、按顺序,每个子集作为测试集,其余作为训练集
3、分别训练模型和评估模型,最后求平均的误差率
10折是获得较好误差估计的恰当选择(时间成本与模型精度的平衡):建议使用10次10折交叉验证

2.3、自助法

不管是留出法还是交叉验证,都是基于划分训练集和测试集的方法进行模型评估的,然而,当样本规模较小时,将样本集进行划分会让训练集进一步减少,这可能会影响模型训练效果,自助法是可以维持训练集样本规模的验证方法
包含m个样本的数据集D,对D进行有放回的随机抽样构建D’(抽取m次),D’用作训练集,D - D’ 作为测试集。某样本不被抽到的概率:
自助法
因此初始样本集D约有0.732的样本做训练集,0.368的样本做测试集
优点:
1、适合较小的、难以有效划分训练/测试集的数据集;
2、自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大好处
缺点:产生的数据集改变了原始数据集的分布,这样会引入估计偏差。故若数据量足够,不建议使用自助法

2.4、总结

在初始数据集比较充足时,留出法和交叉验证法更常用一些
在数据集比较小,难以有效划分训练/测试集是使用自助法
对于数据集小且可有效划分的时候最好使用留一法来进行划分,因为这种方法最为准确

3、模型性能度量

对于不同的业务场景以及模型类型,需要用不同的评估方法来度量模型的优劣

3.1、分类模型的评估方法:

3.1.1、混淆均值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值