机器学习与数据挖掘深度学习·神经网络·计算机视觉

机器学习笔记:模型选择与评估

2019-03-07  本文已影响85人  黑羊的皇冠

前言

在机器学习中,我们需要用一些方法去衡量我们选择的模型效果的优劣。这里我记录了一些比较常见的方法,以此来评估我们选择的模型在此场景下的优劣程度。

一、介绍

我们将学习器预测输出与样本真实输出的差异称为误差。预测正确的样本数占样本总数比例称为准确率(accuracy),相反错误样本数占样本总数的比例称为错误率(error rate) 。 但是准确率并不能有效说明机器学习性能,实际上达到准确率100%的学习器在大多数情况都不好。

我们实际希望得到的是能够在新样本上表现很好的机器。在新样本上的误差,我们称为泛化误差。训练学习器的时候,学习器学习训练集“太好”,导致将训练集的一些特点当成所有样本的普遍规律,这样会导致泛化性能下降,这种现象在机器学习中被称为“过拟合”(overfitting)。相反的学习器学习训练集太差,训练集一般的性质都没有学好,称为“欠拟合”(underfitting)。

二、评估方法

现实任务中,我们需要选择合适的模型和合适的参数。那么我们方案通常是,对候选的模型进行泛化误差评估,选取泛化误差最少的模型。

我们需要使用一个测试集来测试学习器对新样本的泛化能力。测试样本也是从样本真实分布中独立同分布采样而得。测试集和训练集尽可能互斥。

2.1 留出法
2.2 交叉验证法 如图2-1所示:
图2-1 交叉验证法图例
2.3 自助法
2.4 小结

(1)自助法在数据量较小,训练集测试集难分的时候比较适用。在初始数据量足够时,留出法和交叉验证法更加适用。

(2)我们在对比不同算法模型的泛化性能时,我们用测试集来评估模型实际的泛化能力,而把训练集另分为训练集和验证集,用验证集评估来做模型选择和调参。

(3)当模型选择完成后,学习算法和参数配置已选定,此时应该将所有数据集用来重新训练模型,这个模型在训练过程中使用了所有的样本,这才是最终我们提交给用户的模型。

三、评估指标

3.1举例

我们需要从100名同学中(男50名,女50名),选出所有女生。通过分类器模型后,选取结果为40名女生20名男生。

分类结果混淆矩阵 如图 3-1 所示:


图3-1 分类结果混淆矩阵

我们需要的是女生所以,选取女生称为相关,选取的男生为无关。即我们可以得到混淆矩阵,如图3-2所示:


图 3-2 分类结果混淆矩阵

accuracy(准确率)是用来计算识别正确的人数在总人数中的比例,即分类正确的女生数占总人数比例,TP/(TP+FP+FN+TN)=40/(40+20+10+30)。根据accuracy,在某些场合可以说明一个分类器的有效度,但是很多时候,并不能充分评估一个模型的好坏。

precision(精准率)计算检测到的正确人数占模型中所有检测到的人群比例,即分类出的女生人数占所有分类人数比例,P=TP/(TP+FP)=40/(40+20)

recall(召回率)计算检测到正确人数占正确的总人数比例,即分类正确的女生数量占所有女生数的比例,R = TP/(TP+FN) = 40/(40+10)

F1 为了衡量召回率和精准率两个综合评估值,计算公式:F1=2*PR/(P+R)

3.2 mAP(mean Average Precision)

mAP是为解决P,R,F-measure的单点值局限性的。Average Precision,即平均精确度。mAP即平均AP值。

根据P-R图,我们可以直观表示全局性能的指标。precision,即准确率;recall,即召回率。P-R即以precision 和 recall作为纵、横轴坐标的二维曲线。 如图3-3所示

图3-3 P-R曲线与平衡点示意图

如何根据P-R图评价学习性能:

  1. 第一种方法是比较曲线下面积,但值不太容易估算;

  2. 第二种方法是比较两条曲线的平衡点,平衡点是“查准率=查全率”时的取值,在图中表示为曲线和对角线的交点。平衡点在外侧的曲线的学习器性能优于内侧。

  3. 第三种方法是F1度量和Fβ度量。F1是基于查准率与查全率的调和平均定义的,Fβ则是加权调和平均。

F1、Fβ、mAP数学公式:如图3-4、3-5、3-6所示:


图3-4 F1数学公式
图3-5 Fβ数学公式
图3-6 mAP数学公式
3.3 ROC(Receiver Operating Characteristic)

ROC可以用来说明二分类器在识别阈值变化时的性能, 在逻辑回归中,我们设置一个阈值,大于阈值我们称为正类,小于阈值为负类。我们降低阈值,会使更多样本分为正类,同时也会使得一部分负类被错分为正类。ROC曲线可以形象表示这一变化,评价分类器的好坏。

ROC有两个重要指标,一个TPR代表正例分对的概率,另一个为FPR,代表负例错分为正例的概率。

True Positive Rate ( TPR ) = TP / [ TP + FN] ,TPR代表能将正例分对的概率

False Positive Rate( FPR ) = FP / [ FP + TN] ,FPR代表将负例错分为正例的概率

在 ROC 空间中,每个点的横坐标是 FPR,纵坐标是 TPR,这也就描绘了分类器在 TP(真正率)和 FP(假正率)间的 trade-off2。如图3-7所示


图3-7 ROC示意图

由于二值分类问题往往是连续的,通过变化阈值大小,进行分类。根据分类结果计算得到ROC空间上的点,连接这些点形成的ROC curve。ROC curve经过(0,0)(1,1),实际上(0, 0)和(1, 1)连线形成的ROC curve实际上代表的是一个随机分类器。一般情况下,这个曲线都应该处于(0, 0)和(1, 1)连线的上方。

3.4 AUC(Area Under roc Curve)

通过ROC curve可以直观的看出分类器的performance,但是我们希望有一个数值来表示这个分类器具体的好坏,这个就是AUC(Area Under roc Curve) 。

顾名思义AUC就是ROC curve下方与坐标轴围成的面积。

3.5 方差与偏差

学习器在新样本上产生的误差被称为泛化误差,泛化误差又可以分解为偏差(bias), 方差(variance) 和噪声(noise) 。

噪声属于不可约减的误差,所以这里我们只需关注方差和偏差。

我们利用靶心图来直观体现偏差与方差,如图 3-8所示:

图 3-8 方差与偏差图例

泛化误差

图3-9 泛化误差表达式

方差:

图3-10 方差表达式

偏差:

图3-11 偏差表达式

f(x;D):由训练集D学得的模型f对x的预测输出

f¯(x):模型f对x的期望预测输出

一般来说,我们希望方差和偏差都尽可能小,但实际上方差和偏差有冲突,称为偏差-方差窘境 (bias-variance dilemma)

3-6 均方误差(MSE)和均方根误差(RMSE)和平均绝对误差(MAE)

(1)均方误差MSE: Mean Squared Error

均方误差是指参数估计值与参数真值之差平方的期望值; 回归任务最常用的评估指标,MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。如图3-12所示:

图3-12 均方误差MSE

(2)均方根误差(RMSE)

均方误差:均方根误差是均方误差的算术平方根。如图3-13所示:


图3-13 均方根误差RMSE

(3)平均绝对误差(MAE: Mean Absolute Error)

平均绝对误差是绝对误差的平均值,平均绝对误差能更好地反映预测值误差的实际情况。如图3-14所示:

图3-14 平均绝对误差MAE

fi表示预测值,yi表示真实值

总结

这里介绍了一下用于评估模型的一些常见的方法,更多的评估方案都是根据自己实际项目需求来自己定制,欢迎对此感兴趣的小伙伴一起学习探讨。最近会写一些机器学习相关的内容,都是自己的笔记,如果有什么错误,还请大家指出来,非常感谢。

如果您喜欢我的文章,请关注或点击喜欢,您的支持是我最大的动力 ^ ^~!
仅供学习参考,切勿用于商业用途
转载请注明作者及其出处

黑羊的皇冠 简书主页

上一篇下一篇

猜你喜欢

热点阅读