空間データのkNNアルゴリズムの前提を理解しています。そして、このアルゴリズムを拡張して、任意の連続データ変数(またはハミング距離をもつ公称データ)で使用できることを知っています。しかし、より高次元のデータを扱う場合、どの戦略が使用されますか?
たとえば、データのテーブル(x [1]、x [2]、x [3]、...、x [n])があり、分類子のセットを作成してこれらの列の1つを予測するとします。 (x [n]と言います)。kNNアルゴリズムを使用して、トレーニングする残りの列(x [1] -x [n-1])から任意の2つの列を選択します。したがって、x [1]とx [2]を選択して、それらから分類子を構築できるとしましょう。または、x [1]とx [4]を選択したり、x [5]とx [8]を選択したりすることもできます。1つの列だけを選択して分類子を作成するか、3つの列を作成してその分類子。より高い次元(2D、3Dなど)を使用することには利点がありますか、それともx-1単一次元分類子を作成して、何らかの方法でそれらの予測を集計する必要がありますか?
変数のすべての潜在的な組み合わせからこれらの分類子をすべて構築すると、計算コストが高くなります。このセットを最適化して、そのセットから最高のkNN分類器を見つけるにはどうすればよいですか?そして、一連の分類子を見つけたら、それらの出力を単一の予測に組み合わせる最善の方法は何ですか?この質問に対する最も簡単な答えは投票です。または、各分類子のトレーニングデータからのエラー率で各投票に重みを付けます。
ほとんどの実装では、kNNをより一般化された学習にどのように適用しますか?