【发布时间】:2014-01-13 13:11:16
【问题描述】:
我想知道什么是 various techniques 和 metrics 用于评估算法的准确度/好坏程度,以及如何使用给定的指标得出关于 ML 模型的结论。
一种方法是使用精确度和召回率,正如here in wikipedia 所定义的那样。 另一种方法是使用here 解释的准确度指标。那么,我想知道是否还有其他指标可以评估 ML 模型?
【问题讨论】:
标签: machine-learning
我想知道什么是 various techniques 和 metrics 用于评估算法的准确度/好坏程度,以及如何使用给定的指标得出关于 ML 模型的结论。
一种方法是使用精确度和召回率,正如here in wikipedia 所定义的那样。 另一种方法是使用here 解释的准确度指标。那么,我想知道是否还有其他指标可以评估 ML 模型?
【问题讨论】:
标签: machine-learning
不久前,我编制了一份用于评估分类和回归算法的指标列表,格式为cheatsheet。分类的一些指标:精度、召回率、敏感性、特异性、F-measure、马修斯相关性等。它们都是基于混淆矩阵的。其他用于回归(连续输出变量)。
该技术主要是对一些数据运行算法以获取模型,然后将该模型应用于新的、以前未见过的数据,并在该数据集上评估指标,然后重复。
一些技巧(其实resampling techniques来自统计):
【讨论】:
总体而言,谈论 ML 是一个相当广泛的领域,但我会尝试以任何方式回答。 ML 的维基百科定义如下
机器学习是人工智能的一个分支,涉及可以从数据中学习的系统的构建和研究。
在这种情况下,学习可以定义为算法的参数化。该算法的参数是使用具有已知输出的输入数据得出的。当算法“学习”到输入和输出之间的关联后,可以使用输出已知的更多输入数据对其进行测试。
假设您的问题是从语音中获取单词。这里的输入是某种包含一个单词的音频文件(不一定,但我认为这种情况很简单)。您将记录 X 个单词 N 次,然后使用(例如)N/2 次重复来参数化您的算法,而忽略 - 目前 - 您的算法会是什么样子。
现在,一方面 - 取决于算法 - 如果您为算法提供剩余的重复之一,它可能会为您提供一些确定性估计,该估计可用于表征仅对其中一个重复的识别。另一方面,您可以使用所有剩余的重复来测试学习算法。对于每个重复,您将其传递给算法并将预期输出与实际输出进行比较。毕竟,您将获得一个学习算法的准确度值,计算为正确分类和总分类的商。
无论如何,实际准确性将取决于您的学习和测试数据的质量。
Christopher M Bishop 的模式识别和机器学习是一个很好的开始阅读【讨论】:
用于评估 ML 模型性能的指标有多种,并且没有规定只有 20 或 30 个指标。您可以根据自己的问题创建自己的指标。在各种情况下,当您解决实际问题时,您需要创建自己的自定义指标。 谈到现有的,它已经在第一个答案中列出,我只是强调每个指标的优点和缺点,以便更好地了解。
准确度是最简单的度量标准,也是常用的。它是数据集中第 1 类的点数/总点数。这是针对 2 类问题,其中一些点属于第 1 类,一些点属于第 2 类。当数据集不平衡时,它不是首选,因为它偏向于平衡的,并且不太可解释。
Log loss 是一种有助于获得概率分数的指标,可以让您更好地理解为什么特定点属于第 1 类。该指标最好的部分是它内置于著名的 ML 逻辑回归中技术。
混淆度量最适合用于给出四个数字的 2 类分类问题,对角线数字有助于了解您的模型有多好。通过此度量,还有其他指标,例如精度、召回率和 f1 - 可解释的分数。
【讨论】: