K近傍法
このアルゴリズムの単純なバージョンは、単に標本と既存のベクトルとの距離を計算すればよいが、データが増えれば計算量も膨大となる。様々な最近傍探索アルゴリズムが提案されており、一般に実際に距離を計算する回数を削減する。特徴空間のパーティショニングによる最適化や、特定の値が近いものだけ距離を計算する最適化などがある。その他の最近傍探索アルゴリズムとしては、次のようなものがある。
kd木
Metric tree
Locality sensitive hashing (LSH)
最近傍法は、強い一致性を示す。データ量が無限に近づくにつれて、このアルゴリズムの誤り率はベイズ誤り率(達成可能な最小誤り率)の2倍以下となる。k近傍法は k(近傍とするデータ個数)を増やすことでベイズ誤り率に近づく。
k近傍法は、連続値をとる変数についても適用可能である。そのような実装の例として、距離の逆数で重み付けした k近傍法がある。このアルゴリズムは次のように動作する。
対象データと他のデータのユークリッド距離かマハラノビス距離を計算する。
計算された距離の順にデータをソートする。
ヒューリスティックによって決めた最適な k 個の近傍を選ぶ(根二乗平均誤差など)
それらについて、距離の逆数で重み付けした平均を求める。