为什么支持向量机擅长图像分类?

数据挖掘 支持向量机 图像分类
2022-02-16 13:12:14

我试图弄清楚我是否可以使用支持向量机识别艺术风格,但我不太明白是什么让它们变得更好。也许我可以使问题更准确。支持向量机基本上是一种使用线性模型进行分类的方法。你会发现使得βαsgn(βx+α)确定类是什么。所以我相信为了做图像分类,你需要逻辑。仅仅找到图像的平均颜色并确定它是否大于或小于一个数字来决定图像代表哪个数字是不够的。你需要逻辑。我相信您需要中间逻辑,例如将图像的一部分与图像的另一部分进行比较。有点像多层支持向量机,现在看起来像神经网络。这种直觉正确吗?

真诚的,还在想办法。

2个回答

支持向量机有一个内置的“层”,可以帮助解释数据——内核。您甚至可以使用其他图像分类器(包括神经网络)的输出作为内核。例如,您可以测量两个图像在“分类器空间”中与训练有素的神经网络的距离(可能是针对不同目标训练的图像与您想要使用 SVM 分类的目标)

在图像特征构建中也有一个隐含的“层”。常见的图像特征是像素值直方图、像素差异直方图(边缘检测)、“视觉词”袋,还有更多可能的转换和统计。

通常,如果您使用的分类器不是深度神经网络(应该自动发现特征),那么您会将图像预处理为一组特征。该预处理涵盖了“擅长图像”的大部分方法。

为尼尔斯莱特所说的添加一些东西:

  • 首先,我不确定您是否了解(当我阅读您的问题时)SVM 非常好,只要您将它们与适当的内核一起使用。这意味着您必须找到一种转换图像的方法,以使生成的输入数据在公式的意义上是线性可分的。如果 SVM 算法非常简单,那么使用内核是不平凡的。
  • 那么现在图像分类的最佳方法是深度神经网络。不是因为它们很神奇,而是主要是因为使用了卷积层。假设对于网络中的 10 000 个神经元,100 个会做 SVM 所做的事情:分类。它的其余部分只是充当内核。在图像的情况下,由于要识别的特征是复杂的局部和全局的,因此使用连续的卷积层可以对图像进行去皮以检索您需要的规格(在您的示例中,您可以识别笔触和全局形状)。

总结一下:

  • 浅层学习(例如 SVM)效果很好,但您必须设计自己的内核,或者在使用之前处理您的数据。
  • 深度学习(例如卷积网络)为您完成工作,但更难设置和解释。