如何根据与 SVM 的成对比较对图像进行排名?

How to rank images based on pairs of comparisons with SVM?

我正在开发一个神经网络来预测图像“好”程度的分数。这些图像是另一种机器学习算法的输入,应用程序需要告诉用户他们正在拍摄的图像对于该算法有多好。

我有一个训练数据集,我需要对这些图像进行排名,这样我就可以为回归神经网络训练的每张图像打分。

我创建了一个程序,一次从训练集中给我 2 张图像,我将决定哪一张获胜(或平局)。我听说可以使用 SVM Ranking 从这些比较中获得完整排名。但是,我之前并没有真正使用过 SVM。我只知道支持向量机的基础知识。看了几篇关于SVM Ranking的文章,好像算法把排序问题变成了分类问题,但是数学真的让我很困惑。

谁能用简单的术语解释它的工作原理以及如何在 Python 中实现它?

我又上网查了一下,找到了解决办法。

问题是如何将这个排名问题转化为分类问题。这个其实很简单。

如果你有图像(但不一定是图像,可以是任何东西)A 和 B,并且 A 比 B 好,那么我们可以有 (A, B, 1)。如果 B 更好,那么我们有 (A, B, -1)

我们只需要一个普通的 SVM 来获取 2 个图像的名称并将其分类为 1 或 -1。就是这样。

在我们训练这个模型之后,我们可以从数据集中给它所有可能的图像对,生成完整的排名将很简单。