在建模过程中,由于偏差过大导致的模型欠拟合以及方差过大导致的过拟合的存在,为了解决这两个问题,我们需要一整套方法及评价指标。其中评估方法用于评估模型的泛化能力,而性能指标则用于评价单个模型性能的高低。
【过拟合】:指模型对于训练数据拟合呈过当的情况(拟合得太好了),很可能已经把训练样本自身的一些特点当作所有潜在样本都会具有的一般性质,这样就会导致泛化性能下降。反映到评估指标上,就是模型在训练集上的表现很好,但在测试集和新数据上的表现较差。
过拟合是机器学习的关键障碍,虽然各类学习算法都必然带有一些针对过拟合的措施;然而,必须认识到过拟合是无法彻底避免的,我们所能做的只是“缓解”,或者说减小其风险。
【欠拟合】:指模型在训练数据上拟合得不好,并且在测试数据上拟合得也不好。简单地说,欠拟合指的是模型在训练和预测时表现都不好的情况。主要原因在于模型的学习能力低下。
降低“欠拟合”风险的方法
【数据】:
①获得更多的训练数据:更多的样本能够让模型学习到更多更有效的特征,减小噪声的影响。
②添加新特征:当特征不足或者现有特征与样本标签的相关性不强时,模型容易出现欠拟合。
挖掘“上下文特征”、“ID 类特征”、“组合特征”等新的特征。
深度学习:因子分解机、梯度提升决策树、Deep-crossing 等都可以成为丰富特征的方法。
【模型】:
①增加模型复杂度:通过增加模型的复杂度可以使模型拥有更强的拟合能力。
线性模型:添加高次项。
决策树模型:不采用剪枝手段,不限制叶节点的个数以及树的深度。
神经网络:增加网络层数或神经元个数。
②减小正则化系数:针对性地减小正则化系数。
降低“过拟合”风险的方法
【数据】:
获得更多的训练数据:更多的样本能够让模型学习到更多更有效的特征,减小噪声的影响。
【模型】:
①降低模型复杂度:在数据较少时,模型过于复杂是产生过拟合的主要因素,适当降低模型复杂度可以避免模型拟合过多的采样噪声。
神经网络:减少网络层数、神经元个数。
决策树:降低树的深度和叶节点的个数、进行剪枝等。
②正则化方法:给模型的参数加上一定的正则约束,比如将权值的大小加入到损失函数中。常用的惩罚项有 l1 惩罚项和 l2 惩罚项。
③集成学习方法:把多个模型集成在一起,来降低单一模型的过拟合风险。
④【增加数据的途径】:一般来说直接增加训练数据很困难,但可以通过一定的规则来扩充训练数据。
图像分类问题:通过图像的平移、旋转、缩放等方式扩充数据。
生成式对抗网络:合成大量的新训练数据。
模型的泛化性能是由学习算法的能力,数据的充分性及学习任务本身的难度所决定的,良好的泛化性能代表了较小的偏差,即算法的期望预测结果与真实结果的偏离程度,同时还要有较小的方差,即随训练样本的变化算法本身的学习能力变化不大。
一、模型评估方法
在模型评估中,我们经常要对数据集进行训练集和测试集的划分,数据集划分通常要保证两个条件:
①训练集和测试集的分布要与样本真实分布一致,即训练集和测试集都要保证是从样本真实分布中独立同分布采样而得;
②训练集和测试集要互斥,即两个子集之间没有交集。
基于划分方式的不同,评估方法可以分为:留出法,交叉验证法及自助法;
1.留出法:
留出法是直接将数据集划分为两个互斥的集合,其中一个集合作为训练集,另一个作为测试集。(即常用的sklearn中的model_selction模块中train_test_split,但数据集中会存在部分数据没有运用到模型中);
2.交叉验证法:
3.自助法:
在统计学上是一种有放回的抽样方法,不同于留出法和交叉验证法无放回的抽样方式。在做数据集分类时,如果我们对整体样本n进行n次有放回抽样得到n个样本,然后把抽到的n个样本作为训练集,其中会出现部分样本重复,同时有一部分样本一次也没被抽到,这部分作为测试集。
在有放回的n次抽样中,每次每个样本被抽中的概率为1/n,反过来,未被抽中的概率为1-1/n,进行n次抽样后,这个样本不被抽中的概率为1-1/n的n次方,当n的取值趋近于无穷大时,样本未被抽中的概率为e的负一次方,约等于0.368,因此可以认为测试集的样本大概会是整体样本的36.8%。
根据以上不同方法的特点,在样本量较多的情况下一般选择留出法或交叉验证法来对数据进行分类,在样本较少的情况下采用自助法。
二、模型性能指标
1.混淆矩阵:
混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示。混淆矩阵(confusion matrix)是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵。
举例:
对应矩阵:
结合实际工作中的专业术语:
其中,各字母所代表含义:
T | True | 预测 正确 |
F | False | 预测 错误 |
P | Positive | 实际为正 |
N | Negative | 实际为负 |
针对上述4种组合,可以这样理解:
首先看第二个字母,即为实际的情况,再看第一个字母,为预测的情况;
例如:TP,实际为P,预测为T;翻译为实际为正,预测为正;
重要概念:
1. 真阳性(True Positive,TP):样本的真实类别是正例,并且模型预测的结果也是正例
2. 真阴性(True Negative,TN):样本的真实类别是负例,并且模型将其预测成为负例
3. 假阳性(False Positive,FP):样本的真实类别是负例,但是模型将其预测成为正例
4. 假阴性(False Negative,FN):样本的真实类别是正例,但是模型将其预测成为负例
混淆矩阵延伸出的各个评价指标: