机器学习笔记2——评估方法

本文探讨了模型评估的目的,强调了泛化误差的重要性。介绍了过拟合和欠拟合的概念,指出过拟合是主要挑战。留出法、交叉验证法和自助法作为常用的模型评估策略被详细阐述,包括各自的操作步骤、优缺点及适用场景。留出法通常将数据集分为训练集和测试集,交叉验证通过多次划分提高评估稳定性,自助法则利用有放回采样产生训练集和测试集。每种方法都有其适用范围,选择合适的方法对于优化模型性能至关重要。
摘要由CSDN通过智能技术生成

模型评估目的:希望得到泛化误差小的学习器。

然而我们并不能事先知道模型需要应用的新样本是什么样的,所以我们需要评估方法去评估我们的模型,来判断模型的好坏。

过拟合和欠拟合是模型训练中需要面对的问题。后者通常因为模型学习能力低下,比较容易克服;前者则是因为学习能力过于强大,以至于训练样本所包含的不太一般的特征都学到了,过拟合是机器学习面临的关键障碍,各类学习算法都必然带有一些针对过拟合的措施,然而过拟合是无法彻底避免的,我们能做的只能“缓解”,或者说减小其风险。

训练集S和测试集T应该尽可能互斥,当我们只有一个包含m个样例的数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D=\{(x_1,y_1),(x_2,y_2),...,(x_m,y_m)\} D={(x1,y1),(x2,y2),...,(xm,ym)},我们需要对数据集做适当的处理来产生S和T。

1.留出法(Hold-out)

直接将数据集D划分为两个互斥的集合,一个集合为S,一个集合为T。

为了保持数据分布的一致性,应采用分层采样。

在使用留出法时,一般要采用若干次随机划分、重复进行试验评估后取平均值作为留出法的评估结果。

常见的做法时将大约2/3~4/5的样本用于训练,剩余样本用于测试。(一般而言,测试集至少应包含30个样例)。

2.交叉验证法(Cross validation)

先将数据集D通过分层采样划分为k个大小相似的互斥子集,即 D = D 1 ∪ D 2 ∪ . . . ∪ D k , D i ∩ D j = ⊘ ( i ≠ j ) D=D_1\cup D_2\cup ...\cup D_k, D_i\cap D_j=\oslash(i\neq j) D=D1D2...Dk,DiDj=(i=j)。然后每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集;这样可以获得k组训练/测试集,从而可进行k次训练和测试,最后返回的是这k个测试结果的均值。

交叉验证法评估结果的稳定性和保真性在很大程度上取决于k的取值,为强调这一点,通常把交叉验证法称为“k折交叉验证”。k通常取10,也可取5,20等。

与留出法类似,通过p种划分方式将D数据集集划分为k个子集,进行p次k折交叉验证的结果的均值作为最终的评估结果。

取k=m,就得到了交叉验证法的特例:留一法(Leave-One-Out,LOO)。留一法的训练集只比数据集D少一个样本,所以其评估结果往往被认为比较准确。但是数据集较大时,留一法的开销非常大,且估计结果也未必永远其他评估方法准确。“没有免费的午餐”定理对试验评估方法同样适用(具体问题具体分析)。

3.自助法(Bootstrapping)

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

自助法简单来说就是在数据集D中有放回的采样m次,得到包含m个样本的数据集 D ′ D' D

通过自助采样,D中约有36.8%的样本未出现在采样数据集 D ′ D' D中。于是我们可以将 D ′ D' D作为训练集,D\ D’作为测试集。这样实际评估的模型和期望评估的模型都使用m个训练样本,而我们仍有数据总量约为1/3的没有出现在训练集中的样本用于测试。这样的测试结果,亦称“包外估计”

自助法在数据集小、难以有效划分训练/测试集时很有用;此外,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法有很大的好处

但是自助法改变了初始数据集的分布,这会引入估计偏差。所以在样本量足够时,留出法和交叉验证法更常用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值