数据库到训练和测试图像

信息处理 图像处理 计算机视觉
2022-02-18 07:02:50

我正在尝试计算 HMAX 模型的准确性。我正在使用 Caltech101 数据库中的人脸类别(包含 435 张图像)。我将其分为 x 训练和 y 测试。每一次,当 x 增加时,准确度也会增加。此外,我听说通过与测试相比,训练的数量应该等于 80%。因此,当我将数据拆分为 348 个正训练,其余用于正测试时,我得到的准确度小于其他较小的拆分(当 x<348 时)!!。

即使当我取 x=300 时,我也得到了更小的准确度!

顺便说一句,我还使用了背景类别,并将其分为 50 个否定训练和 50 个否定测试。

请问为什么我的准确率较小?拜托我需要你的帮忙。

2个回答

一些可能的原因是:

  1. 对象识别的准确性并不是很明确。相反,准确度是针对特定数据集的。
  2. 您正在使用的方法称为交叉验证,您可以将自己的数据集拆分为测试和训练数据集,然后使用经过训练的模型对测试数据集进行预测。
  3. 根据您如何进行交叉验证和最终模型,准确性测试可能会有所不同。例如,如果(即使是通过随机过程)您的训练集包含符合良好的图像,而测试数据集包含的图像甚至与您的模型不完全一致,那么准确度就会很低。

至于解决您的困境的方法,您可能应该考虑以可以避免这种情况的方式查看数据集和采样。或者,您可以使用更通用的算法并再次通过交叉验证检查数据是否过度拟合。

您应该使用 k 折交叉验证来平均划分训练图像的不同方式。http://en.m.wikipedia.org/wiki/Cross-validation_(statistics)#k-fold_cross-validation

有时,训练和测试图像的特定分割是幸运的或不幸运的。您可以通过某种形式的交叉验证获得更可靠的准确性估计。