2.1经验误差与过拟合
- 错误率:分类错误的样本占样本总数的比例。
- 精度:1 - 错误率
- 训练误差:学习器在训练集上的误差
- 泛化误差:在新样本上的误差
- 过拟合:过度学习样本非主要特征导致学习器泛化能力下降
- 欠拟合:未完全学习样本的特征
目的:更好的预测——在新样本表现更好的学习器——在训练样本中找寻潜在的普遍规律,这就很可能造成过拟合或者欠拟合。过拟合是避免不了的,而通过增加训练的轮数、扩展决策树分支等方法可以克服欠拟合;
由于样本的大小和算法学习能力的大小导致的,过拟合是机器学习中的主要障碍,且机器学习中遇到的问题通常是NP难问题,机器学习的有效解必然是在多项式时间内的,如果彻底避免了过拟合,说明构造性的证明了P=NP,然而事实上这件事并没有被证明,所以只要P!=NP,则过拟合就无法避免。
在众多算法中选择泛化能力最强的方法是,即模型选择的方法是模型评估,选择其中误差最小的。 - 模型选择:学习算法+参数配置
2.2评估方法
- 用测试集的测试误差来近似的替代泛化误差,测试集要与训练集互斥。
- 将数据集分为训练集和测试集的方法:留出法,交叉验证法和自助法。
- 留出法:
2/3~4/5 作为训练样本,其余作为测试样本,既保证训练集与数据集之间的差别不过大,又保证训练集没有占有绝大多数的样本;训练测试集的划分,尽量保持数据分布的一致性,多种划分方式若干次随机划分重复实验评估取平均值。 - 交叉验证法:将数据集进行划分成k个互斥且并为数据集的子集合,每次使用k-1个子集作为一个训练集,余下一个作为测试集,进行k次实验,同样,在划分数据集时候存在不同方式,每种划分方式下进行k次实验。一般,取10次划分方式,每次划分成10个子集,总共进行了100次实验。。。特别的,留一法,每次将每个样本作为一个子集,这样有可能提高准确性,但是代价比较大
- 自助法:是以上两个方法的折中。数据集D,从D 中m次随机有放回取样得到集合D
,将D
作为训练集合,D-D`作为测试集。这样会引起估计偏差。在数据集合足够大的时候,采用留出法或交叉验证法
2.3性能度量
- 性能度量就是学习器的预测结果与真实结果的比较。常见的有回归任务的均方误差。
错误率和精度。 - 查准率,查全率和F1.
- 查准率:预测为正的中,多少是正确的。
- 查全率:样本中正的中,多少被查找出来。
- F1,两者结合。FB中B大于1查全率影响大,B小于1查准率影响大。
宏查准率,宏查全率,宏F1,微查准率,微查全率,微F1 - 代价敏感错误率与代价曲线,不仅仅考虑错误次数,而要考虑错误之后的代价。也就是总体代价。
2.4比较检验
- 有了评估方法和性能度量,不能简单的进行结果比较,因为,1.不同的测试集差别很大 2.目的是泛化性能,测试性能与之还有差距 3.学习算法本身有一定的随机性,相同的参数设置在同意测试集多次运行,结果也不相同。
- 统计假设检验为性能比较提供了重要依据。
2.5偏差与方差
- 偏差:预测输出与真实标记的偏离程度,即刻画的拟合程度。
- 方差:同样大小的数据集的变化所导致的学习性能的变化,刻画的数据扰动所造成的影响。
- 噪声:当前任务任何学习算法所能达到的期望泛化误差的下界。