大家好,欢迎来到IT知识分享网。
一、预测问题评价指标
均方误差(MSE)
均方误差(Mean Square Error)简称MSE,公式如下:
其中y_i表示真实值,比如模型的真实,比如模型的label;“y_i尖”是预测值,如常用的y_pred。
MSE的范围:[0,+∞),预测值和真实值完全吻合时,MSE=0,即完美模型(实际模型训练中,基本不会出现的啦!!!);误差越大,MSE该值越大。
(目前没有时间学习latex公式啊,等我学会了,再更新下,重新敲啊,大家饶过我吧,哈哈)
均方根误差(RMSE)
平均绝对误差(MAE)
平均绝对百分比误差(MAPE)
对称平均绝对百分比误差(SMAPE)
均方对数误差(MSLE)
中位绝对误差(MedAE)
以上7种预测评价指标如何选用?
1.单个指标选用:
- 当看重真实值和预测值间的差的平方时,选用MSE或RMSE
- 当看重真实值和预测值间的绝对值误差时,选用MAE或MedAE,两者分别是误差的均值和中位数,MAE对极端值比较敏感
- 当看重真实值的数据中存在量级差,或不同样本的真实值存在量级差,而且更加关注真实值和预测值的百分比差异时,选用MAPE或SMAPE
- 当y具有随着x进行指数变动的趋势时,选用MSLE
2.多个指标搭配使用
- RMSE与MAE联合使用,可以看出样本误差的离散程度,若RMSE远大于MAE,则可以知道不同样本的误差差别很大
- MAE与MAPE,再结合“y八”(即y一横,y平均),可以估算不同数量级样例的拟合程度,若MAE远大于MAPE*(y平均),则可能是模型对真实值小的样本预测更准,此时就可以考虑为不同数量级的样本建立不同的模型。
二、分类问题评价指标
2.1单项分类问题指标
准确率(Accuracy)
精确率/查准率(Precision)
召回率/查全率(Recall)
2.2综合分类问题指标
F1分数(F1 score)
图2.2.1 PR曲线图
PR曲线
图2.2.1 PR曲线图
ROC曲线
图2.2.2 ROC曲线图 AUC特点:不关注具体得分,只关注排序结果,适用于排序问题的效果评估,例如推荐排序的评估。AUC有两种解释方法,一种是传统的“曲线下面积”解释,另一种是关于排序能力的解释。 例如:0.7的AUC,其含义可以大概理解为:给定一个正样本和一个负样本,在70%的情况下,模型对正样本的打分高于对负样本的打分。可以看出在这个解释下,我们关心的只有正负样本之间的分数高低,而具体的分值则无关紧要。 分析ROC曲线的四个点和一条线:
- (0,1):即FPR=0, TPR=1,这意味着FN=0,并且FP=0。这是一个完美的分类器,它将所有的样本都正确分类。、
- (1,0):即FPR=1,TPR=0,发现这是一个最糟糕的分类器,因为它成功避开了所有的正确答案
- (0,0):即FPR=TPR=0,即FP=TP=0,可以发现该分类器预测所有的样本都为负样本。
- (1,1):即FPR=TPR=1,即TN=FN=0,可以发现该分类器预测所有样本都为正样本。
- 虚线y=x:表示的是一个采用随机猜测策略的分类器的结果(FP = TN, TP = FN,这样FP+TP = TN + FN,即Y = N,也就是随机猜测了),例如(0.5,0.5),表示该分类器随机对于一半的样本猜测其为正样本,另外一半的样本为负样本。
综上,ROC曲线越接近左上角,性能越好。
AUC曲线
AUC是指ROC曲线下的面积,用于衡量分类器性能,AUC越接近1,分类性能越好;AUC越接近0,分类性能越差。
- AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。
- 0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
- AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
- AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。
为什么常用ROC曲线作为分类评价指标
因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化,用ROC作为衡量分类情况,更加稳定。下图是ROC曲线和Precision-Recall曲线的对比:
在上图中,(a)和©为ROC曲线,(b)和(d)为PR曲线。(a)和(b)展示的是分类其在原始测试集(正负样本分布平衡)的结果,©和(d)是将测试集中负样本的数量增加到原来的10倍后,分类器的结果。可以明显的看出,ROC曲线基本保持原貌,而PR曲线则变化较大。
2.3补充相关性指标
MCC
PCC
三、回归问题评价指标
MAE
MSE
均方误差(Mean Square Error)简称MSE,公式如下:
其中y_i表示真实值,比如模型的真实,比如模型的label;“y_i尖”是预测值,如常用的y_pred。
MSE的范围:[0,+∞),预测值和真实值完全吻合时,MSE=0,即完美模型(实际模型训练中,基本不会出现的啦!!!);误差越大,MSE该值越大。
下图是MSE函数的图像,其中真实值(目标值)是100,预测值范围为[-1000,1000],Y轴代表MSE取值范围从[0,+∞),且损失在100处最小。
RMSE
三者的比较
- MSE计算简便,但MAE对异常点具有更好的鲁棒性,RMSE是MSE的平方根,与MAE在同一量级
- MSE对误差取了平方(令e=真实值-预测值),因此若e>1,则MSE会进一步增大误差。如果数据中存在异常点,那么e值就会很大,而e则会远大于|e|。因此,相对于使用MAE计算损失,使用MSE的模型会赋予异常点更大的权重。
- 用RMSE计算损失的模型会以牺牲了其他样本的误差为代价,朝着减小异常点误差的方向更新,然而这就会降低模型的整体性能。如果训练数据被异常点所污染,那么MAE损失就更好用。
- MAE存在一个严重的问题(特别是对于神经网络):更新的梯度始终相同,也就是说,即使对于很小的损失值,梯度也很大,这样不利于模型的学习。为了解决这个缺陷,可以使用变化的学习率,在损失接近最小值时降低学习率。而MSE在这种情况下的表现就很好,即便使用固定的学习率也可以有效收敛。MSE损失的梯度随损失增大而增大,而损失趋于0时则会减小。这使得在训练结束时,使用MSE模型的结果会更精确。
所以,如何选择MAE、MSE、RMSE:
- 若异常点代表在商业中很重要的异常情况,并且需要被检测出来,则选用MSE;
- 若只把异常值当作受损数据,则选用MAE
处理异常点时,MAE损失函数更稳定,但它的导数不连续,因此求解效率较低。MSE损失函数对异常点更敏感,但通过令其导数为0,可以得到更稳定的封闭解。
四、常用损失
交叉熵损失与均值平方差损失是机器学习中常用的求损失函数的方式,其中交叉熵损失(Cross Entropy)一般针对的是分类问题,而均值平方差损失(MSE)主要针对的是回归问题。
4.1交叉熵损失(Cross Entropy)
交叉熵损失是KL散度的简化,在了解交叉熵之前,需要对信息论中熵的含义有基本的了解。
4.1.1信息熵
熵:是关于不确定性的描述,指的是整个系统内部样本之间的距离,或称之为系统内样本分布的集中程度、分散程度和混乱程度。
系统内样本越分散,信息熵就越大;分布越有序,信息熵就越小。
信息的大小和随机事件的概率有关,概率越小的事件发生,信息量就越大;概率越大的事件发生,信息量就越小,所以信息的度量应依赖于概率分布p(x)。
假设一离散型数据X=(x0,x1,x2),对应的概率为p(xi)。其中每个事件的信息量为: I(xi)=−log(p(xi)),根据熵的定义可得:
分析上式:
- 对概率取负对数表示了一种可能事件发生时候携带出的信息量
- 把各种可能表示出的信息量乘以其发生的概率之后求和,就表示了整个系统所有信息量的一种期望值。
综上,熵是表示信息量的期望,即平均信息量,而信息量与概率成反比,即概率越大的事件发生时所获得的信息量就越小,概率越小的事件发生时所获得的信息量就越大。
4.1.2KL散度
- 非对称性。KL(p||q)≠KL(q||p),KL散度用来度量两个分布的相似度或者距离,但KL散度本身并不是距离。
- 非负性。当p(x)和q(x)两个分布完全相同时,其值为0
- 不满足三角不等式
本质上,KL散度度量的是两者间的信息损失,而不是两者之间的距离。
4.1.3JS散度
- 解决了KL散度非对称的问题,即满足:JS(p||q)=JS(q||p)
- 取值范围:[0,1]
4.1.4交叉熵
- 描述了两个概率分布间的距离
- 交叉熵越小,两个概率分布越接近
4.1.5KL散度、信息熵、交叉熵三者的关系
KL散度=信息熵+交叉熵
交叉熵损失常用于分类问题,而且离散的变量,具体是为啥呢?
因为目标是训练模型使得模型拟合的分布与数据的真实分布差异尽可能小,便想到KL散度
数据集的真实值是确定的,即信息熵H§是确定的常数,因此最小化交叉熵即可。
4.2均方误差损失(MSE)
- 交叉熵损失常用于分类问题,而且离散的变量
- 均方误差损失常用于回归问题,而且是连续的变量
五、鲁棒性与泛化性
鲁棒性:指的是模型对于输入数据的健壮性,即模型在遇到各种不同的数据输入时,仍然能够保持高效的表现。一个鲁棒性强的模型能够在噪声、缺失数据或者其他异常情况下也能够准确地预测结果。
泛化性:则是指模型对于新数据的适应能力,即模型能否对于未在训练集中出现的数据进行准确的预测。一个具有很强泛化性的模型能够在不同的数据集上都表现出色,而不仅仅是在训练集上表现好。
通俗点说,鲁棒性关注的是模型对于已知情况的适应能力,而泛化性则关注的是模型对于未知情况的适应能力。深度学习中的目标是构建既有鲁棒性又有泛化性的模型,即能够在多种情况下都能够高效准确预测结果的模型。
https://blog.csdn.net/weixin_/article/details/
(常总结,常复盘,如有问题,欢迎指出、欢迎讨论!!!)
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/132073.html