1 模型选择方法
下图是不同阶多项式回归问题,从中可以看到不同的M取值所对应的不同效果,M=0和M=1时都是欠拟合,M=9多拟合,M=3时多项式回归模型刚好合适,在实际应用中不能将每个模型都画出来进行观察。
在模型选择中如何才能得到一个不过拟合也不欠拟合的模型?将数据集分为:训练集,交叉验证集,测试集。对于每个可能的模型,用训练数据训练模型然后在训练好的模型上做交叉验证,在所有的模型中选出交叉验证结果最好的模型最为最终模型,然后在最终模型上的测试数据的精度作为最终的模型精度。
2 交叉验证
有的时候也将数据集分为训练集和测试集,将训练数据集再次作为测试数据集用于测试模型的性能,在方法论上是错误的,因为这种测试方法会使模型对未知数据的预测误差变得很大。
为了避免过拟合,用训练集训练模型,用测试集测试模型的性能。
但是这种划分方法会减少训练集中的样本,也许对模型很有用的样本最终就没有被划分到训练集中。所以一种解决方法是将数据全集连续划分多次,使之成为多个训练集和测试集,最终的模型得分是这几个训练集和测试集的平均得分,这一过程称为交叉验证。交叉验证计算时间较长,但是不会浪费样本数据信息,交叉验证方法在小数据时相当有用。
2.1 计算交叉验证指标
有数据d,经过k次平均分割,每次分割成
2.2 数据集分割方法
2.2.1 K折法
将数据平均分成
2.2.2 留一验证法(LOO)
留一验证从样本全集中取出一个作为测试样本,剩下的所有样本作为训练样本。假设有
2.2.3 留P个样本验证(LPO)
这个方法和留一验证法类似,留一验证中留的是留一个样本作为测试样本,这里留的是
3 模型性能的评价准则
3.1 混淆矩阵
二分类问题的混淆矩阵如下,
图3.1.1 二分类问题混淆矩阵
定义:
3.2 准确率、召回率、F-得分
1 二分类问题
定义:按照图1.2-1中的定义,得到二分类的准确率、召回率、F-measures如下
2 多分类问题
定义:
y 是预测结果(集合),集合元素为(sample,label) y^ 是真实结果(集合),集合元素为(sample,label) L 是类别集合S 是样本集合yl 是类别l 的预测结果P(A,B)|A∩B||A| R(A,B)|A∩B||B| Fβ(A,B)(1+β)P(A,B)×R(A,B)β2P(A,B)+R(A,B)
1)对所有类别的准确率、召回率、
Fβ 度量值求平均:
2)对整个样本计算准确率、召回率、
Fβ 度量值:
这中算法中
3)支持度加权平均计算准确率、召回率、
Fβ 度量值:
4)分别计算每个类别的准确率、召回率、F-得分,类似于1)中的不加权情况。