KでKDツリーベースの最近傍が指数関数になるのはなぜですか?


8

私は、KD-TreeがKで指数関数的であるという高次元最近傍探索に関する多くの論文を読みましたが、その理由を特定することはできません。

私が探しているのは、問題のこの側面を説明する堅固な実行時の複雑さの分析です。


簡単に考えると、それkは事実上問題の次元であり、したがって「次元の呪い」の影響を受けます。
マイケルクライン

回答:


1

探索空間は増加するため、kNNは指数関数になる傾向があります。検索ポイントの周囲のスペースを四分円に分割するとします。k = 1の場合、2つの「象限」(より高い値とより低い値)を検索する必要があります。k= 2の場合は4つの象限、k = 3の場合は8つの象限、つまり検索空間の指数関数的増加です。サブブランチを検索する必要があるため、kDツリーはこれに苦しんでいます。2k2k

CoverTreeなど、他のツリーの方がパフォーマンスがはるかに優れています。また、PHツリーは非常にうまく機能することもわかりました。k= 8からk = 27までのデータセットのCoverTreeの場合、一貫して2倍かかるようです(kが高いデータセットはありませんでした)。


ここでLaTeXを使用すると、より読みやすい方法で数学をタイプセットできます。簡単な紹介はこちらをご覧ください。
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.