2014-11-14 52 views
0

爲了有效地找到d維空間中一個點的n個最近鄰點,我選擇了具有最大散點的維度(即在此座標點之間的差值最大)。在這個維度中從最小值到最大值的整個範圍被分成k個箱。每個箱包含座標(在這個尺寸中)在該箱的範圍內的點。確保每個垃圾箱至少有2n個點。 查找Ñ點x的最近鄰的算法如下:KNN分類器算法不適用於所有情況

  1. 確定倉KX,其中點x位於(其投影到準確)。
  2. 計算x與點kx中所有點之間的距離。
  3. 按升序排序計算的距離。
  4. 選擇前n個距離。將這些距離測量的點返回爲x的最近鄰居n 。

該算法不適用於所有情況。算法可能無法計算最近的鄰居? 任何人都可以提出修改算法以確保所有情況下的正確操作?

回答

0

這是失敗的,因爲x的k個最近鄰居中的任何一個可能與x不同。

+0

對不起@Duh,但我不明白你的意思。如果我們只在一個混凝土倉內尋找它們,那麼k個最近鄰居如何才能在另一個倉中? – user1691399 2014-11-15 15:29:10

0

你是什麼意思的「不工作」?你明白,你在做什麼只是一個近似的方法。
嘗試規範化數據,然後選擇維度,否則分散是沒有意義的。

用於區分或聚類的最佳矢量可能不是原始尺寸之一,而是尺寸的任意組合。
使用PCA(主成分分析)或LDA(線性判別分析)來識別判別性維度。

相關問題