可以使用SVM来区分样品吗?

时间:2015-03-17 10:29:25

标签: machine-learning svm libsvm

关于我正在努力解决的问题,我需要知道两个样本是否相似。

当两个样本相似时,我想要一个1级,而当它们不相似时,我喜欢0级。

我不知道如何更好地解释它,所以这里是愚蠢的例子:

训练集:{A,B},{C,D},E 结果:AB:1,AC:0,AD:0,AE:0,BA:1,BC:0,BD:0,BE:0,...

我想到只是将两组功能连接到svm,但问题是所需的内存是O(n²)太大了:(

有没有办法用SVM解决这类问题?

P.S。我知道我可以使用标签,这不是我想要的。

1 个答案:

答案 0 :(得分:0)

区分样本是分类,这是SVM所做的。如果您不想标记数据,则无法应用有监督的学习。根据您的具体问题,您可以选择无监督学习算法。

但是,请确保您了解“标签”的含义。当你说

  

结果:AB:1,AC:0,AD:0,AE:0,BA:1,BC:0,BD:0,BE:0,...

然后 给出您的数据(二进制)标签。如果您能够定义相似性并提供训练数据,则可以使用监督学习。

另外,请记住,Ω(n²)的空间复杂度不是大多数机器学习技术所能胜过的,因为大量方法使用矩阵来表示数据和/或学习。经验相当表明它并非不切实际。