【问题标题】:What are the metrics to evaluate a machine learning algorithm评估机器学习算法的指标是什么
【发布时间】:2014-01-13 13:11:16
【问题描述】:

我想知道什么是 various techniquesmetrics 用于评估算法的准确度/好坏程度,以及如何使用给定的指标得出关于 ML 模型的结论。

一种方法是使用精确度和召回率,正如here in wikipedia 所定义的那样。 另一种方法是使用here 解释的准确度指标。那么,我想知道是否还有其他指标可以评估 ML 模型?

【问题讨论】:

    标签: machine-learning


    【解决方案1】:

    不久前,我编制了一份用于评估分类和回归算法的指标列表,格式为cheatsheet。分类的一些指标:精度、召回率、敏感性、特异性、F-measure、马修斯相关性等。它们都是基于混淆矩阵的。其他用于回归(连续输出变量)。

    该技术主要是对一些数据运行算法以获取模型,然后将该模型应用于新的、以前未见过的数据,并在该数据集上评估指标,然后重复。

    一些技巧(其实resampling techniques来自统计):

    • 折刀
    • 交叉验证
    • K 折验证
    • 引导程序。

    【讨论】:

    • 交叉验证与 k 折验证有何不同?
    • @lejlot 定义各不相同,但最初,交叉验证是 2 倍验证(k 倍,k=2)重复多次,数据随机分区
    【解决方案2】:

    总体而言,谈论 ML 是一个相当广泛的领域,但我会尝试以任何方式回答。 ML 的维基百科定义如下

    机器学习是人工智能的一个分支,涉及可以从数据中学习的系统的构建和研究。

    在这种情况下,学习可以定义为算法的参数化。该算法的参数是使用具有已知输出的输入数据得出的。当算法“学习”到输入和输出之间的关联后,可以使用输出已知的更多输入数据对其进行测试。

    假设您的问题是从语音中获取单词。这里的输入是某种包含一个单词的音频文件(不一定,但我认为这种情况很简单)。您将记录 X 个单词 N 次,然后使用(例如)N/2 次重复来参数化您的算法,而忽略 - 目前 - 您的算法会是什么样子。

    现在,一方面 - 取决于算法 - 如果您为算法提供剩余的重复之一,它可能会为您提供一些确定性估计,该估计可用于表征仅对其中一个重复的识别。另一方面,您可以使用所有剩余的重复来测试学习算法。对于每个重复,您将其传递给算法并将预期输出与实际输出进行比较。毕竟,您将获得一个学习算法的准确度值,计算为正确分类和总分类的商。

    无论如何,实际准确性将取决于您的学习和测试数据的质量。

    Christopher M Bishop 的模式识别和机器学习是一个很好的开始阅读

    【讨论】:

    • 如前所述,不仅有准确度,还有确定性,即即使一个模式被归类为某个类,输入向量也可能与最可能的输入向量不同对于那个班级。在某些算法中,这可以被认为是输入向量属于该类的可能性。
    【解决方案3】:

    用于评估 ML 模型性能的指标有多种,并且没有规定只有 20 或 30 个指标。您可以根据自己的问题创建自己的指标。在各种情况下,当您解决实际问题时,您需要创建自己的自定义指标。 谈到现有的,它已经在第一个答案中列出,我只是强调每个指标的优点和缺点,以便更好地了解。

    1. 准确度是最简单的度量标准,也是常用的。它是数据集中第 1 类的点数/总点数。这是针对 2 类问题,其中一些点属于第 1 类,一些点属于第 2 类。当数据集不平衡时,它不是首选,因为它偏向于平衡的,并且不太可解释。

    2. Log loss 是一种有助于获得概率分数的指标,可以让您更好地理解为什么特定点属于第 1 类。该指标最好的部分是它内置于著名的 ML 逻辑回归中技术。

    3. 混淆度量最适合用于给出四个数字的 2 类分类问题,对角线数字有助于了解您的模型有多好。通过此度量,还有其他指标,例如精度、召回率和 f1 - 可解释的分数。

    【讨论】:

      猜你喜欢
      • 2017-03-01
      • 2015-07-21
      • 2013-05-08
      • 1970-01-01
      • 2020-02-08
      • 1970-01-01
      • 2022-07-06
      • 2014-03-05
      • 2017-04-01
      相关资源
      最近更新 更多