机器学习 - 分类器评估

时间:2013-05-14 05:51:34

标签: machine-learning supervised-learning

一般而言,当您在训练后获得的监督学习分类器模型的准确性不符合您的预期时,您遵循的步骤是什么?示例步骤:特征重新设计,消除噪声,降低尺寸,过度拟合等。什么测试(在你获得分类器的准确度百分比之后进行)会让你得出结论(比如说有很多噪音,因为它的准确性很低)会让你进行动作(删除嘈杂的单词/功能等)。 )?执行操作后,您重新训练分类器,循环继续,直到您取得了良好的效果。

我已经在SO上阅读了这个问题 - Feature Selection and Reduction for Text Classification有一个很好的接受答案,但它没有谈到让你得出结论的步骤(如上所述)

2 个答案:

答案 0 :(得分:1)

根据您拥有的分类器,您可以使用各种指标。它是二元分类器吗?一个多级分类器?还是一个多标签的多类分类器?最常见的指标是精确度,召回率,F值和准确度,但还有许多其他更详细的指标,尤其是涉及多标签分类器时。

大多数机器学习工具包实现了标准评估指标(Precision,Recall等),但我发现多标签分类器的指标并未在许多机器学习工具包中实现。

论文A systematic analysis of performance measures for classification tasks是分类器指标的综合列表。

关于多标签分类器指标的一篇好文章是:A literature survey of algorithms for multi-label learning

根据您的指标,您可能希望处理诸如过度拟合,欠拟合或获取更多数据(或甚至更准确的数据)或(在极端情况下)切换机器学习算法或方法等问题。见多明戈的A few useful things to know about Machine Learning

答案 1 :(得分:0)

你没有说你想要做什么,总的来说,这取决于你是一名从业者(其他领域的专家)还是机器学习方面的专家。无论如何,你可以看到所有类型的东西:

一个方面是深度或难度:

- 基础知识:处理简单的方法和编程错误。 0到1之间的特征(或-1和1),交叉验证以获得超级参数的良好值(在SVM情况下为C和gamma)以及许多其他细节:这个问题很好地涵盖了它们:Supprt Vector Machine works in matlab, doesn't work in c++

- 中级:处理更深层的概念错误。重新审视数据的质量和数量,检查您使用的分类器的类型,例如线性与非线性,生成与判别,检查文献以获得其他人使用与您相同的方法获得的相同数据的结果。考虑一下你正在接受关于其他类型数据(源 - 目标问题)的某种类型数据测试的培训。关键词:领域适应,多任务学习,正规化等

- 高级:你已经筋疲力尽了所有的能力,你需要提升最先进的技术来解决你的问题。你需要更快的算法。您需要使用更少的数据来获得稳健的结果,或者您需要处理更大规模的数据。研究最先进的解决方案并推动他们前进。此外,有时进步不是进化/增量,有时你需要采取另一种方式,消除假设等。

这种分类大多是正交的,但也很有用:

- 专家知识:有时(如您链接的情况)可以使用专业知识来处理非常难以处理的问题(NLP,Vision)。例如,在面部识别中,人们根据神经科学的结果使用面部的某些区域(眼睛周围),这些结果表明,识别个体结果表明这是人类关注的焦点。大多数(如果不是全部)有用的表示方法如SIFT,SURF,LBP都具有人类视觉的基础。此外,在您链接的示例中,语言学家提出了在NL方法的ML方法中使用的表示:Feature Selection and Reduction for Text Classification