机器学习笔记(一)——模型评估方法与性能度量

本文介绍了机器学习模型的泛化误差与过拟合概念,以及模型评估方法,包括留出法、交叉验证法和自助法。讨论了性能度量指标,如均方误差、准确率、召回率和F度量,并提出了在不同场景下如何选择合适的度量。此外,还简述了偏差与方差在模型选择中的作用。
摘要由CSDN通过智能技术生成

目录

1. 机器学习模型的泛化

1.1 经验误差与泛化误差

经验误差,即训练误差,是指学习器在训练集上的误差。与之相对的,学习器在新样本上的误差被称为泛化误差

学习器总是期望得到最小的泛化误差,但由于新样本的不可知性,我们只能通过在一定程度上降低经验误差的情况下来减小泛化误差。但经验误差也不是越小越好的,在训练集上越准确,经验误差越小,在多数情况下学习器的泛化能力就越有可能下降,反而使泛化误差大幅提高。这就是学习器的过拟合问题。

1.2 过拟合

过拟合:学习器将训练样本中一些自身特点当作所有样本都有的一般性质进行了学习,使得模型的泛化能力下降。

导致过拟合的原因有很多种,最常见的原因是学习器的学习能力太强。过拟合的问题没有办法被彻底解决,只能被优化,如决策树剪枝、正则化等。

要获得比较好的学习器参数,就需要对学习器的泛化能力进行评估,选择泛化误差最小的模型。但因为过拟合的存在,我们不能用经验误差作为标准去推断泛化误差的大小,必须要使用训练集以外的数据作为新样本测试模型的泛化误差。

2. 模型评估方法

我们往往只有一个数据集,既要进行训练,又要进行测试,应该怎么做呢?直观上我们应该将数据集划分成训练集和测试集两个部分。那么转化为下面的问题:假设有一个包含m个样本的数据集 D={ (x1,y1),(x2,y2),...,(x3,y3)} D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x 3 , y 3 ) } ,对数据集进行怎样的划分才能使训练集能尽可能把模型训练好,并且测试集对模型的评估尽可能准确呢?

2.1 留出法(hold-out)

留出法将数据集D划分为两个互斥集合,其中一个作为训练集S,另一个作为测试集T。在进行训练集和测试集划分的过程中,要注意划分的过程要尽可能保持数据分布在两个集上一致。从采样的角度来说,应该使用分层采样。

划分的过程本身会给训练数据带来不稳定性,因此在使用留出法进行评估时,需要多次随机划分,重复进行实验,将每次实验的评估结果的平均值作为模型的评估结果。

进行划分时,一般取数据集的2/3~4/5的样本作为训练集,通常保留30%的数据作为测试集。

2.2 交叉验证法(cross validation)

交叉验证法将数据集D划分为k个大小相似的互斥子集,每个子集的数据分布尽可能一致,即如留出法一样使用分层采样的方式进行划分。在进行评估时,每次取其中k-1个子集的并集作为训练集,将剩下的子集作为测试集,最终返回k次测试结果的均值。

交叉验证的稳定性和保真性很大程度上取决于k的取值,因此交叉验证法又被称为k-fold cross validation,k折交叉验证。k最常见的取值为10,即把数据集分为10个子集。

与留出法相似的是,子集在划分的过程中会引入不确定性,因此同样需要进行多次随机划分。如常见的10次10折交叉验证需要进行10*10次实验。

当k=m时,是交叉验证法的特例留一法(Leave-One-Out)。将包含m个样本的数据集D划分为m个互斥子集,有且仅有一种划分方法,即每个子集包含1个样本。留一法在训练的结果上更接近于直接将数据集全部用来训练的结果,其评估结果往往被认为是比较准确的。但留一发在面对大数据集时的性能是极其低的,且留一法的评估结果的准确性也未必远高于其他评估方法。

2.3 自助法(bootstrapping)

留出法和交叉验证法在训练集的数量上都小于数据集 D D ,这可能会引入由于规模不同而产生的估计偏差;而留一法的计算复杂度太高,在数据集比较大的时候会消耗大量的计算性能。

自助法是一种以自助采样法为基础的估计方法。自助采样,即可放回采样、可重复采样。使用自助采样法获取数据集 D 的过程如下:每次随机从 D D 中取出一个样本,将其复制到 D 中,然后将该样本放回 D D 中,重复执行m次。可以计算得到,某一个样本在一次采样中没有被取到的概率是 1 1 m ,在完整自助采样结束后,没有被取到的概率是 (11m)m ( 1 − 1 m ) m ,这是一个递增序列,取极限得到

limm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值