如何在支持向量机类中检索最相似的图像?

Posted

技术标签:

【中文标题】如何在支持向量机类中检索最相似的图像?【英文标题】:How can i retrieve most similar images inside a Support Vector Machine's class? 【发布时间】:2013-02-06 06:23:29 【问题描述】:

当我在 scikit learn 中预测属于 SVM 中图像的类时

...
print "Predicting on 1 sample"
print "Input features:"
fv = [0.16666666666628771, 5.169878828456423e-26, 2.584939414228212e-22, 1.0, 1.0000000000027285]
print fv
print "Predicted class index:"
print clf.predict([fv])

输出:

Predicted class index:
[5]

我怎样才能在其类中获得最多 5 个相似的图像?

【问题讨论】:

【参考方案1】:

我不认为您可以从 SVM 中获得样本之间的相似性度量,只有从样本到用于分类的超平面的距离。

您可以使用scipy.spatial.distance.pdist 方法计算图像特征向量之间的欧几里得距离。与您的目标图像距离最短的 5 个图像可以被认为是最相似的。我希望这会有所帮助。

【讨论】:

Scikit-learn 的 sklearn.metrics 还包含一堆距离和相似度指标,其中包括 SVM 用来计算相似度的内核。 如果我在我的 svc 等中使用 rbf 内核,你在 scikit-learn.org/dev/modules/generated/… 上引用?

以上是关于如何在支持向量机类中检索最相似的图像?的主要内容,如果未能解决你的问题,请参考以下文章

支持向量机在 R语言中的实现和使用

图像识别基于svm支持向量机算法表情识别matlab源码

漫步支持向量机(svm)之一

-SVM支持向量机

AI | 机器学习故事汇-支持向量机 (SVM)

支持向量机(SVM)