使用KNN进行单词分类

时间:2015-05-14 16:44:58

标签: matlab image-processing machine-learning computer-vision knn

我已经计算了用于训练和测试图像的单词模型包。我有260个用于训练图像的弓矢量(100x1)和用于测试图像的282个弓矢量(100x1)。我想用knn算法对测试图像进​​行分类。但是,我不知道如何使用这些弓矢量。

1 个答案:

答案 0 :(得分:1)

我假设你想在决策过程中使用KNN。

为了能够使用KNN,您需要计算两个向量之间的距离。您可以使用标准来计算距离。幸运的是,如果您有统计和机器学习工具箱,MATLAB正在为我们这样做。

设X是一个向量,它的每一行都是你的1x100 BOW向量(它们的转置)。和y是一个赋予每个BOW向量的类的向量。例如,如果您想要对图像进行分类,无论它们是否包括自行车,您的y必须包含二进制(如果自行车以图像形式显示:1或其他:0)有关每个直方图的信息。

x = [ - ---- -- - -- -  first histogram;         y = [1;
      - - - ---- -- --  second histogram;             0;
       - ---- - ------  third histogram]              1]

mdl = fitcknn(X,y); %this will be your model. 

实际上,我不知道它是否会与BOW一起工作,因为我总是使用SVM。祝你好运,如果有效,请通知我们。