39

いくつかの最近傍 R パッケージ (FNN、RANN、yaImpute など) がありますが、新しいクエリの最近傍を計算せずに計算できるように、NN データ構造 (カバー ツリー、KD ツリーなど) を保存できるものはないようです。ツリー全体を再構築します。Rにそのような機能はありますか?

新しいデータが到着するとインクリメンタルに更新できるデータ構造を返す関数を探して、近似 K 最近傍検索を実行します。

4

2 に答える 2

2

どの NN パッケージもそれを行わないのには十分な理由があります。

その理由は、「NN データ構造」には必ずすべての入力データ ポイントが ( KD ツリーの形式で) 含まれているため、入力データに対してスペースを節約できないからです。新しい入力ごとに KD ツリーを再作成する必要がないため、時間の節約になるように見えますが、残念ながらそうではありません。

その理由は、一般に、KD ツリーを構築する時間は線形よりも悪いからです。これは、大きな入力の場合、KD ツリーを構築する前にデータを並べ替えることが理にかなっていることを意味します。これにより、KD ツリーがより高速に生成され、バランスが良くなり、検索も改善されます (対数よりも悪い) 、 一般に)。もちろん、このアプローチはモデリングと評価を高速化しますが、段階的な更新は思いとどまらせます。

一般的なKD ツリー パッケージを見つけて代わりに使用するのが最善の策だと思います。

于 2013-03-18T18:53:01.257 に答える
0

nabor パッケージを使用すると、ツリーを構築し、その後クエリを実行できます。しかし、ツリーを段階的に更新できるとは思いません。

于 2015-08-24T04:44:43.150 に答える