字母分类准确率

Posted

技术标签:

【中文标题】字母分类准确率【英文标题】:Letter classificator inaccuracy 【发布时间】:2016-02-24 17:36:13 【问题描述】:

我正在从事一个大学项目,以检测照片中的字母。我可以成功地从照片中提取单词,将它们切成黑色和白色背景的单个字母。这些图片看起来很清晰。

我已经从 Python scikit 库中训练了 SVC 分类器,如下所示:

分类器 = svm.SVC(gamma=0.001)

它已经接受了大约 800 个字母的训练,这些字母是我使用我的脚本从单词中获得的。当分类器在训练它的字母上工作时,它可以很好地预测字母。但是,当我提供使用相同脚本从不同单词获得的新字母时,它每次都失败。新旧示例看起来非常相似。

你能给我一些关于如何改善这种情况的建议吗?

我还用来自在线可用的现成子集的 26k 个字母对这个分类器进行了培训。结果是一样的——训练数据完美,新数据失败。

【问题讨论】:

您是否尝试过可视化您的数据集和分类结果? 我的意思是看看你的点相对于你的分类器找到的超平面的一些投影。 “看起来非常相似”的东西在高维空间中可能非常遥远。也许,你的维度太多,过拟合(stats.stackexchange.com/questions/35276/…)?此外,您还没有解释单词在您的实验中是否起任何作用,或者只是字母很重要。 实际上,最好的建议是提供有关您的模型的更多信息,否则一切都是胡乱猜测。 【参考方案1】:

分类器在处理训练过的字母时可以很好地预测字母。但是,当我提供使用相同脚本从不同单词获得的新字母时,它每次都失败。

这听起来像是典型的过拟合,这意味着您选择的 gamma 参数(以及您保留其默认值的 C 参数)对于您的数据不是最佳的。

一般来说,您应该通过交叉验证/网格搜索来选择这些参数,而不是随意选择它们——它们的值可以极大地改变模型的性能,尤其是对于 SVM。

阅读 scikit-learn 文档的 Model Selection and Evaluation 部分并遵循那里的建议,您可能会受益。

【讨论】:

此外,您应该调查您选择的功能。

以上是关于字母分类准确率的主要内容,如果未能解决你的问题,请参考以下文章

分类--准确率

多分类问题的准确率,召回率怎么计算

基于汉字字频特征实现99.99%准确率的新闻文本分类器

基于汉字字频特征实现99.99%准确率的新闻文本分类器

Keras图像分类验证准确率更高

使用投票分类器,准确率仍然太低