1

我对 MATLAB 中的 SVMstruct 函数有疑问。请记住,我是这类事情的初学者,有人可以帮我解决这个问题:

对于我的项目,我已经下载了 NUS 范围内的图像数据集,其中还有一个 500 维的词袋:http: //lms.comp.nus.edu.sg/research/NUS-WIDE.htm (我假设所有图像的 BoW 信息都被压缩到该文件中)。现在我应该使用 SVM 分类器对此进行分类。我是否正确假设对于 SVMstruct 函数:SVMStruct = svmtrain(Training,Group),我可以将整个 BoW 矩阵作为输入(作为训练参数),然后对于 Group,我可以给出标签的字符矩阵(作为组参数)?如果 Training 和 Group 的行数和列数不同,可以吗?

4

1 回答 1

0

训练的大小应该是(N,M),其中 N(行)是实例的数量(这个数据集看起来像 269,648),M 是特征的数量(500)。Group 数组的大小应为 (N, 1),其中每一行对应一个训练实例。

我认为您不能将标签字符矩阵用于 group 参数。您也许可以给出一个像 {'tag1'; 这样的字符串单元数组。'标签2'; '标签3'; ...'标签N'}。通常我会将其转换为数值数组。

于 2012-04-07T20:01:18.437 回答