美文网首页
机器学习性能指标分析

机器学习性能指标分析

作者: yaoleiroyal | 来源:发表于2018-12-10 15:09 被阅读0次

    概述

    我目前了解到的,机器学习主要分为如下几个方向:

    2018-05-09-17-44-10.jpg

    不同的研究方向,需要不同的机器学习算法,同样也需要针对性的性能评价指标

    2018-12-09-16-58-33.jpg

    其中:分类问题,一般又为分为二分类多分类

    有监督/无监督

    所有的样本数据集中,给出真实结果的,就叫有监督学习;只给样本数据,没有结果,自己猜的,就叫无监督学习

    分类问题

    预测离散值的问题,一般属于分类问题。如果只预测两个值,即二分类;如果预测多个值,即多分类。比如mnist预测的就是0~910个数字,就是多分类;而像是否一类的问题,比如垃圾邮件识别,就属于二分类

    回归问题

    预测连续值的问题,就属于回归问题。比如根据一些样本数据,预测未来房价的走势,就属于回归问题。我个人理解,回归问题,预测出来的值是不可枚举的,而分类问题基本上可枚举的。

    聚类问题

    属于无监督机器学习,之所以会有聚类问题,因为现实生活中不是所有数据都带有标记(或者说标记是未知的)。所以我们需要对无标记的训练样本进行学习,来揭示数据的内在性质及规律。

    下面是我通过查资料以及实际在一些计算平台上操作,所总结出来的可以评价机器学习性能的具体指标。

    二分类问题

    其实二分类多分类本质上都是分类问题,理论上所有适用于多分类的性能评价指标,都是适用于二分类的,但是因为二分类有其特殊性(0/1,True/False),所以在指标的展示上,会比多分类要丰富一点。

    2018-05-09-19-36-58.jpg

    基于上图矩阵,科学家们定义了如下几个指标:

    • 精确率Precision = 提取出的正确信息条数 / 提取出的信息条数

    • 召回率Recall = 提取出的正确信息条数 / 样本中的信息条数

    • F1值 = 正确率 * 召回率 * 2 / (正确率 + 召回率)

    以及F1 score

    2018-05-09-19-47-57.jpg

    ROC和AUC

    其实预测结果怎么知道是1还是0呢?一般情况下通过函数转换,计算出来的结果是介于0~1之间的实数,而最终的结果是通过阀值来区分的,比如大于0.5的就认为是1,否则就是0。那么阀值的变化,会对最终的预测结果产生非常大的影响。

    ROC曲线想表达的,应该就是遍历所有阀值,所计算出来的真正率负正率的变化情况。

    2018-05-09-20-02-57.jpg

    最理想的模型,就是这条曲线只有一个点,即左上角,即无论阀值如何变化,预测出来的正值全都是对的。

    现实一点说,蓝色曲线红色曲线之上,就表示这个训练出的模型预测正确的概率是大于0.5的;如果两条线重合,表示这个模型预测的结果跟瞎蒙的概率是一样的;如果蓝色曲线红色曲线之下,那这个模型就非常烂了,还不如瞎蒙!

    ROC曲线,就带出来AUC指标,它所表达的就是上图中蓝色曲线下方的所有面积,理论上,如果蓝色曲线集中在左上角的话,面积为1,这是最理想的指标,现实中AUC指标介于0~1之间,越接近1越好。

    我们系统在实现时,可以参考下图:

    2018-05-09-20-12-06.jpg

    可以让用户通过选择不同的阀值,或者指标,来展示具体的点,以及更详细的指标:

    2018-05-09-20-13-36.jpg

    下面再列几个二分类的指标:

    2018-05-09-20-16-24.jpg

    个人感觉红框内的指标是我们要展示的。

    预测指标

    最主要的仍然是ROC曲线。

    2018-05-09-20-38-19.jpg

    以及由此引发的:

    2018-05-09-20-44-02.jpg
    2018-05-09-20-44-38.jpg
    2018-05-09-20-45-08.jpg

    GAIN值和LIFT值

    2018-05-09-20-45-26.jpg

    多分类

    混淆矩阵

    这个应该是多分类最主要的指标,所谓混淆矩阵拿二分类来表示的话,如下图:

    2018-05-09-20-48-28.jpg

    即看看所有预测值与真实值之间的分布情况,从而算出每个分类的错误率,如上图中左上和右下是正确预测,其它是错误预测。那么通用一点,在多分类中,可以类似如下的图表来展示混淆矩阵

    2018-05-09-20-50-41.jpg

    下面这个是阿里的二分类混淆矩阵

    2018-05-09-20-56-40.jpg

    多了几个指标。

    其它指标

    2018-05-09-20-54-17.jpg

    上图类似二分类,但是少了AUC

    2018-05-09-20-54-56.jpg

    预测指标

    同上。

    回归问题

    直接截图,不想写了:

    2018-05-09-21-01-17.jpg

    聚类问题

    未知。

    通用衡量指标

    损失以及对数损失

    以前搞深度学习时,都直接是损失,但是在使用h2o研究机器学习时,都是使用logloss,不知道是什么原因。

    2018-05-09-21-02-46.jpg

    特征项重要性(VARIABLE IMPORTANCES)

    该指标描述所有特征项中,哪些特征对最终结果的影响最大,按影响程度大小来展示图表。

    2018-05-09-21-05-49.jpg

    算法模型summary

    下面简单列几个我知道的,不同算法下,训练结果所展示的模型summary

    分布式随机森林(Distributed Random Forest)

    2018-05-09-21-08-37.jpg

    XGBoost

    2018-05-09-21-09-27.jpg

    相关文章

      网友评论

          本文标题:机器学习性能指标分析

          本文链接:https://www.haomeiwen.com/subject/gjlkhqtx.html