在Matlab中矢量化MNIST KNN

时间:2017-02-19 02:23:49

标签: matlab vectorization knn mnist

我正在使用MNIST数据集,每个784像素60000点。我有一个10000点的测试集,当然还有相同的像素数。

我正在试图找出Matlab中最有效的方法(除了使用内置的拟合函数),以确定此测试集上K = 1的KNN。我按顺序循环遍历每个测试点,然后计算从该特定数字到一个函数(pdist2)中所有其他数字的距离,但这似乎仍然不够快。这样做大约需要3秒才能通过10个数据点。那么我怎样才能对循环数字部分进行矢量化呢?

例如,试图摆脱这个循环:

[testRows, ~] = size(X_test);
for r=1:testRows  
    digit = X_test(r,:);
    distance = pdist2(digit,X_train,'euclidean');

end

0 个答案:

没有答案