《机器学习》——第二章 模型评估与选择
一、经验误差和过拟合
1.1 经验误差和泛化误差
错误率公式 错误率 = 错误样本 样本总数 \text{错误率}=\frac{\text{错误样本}}{\text{样本总数}} 错误率=样本总数错误样本
精度公式 精度 = 1 − 错误率 \text{精度}=1-\text{错误率} 精度=1−错误率
经验误差(训练误差):学习器在训练集上的误差
泛化误差:学习器在新样本集上的误差
1.2 过拟合和欠拟合
过拟合:学习器把训练集的样本学得太好了,可能把训练样本自身的一些特点当做了潜在样本都会具有一般的性质,导致泛化能力下降
欠拟合:对训练样本的一般性质尚未学好
周志华老师在书中举出了这样的一个例子
二、评估方法
由于泛化误差难以测试出,因此采用测试误差作为近似误差即
泛化误差 ≈ 测试误差 \text{泛化误差}\approx \text{测试误差} 泛化误差≈测试误差
2.1 留出法
直接将数据集D划分为两个互斥的集合,其中一个是训练集S,一个是测试集T,S和T满足下列关系
{ D = S ∪ T ∅ = S ∩ T \left\{ \begin{array}{c} D=S\cup T\\ \varnothing =S\cap T\\\end{array} \right. {
D=S∪T∅=S∩T
Tip:由于数据样本容量的大小不同,对最终模型学习的结果产生一定的影响,而因为学习算法需要对数据集D进行学习,而这种方法需要对数据集D进行划分,因此通用的解法是将大概2/3~4/5的数据作为训练集,剩下来的作为测试集
2.2 交叉验证法
交叉验证法:对数据集D划分为K个大小相似的互斥子集,采用分层采样的方法,即 D = D 1 ∪ D 2 ∪ ⋯ ∪ D k ( D i ≠ D j ) D=D_1\cup D_2\cup \cdots \cup D_k\left( D_i\ne D_j \right) D=D1∪D2∪⋯∪Dk(Di=Dj)
交叉验证法的流程图如下所示,
2.3 自助法
一句话概括就是,通过自助的方法对数据集中的数据进行等概率的放回型采用,所以样本在m次采样中始终不被采样到的概率为
lim ( 1 − 1 m ) m ≈ 0.38 \lim \left( 1-\frac{1}{m} \right) ^m\approx 0.38 lim(1−m1