机器学习 - 分类器评估
Posted
技术标签:
【中文标题】机器学习 - 分类器评估【英文标题】:Machine Learning - Classifier Evaluation 【发布时间】:2013-05-08 07:28:20 【问题描述】:一般而言,当您在训练后获得的监督学习分类器模型的准确性不符合您的预期时,您会采取哪些步骤?示例步骤:特征重构、去噪、降维、过拟合等。哪些测试(在您获得分类器的 % 准确度后执行)使您得出结论(例如有很多噪声,因此准确度较低),从而使您执行操作(删除嘈杂的词/特征等)。 )?执行完操作后,您重新训练分类器,然后循环继续,直到您获得良好的结果。
我已经在 SO - Feature Selection and Reduction for Text Classification 上阅读了这个问题,它有一个很好接受的答案,但它没有谈论让你得出结论的步骤(如上所述)
【问题讨论】:
【参考方案1】:您可以使用各种指标,具体取决于您拥有的分类器。它是一个二元分类器吗?多类分类器?还是多标签多类分类器?最常见的指标是 Precision、Recall、F-Score 和 Accuracy,但还有许多其他更详细的指标,尤其是在涉及多标签分类器时。
大多数机器学习工具包都实现了标准评估指标(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
【讨论】:
【参考方案2】:您不会说您要做什么,总体而言,这实际上取决于您是从业者(其他领域的专家)还是机器学习方面的专家。无论如何,您可以查看所有类型的内容:
一个维度是深度或难度:
-基础知识:处理简单的方法和编程错误。介于 0 和 1(或 -1 和 1)之间的特征、交叉验证以获得良好的超参数值(在 SVM 的情况下为 C 和 gamma)以及许多其他细节:这个问题很好地涵盖了它们:Supprt Vector Machine works in matlab, doesn't work in c++
-中级:处理更深层次的概念错误。重新审视数据的质量和数量,审查您使用的分类器类型,例如线性与非线性,生成与判别,检查文献以了解其他人使用与您相似的方法在相同数据上获得的结果。考虑您正在对其他类型的数据(源-目标问题)进行某种类型的数据测试的可能性。关键词:领域适应、多任务学习、正则化等
-高级:你已经用尽了所有的可能性,你需要提升最先进的技术来解决你的问题。您需要更快的算法。您需要用更少的数据获得稳健的结果,或者您需要处理更大规模的数据。研究最先进的解决方案并推动它们前进。此外,有时进步不是那么渐进/渐进的,有时您需要采取另一条路线,消除假设等。
这种分类主要是正交的,但也很有用:
-专家知识:有时(如您链接的情况)非常难以处理的问题(NLP、视觉)可以使用专家知识来解决。例如,在人脸识别中,人们根据神经科学的结果使用面部的某些区域(眼睛周围)来识别个人,结果表明这是人类所关注的。大多数(如果不是全部)有用的表示方法,如 SIFT、SURF、LBP 都具有人类视觉的一些基础。此外,在您链接的示例中,语言学家提出了在 NLP 的 ML 方法中使用的表示:Feature Selection and Reduction for Text Classification。
【讨论】:
以上是关于机器学习 - 分类器评估的主要内容,如果未能解决你的问题,请参考以下文章