算法模型的评估
过拟合与欠拟合
在我们训练一个机器模型之后,往往需要对此模型进行评价,一些术语需要对此进行了解。
过拟合:在训练时我们往往不希望模型对所有的数据都能得到很好的拟合,因为一旦这样往往在新的样本上表现的不一定好。
常见的形式是:训练过程损失函数逐渐收敛的很好,而测试时损失函数很大,并且不易收敛。这也说明这个模型泛化能力很差。
打个比方:平时做题训练时答得都很好,一旦考试就不会,这说明它的泛化性不够好,我们往往希望得到一个泛化性能高的模型。
导致过拟合的常见情况为学习能力过于强大,即把学习率调低一些,或者设置成为动态的学习率。
欠拟合:与过拟合相对应的,训练样本的一般性质没有学到,可以考虑加大学习率。
模型的评估方法
留出法:分配训练集与测试集,比如在目标检测时,提前按照比例分配好训练集与测试集后,根据训练出的模型及进行测试,根据预测出来的框的位置与之前标注时框的位置做一个交并比(交集与并集面积之比)通常认为比值大于0.5认为检测出来,以此来进行检测有着不足,当样本较少时,仅仅0.2的测试集不足以评估出模型的准确率。因此往往需要用到交叉验证法
交叉验证法:把数据集分成10份,
123456789份训练1第0份验证
1234567910份训练第8份验证…以次类推做10折交叉法。
混淆矩阵
错误率:分类错误的样本数占样本总数的比例
精度:分类正确样本数占样本总数的比例
正 ------- ------------------------- 负 | |
---|---|
真T | TP---------------------------------TN |
假F | FP(误报)--------------------------------FN(漏报) |
查准率(precision)=TP/(TP+FP)
查全率(recall)=TP/(TP+FN)
查准率和查全率是一对矛盾的度量.一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低.
几种评价曲线
很多情形我们可根据学习器的预测结果对样例进行排序,排在前面的是学习器认为"最可能 "是正例的样本,排在最后的则是学习器认为"最不可能"是正例的样本。按此顺序逐个把样本作为正例进行预测,则每次可以计算出当前的查全率、 查准率以查准率为纵轴、查全率为横轴作图 ,就得到了查准率- 查全率曲线,简称 P- R线
ROC曲线与AUC
与PR曲线类似,将预测出来的值与阈值比较,大于作为正类,小于阈值作为负类。ROC曲线是另外一种模型评价曲线,它的面积即为AUC。ROC 曲线则是研究学习器泛化性能的有力工具。
该曲线的横轴是‘假正例率FPR’,纵轴是真正例率(TPR)。
FPR=TP/(TN+FP)
TPR=TP/(TP+FN)
参考:周志华机器学习