模型评估
- 误差:实际输出与预测输出之间的差值
- 经验误差:在训练集上的错误率;
- 泛化误差:在测试集上的错误率
欠拟合与过拟合
欠拟合:模型学习能力低下;
解决办法:增加训练轮数或从模型本身的特征出发:如NN增加神经元个数
过拟合:模型学习能力过于强大
解决办法:无法彻底避免;使经验误差最小化得意缓解
训练、测试数据的划分
留出法: 直接将数据集划分为两个互斥的集合:训练集和测试集
数据划分时应尽量保持数据分布的一致性,各自的正负样本比例应一样;
即便划分后数据分布一样,但是划分方法有很多种,应多用几种划分方式,最后取其模型评估结果的平均值作为最终结果交叉验证
交叉验证法划分数据集又称“k折交叉验证”,评估结果的稳定性与K关系极大
同样的取划分次数后各自模型的结果平均作为最终结果。
次法结果虽然准确但是开销太大自助法(bootstrapping): 类似有放回的采样
数据集D样本总数m,每次从D中采样一个样本,重复执行m次获得新数据集
最后大概有%36的数据不会被采样到,这部分数据可作为测试集;这样的测试结果又叫做包外估计(oob,out-of-bag)
当数据集较小或样本分布不均时作用颇大
如何评估泛化性能
回归任务
- 均方误差(mse)
mse=1m∑(f(xi)−yi)2 m s e = 1 m ∑ ( f ( x i ) − y i ) 2
分类任务
- 错误率: am a m
- 精度:
1−am
1
−
a
m
, 其中,m:样本数,a:分类错误数
分类混淆矩阵:
查准率(精度,precision)
precision = TPTP+FP T P T P + F P
查全率(召回率.recall)
recall=TPTP+FN r e c a l l = T P T P + F N
F1
F1=2∗precison∗recallprecision+recall F 1 = 2 ∗ p r e c i s o n ∗ r e c a l l p r e c i s i o n + r e c a l l
- ROC与AUC
对预测样本的排序能力,评价模型的综合性能
偏差和方差:矛盾体
偏差与方差是矛盾的,偏差高则方差低;反之亦然
- 偏差:算法本身的学习能力
- 方差:变换数据所带给它的学习能力的变化