四 模型的评价指标和质量

分类模型评判指标: Precision、Recall 和 F1Score
对于分类而言,最简单也是最常见的验证指标:精准率(Precision)和召回率(Recall),为了综合这两个指标并得出量化结果,又发明了 F1Score。

当一个测试集全部被预测完之后,相对于 Class_A,会有一些实际是 Class_A 的数据被预测为其他类,也会有一些其实不是 Class_A 的,被预测成 Class_A,这样的话就导致了下面这个结果:
模型的评价指标和质量_测试数据
精准率:Precision=TP/(TP+FP),即在所有被预测为 Class_A 的测试数据中,预测正确的比率。

召回率:Recall=TP/(TP+FN),即在所有实际为 Class_A 的测试数据中,预测正确的比率。

F1Score = 2*(Precision * Recall)/(Precision + Recall)

显然上面三个值都是越大越好,但往往在实际当中 P 和 R 是矛盾的,很难保证双高。

此处需要注意,P、R、F1Score 在分类问题中都是对某一个类而言的

假设这个模型总共可以分10个类,那么对于每一个类都有一套独立的 P、R、F1Score 的值。衡量模型整体质量,要综合看所有10套指标,而不是只看一套。

这套指标还和测试数据有关。同样的模型,换一套测试数据后,很可能 P、R、F1Score 会有变化,如果这种变化超过了一定幅度,就要考虑是否存在 bias 或者 overfitting 的情况

欠拟合还是过拟合

一个机器学习模型的质量问题,从对训练集样本拟合程度的角度,可以分为两类:欠拟合(Underfitting)和过拟合 (Overfitting)。

如何严格定义欠拟合还是过拟合,还要涉及几个概念:bias、error 和 variance

以下是感性认识:
模型的评价指标和质量_数据_02

如果一个模型,在训练集上的预测结果就不佳,指标偏低,那一般是欠拟合的问题。

如果在训练集上指标很好,而在验证/测试集上指标偏低,则很可能是过拟合问题。

甚至有时候,在训练集和验证/测试集上效果都不错,一到真实环境却预测误差较大,这种情况也是过拟合。

对于两种不同的问题,解决方法各不相同。

欠拟合多数情况下是因为选定模型类型太过简单,特征选取不够导致的。而过拟合则相反,可能是模型太过复杂,特征选择不当(过多或组合不当)造成的。

相应的解法,当然是有针对性地选择更复杂/简单的模型类型;增加/减少特征;或者减小/增大正则项比重等。

但有一点,无论哪种问题,增大训练数据量都可能会有所帮助。