2013-01-08 65 views
0

我正在構建一個K最近的鄰居分類器,並且我想讓我的距離計算一次完成(這也會有所幫助,因爲未引導版本需要花費很長時間才能運行)。如何矢量化兩個矩陣之間的距離?

我有一個測試數據集的大小爲28000個示例x 784個功能,並且我有一個大小爲42000個示例x 784個功能的訓練數據集。回答我的問題的代碼應該產生一個大小爲28000 x 42000的矩陣,其中每行包含從該測試示例到42000個訓練示例中的每一個的距離。

我已經提出的最好的方法是使用sum和bsxfun來爲每個測試示例一次計算所有距離,但我仍然需要遍歷所有28000個示例,正如我之前所說的那樣需要一段時間。

回答

2

pdist2(A, B)將完全符合您的需求,其中AB分別是您的訓練和測試數據集。這裏是參考: http://www.mathworks.com/help/stats/pdist2.html

+0

這將如何與兩個單獨的矩陣?示例顯示pdist(X) – user1956609

+0

您可以使用的是「pdist2」,開箱即用,而不是「pdist」。我誤解了你的問題,但後來糾正了我的答案。對不起,我寄給你錯誤的文件。 –