統計学において、k近傍法(k -NN)は、ノンパラメトリックな 教師あり学習法です。1951年にEvelyn FixとJoseph Hodgesによって最初に開発され、 [1]後にThomas Coverによって拡張されました。[2]最もよく使用されるのは、分類の ために使用されるk -NN分類器で、その出力はクラスのメンバーシップです。オブジェクトは近傍の多数決によって分類され、k近傍(kは正の整数で、通常は小さい)の中で最も一般的なクラスに割り当てられます。k = 1の場合、 オブジェクトは単純にその単一の近傍のクラスに割り当てられます。
k -NNアルゴリズムは、回帰にも一般化できます。k -NN 回帰 (最近傍平滑化とも呼ばれます)では、出力はオブジェクトのプロパティ値です。この値は、k個の最近傍の値の平均です。k = 1の場合、出力は、その単一の最近傍の値に単純に割り当てられます (最近傍補間 とも呼ばれます) 。
分類と回帰の両方において、近傍点の寄与に重みを割り当てることは有用な手法であり、これにより、より近い近傍点が遠い近傍点よりも平均に大きく寄与するようになる。例えば、一般的な重み付け方式では、各近傍点に 1/ dの重みを与える。ここで、d は近傍点までの距離である。[3]
入力は、データ セット内の最も近いk個のトレーニング例で構成されます。近傍は、クラス ( k -NN 分類の場合) またはオブジェクト プロパティ値 ( k -NN 回帰の場合) がわかっているオブジェクトのセットから取得されます。明示的なトレーニング手順は必要ありませんが、これはアルゴリズムのトレーニング セットと考えることができます。
k -NNアルゴリズムの特殊性(時には欠点)は、データのローカル構造に対する敏感さです。k-NN分類では、関数はローカルにのみ近似され、すべての計算は関数の評価まで延期されます。このアルゴリズムは距離に依存しているため、特徴が異なる物理単位を表したり、大幅に異なるスケールになったりする場合は、トレーニングデータを特徴ごとに正規化することで精度を大幅に向上させることができます。[4]
統計設定
内の値を取るペアがあり、Y はXのクラスラベルであるため、(および確率分布)に対してが成り立つとします。上の何らかのノルムと点が与えられた場合、が となるようにトレーニング データを並べ替えたものとします。
アルゴリズム

トレーニング サンプルは、それぞれクラス ラベルを持つ多次元特徴空間内のベクトルです。アルゴリズムのトレーニング フェーズは、トレーニング サンプルの 特徴ベクトルとクラス ラベルの保存のみで構成されます。
分類フェーズでは、k はユーザー定義の定数であり、ラベルなしベクトル (クエリまたはテスト ポイント) は、そのクエリ ポイントに最も近いk 個のトレーニング サンプルの中で最も頻繁に使用されるラベルを割り当てることによって分類されます。

連続変数によく使われる距離メトリックはユークリッド距離です。テキスト分類などの離散変数には、オーバーラップメトリック(またはハミング距離)などの別のメトリックを使用できます。たとえば、遺伝子発現マイクロアレイデータのコンテキストでは、k -NNがメトリックとしてピアソンやスピアマンなどの相関係数とともに使用されています。[5]多くの場合、距離メトリックがLarge Margin Nearest NeighborやNeighborhood components analysisなどの特殊なアルゴリズムで学習されると、 k -NNの分類精度が大幅に向上します。
基本的な「多数決」分類の欠点は、クラス分布が偏っている場合に発生します。つまり、より頻繁なクラスの例は、その数が多いためk近傍の間で共通する傾向があるため、新しい例の予測を支配する傾向があります。[6]この問題を克服する 1 つの方法は、テスト ポイントからそのk近傍のそれぞれまでの距離を考慮して分類に重み付けすることです。k 近傍の各ポイントのクラス (または回帰問題では値) には、そのポイントからテスト ポイントまでの距離の逆数に比例する重みが掛けられます。偏りを克服するもう 1 つの方法は、データ表現の抽象化です。たとえば、自己組織化マップ(SOM) では、元のトレーニング データ内の密度に関係なく、各ノードは類似ポイントのクラスターの代表 (中心) です。次に、 K -NN を SOM に適用できます。
パラメータ選択
kの最適な選択はデータによって異なります。一般的に、kの値が大きいほど分類に対するノイズの影響は減りますが、[7]クラス間の境界は不明瞭になります。適切なkはさまざまなヒューリスティック手法によって選択できます(ハイパーパラメータ最適化を参照)。クラスが最も近いトレーニングサンプルのクラスであると予測される特別なケース(つまりk = 1の場合)は、最近傍アルゴリズムと呼ばれます。
k -NNアルゴリズムの精度は、ノイズの多い特徴や無関係な特徴が存在する場合、または特徴のスケールが重要性と一致していない場合に大幅に低下する可能性があります。分類を改善するために特徴を選択またはスケーリングすることに多くの研究努力が注がれてきました。特に人気のある[引用が必要]アプローチは、進化的アルゴリズムを使用して特徴のスケーリングを最適化することです。[8]もう1つの人気のあるアプローチは、トレーニングデータとトレーニングクラスの相互情報量によって特徴をスケーリングすることです。[引用が必要]
バイナリ(2クラス)分類問題では、同票を避けるためにkを奇数に選ぶと良い。この設定で経験的に最適なkを選択する一般的な方法の1つは、ブートストラップ法である。 [9]
の1-最近傍分類器
最も直感的な最近傍型分類器は、特徴空間内の最も近い近傍のクラスに点xを割り当てる最近傍分類器です。
トレーニング データ セットのサイズが無限に近づくと、1 つの最近傍分類器によって、ベイズ エラー率(データの分布を考慮に入れた達成可能な最小エラー率)の 2 倍以下のエラー率が保証されます。
重み付け最近傍分類器
k最近傍分類器は、k番目に近い近傍に重み を割り当て、その他すべてに0 の重みを割り当てるものとして考えることができます。これは、重み付き最近傍分類器に一般化できます。つまり、i番目の最近傍に重み が割り当てられ、 となります。重み付き最近傍分類器の強い一貫性に関する同様の結果も成り立ちます。[10]
重み を持つ重み付き最近接分類器を表すものとします。漸近理論では、正則性条件は、いくつかの基準でパラメータを区別するための仮定を必要とする条件変数です。クラス分布では、過剰リスクは、定数および に対して次の漸近展開を持ちます[11]。 ここで、および です。
上記の表示の 2 つの項のバランスをとる最適な重み付けスキームは、次のように与えられます。については、 について は を設定します。
最適な重みを使用すると、過剰リスクの漸近展開における支配的な項は になります。バッグ化された最近傍分類器を使用した場合にも同様の結果が当てはまります。
プロパティ
k -NNは、均一カーネルを持つ可変帯域幅のカーネル密度「バルーン」推定器の特殊なケースです。[12] [13]
アルゴリズムの単純なバージョンは、テスト例からすべての保存例までの距離を計算することで簡単に実装できますが、大規模なトレーニング セットでは計算負荷が高くなります。近似最近傍検索アルゴリズムを使用すると、大規模なデータ セットでもk- NN を計算的に扱いやすくなります。長年にわたり、多くの最近傍検索アルゴリズムが提案されてきましたが、これらは一般に、実際に実行される距離評価の数を減らすことを目的としています。
k- NNには強い一貫性の結果があります。データ量が無限大に近づくと、2クラスk- NNアルゴリズムは、ベイズ誤差率(データの分布を与えられた場合に達成可能な最小誤差率)の2倍以下の誤差率をもたらすことが保証されます。 [2]近接グラフを使用することで、 k -NNの速度をさまざまな方法で改善できます。[14]
多クラスk- NN分類について、カバーとハート(1967)は、ベイズ誤差率(可能な最小誤差率)、漸近k-NN誤差率、Mは問題内のクラス数である、の上限誤差率を証明 しています。この境界は、下限と上限の両方が何らかの分布によって達成可能であるという意味で厳密です。[15]に対して、ベイズ誤差率がゼロに近づくにつれて、この制限は「ベイズ誤差率の2倍以下」に減少します。
エラー率
k近傍分類器のエラー率については多くの結果が出ている。 [16] k近傍分類器は、 が発散して としてゼロに収束することを条件に、強く(つまり 上の任意の結合分布に対して)整合している。
を、サイズnのトレーニングセットに基づくk近傍分類器と表記する。一定の規則性条件下では、過剰リスクは、 いくつかの定数およびに対して、次の漸近展開[11]をもたらす。
この選択により、上記の表示の 2 つの項の間でトレードオフが提供され、最近傍誤差は最適 (ミニマックス) レートでベイズ誤差に収束します。
メトリック学習
K 最近傍分類のパフォーマンスは、多くの場合、(教師あり)メトリック学習によって大幅に向上します。人気のあるアルゴリズムは、近傍成分分析と大マージン最近傍です。教師ありメトリック学習アルゴリズムは、ラベル情報を使用して新しいメトリックまたは疑似メトリックを学習します。
特徴抽出
アルゴリズムへの入力データが処理するには大きすぎ、冗長である疑いがある場合 (たとえば、フィートとメートルの両方で同じ測定値)、入力データは特徴の縮小表現セット (特徴ベクトルとも呼ばれる) に変換されます。入力データを特徴セットに変換することを、特徴抽出と呼びます。抽出された特徴が慎重に選択されている場合、特徴セットは、フルサイズの入力の代わりにこの縮小表現を使用して目的のタスクを実行するために、入力データから関連情報を抽出することが期待されます。特徴抽出は、特徴空間で変換されたデータにk -NN アルゴリズムを適用する前に、生データに対して実行されます。
特徴抽出と次元削減の前処理ステップを含むk -NNを使用した顔認識のための典型的なコンピューター ビジョン計算パイプラインの例(通常はOpenCVで実装)。
- Haar顔検出
- 平均シフト追跡分析
- PCAまたはFisher LDAを特徴空間に投影し、その後k -NN分類を行う
次元削減
高次元データ(例えば次元数が10を超えるデータ)の場合、次元の呪いの影響を避けるために、k -NNアルゴリズムを適用する前に次元削減が行われるのが一般的です。[17]
k -NN コンテキストにおける次元の呪いは、基本的に、すべてのベクトルが検索クエリ ベクトルからほぼ等距離にあるため、高次元ではユークリッド距離が役に立たないことを意味します (クエリ ポイントを中心とした円上に複数のポイントがほぼ配置されていると想像してください。クエリから検索空間内のすべてのデータ ポイントまでの距離はほぼ同じです)。
特徴抽出と次元削減は、主成分分析(PCA)、 線形判別分析(LDA)、または正準相関分析(CCA)技術を前処理ステップとして使用し、その後、縮小次元空間で特徴ベクトルに対してk -NNによるクラスタリングを行うことで、 1つのステップで組み合わせることができます。このプロセスは低次元埋め込みとも呼ばれます。[18]
非常に高次元のデータセット(ライブビデオストリーム、DNAデータ、高次元時系列の類似性検索を実行する場合など)の場合、局所性に敏感なハッシュ、「ランダム投影」 [19]、「スケッチ」[20]、またはVLDBツールボックスの他の高次元類似性検索手法を使用して高速近似 k - NN検索を実行することが唯一の実行可能なオプションである可能性があります。
決定境界
最近傍ルールは事実上、決定境界を暗黙的に計算します。決定境界を明示的に計算し、効率的に計算することも可能であり、その場合、計算の複雑さは境界の複雑さの関数となります。[21]
データ削減
データの削減は、膨大なデータセットを扱う作業において最も重要な問題の 1 つです。通常、正確な分類には一部のデータ ポイントのみが必要です。これらのデータはプロトタイプと呼ばれ、次の場所にあります。
- クラス外れ値、つまりk -NN(与えられたkに対して)によって誤って分類されたトレーニングデータを選択する
- 残りのデータを 2 つのセットに分けます: (i) 分類決定に使用されるプロトタイプと (ii)プロトタイプを使用してk -NNによって正しく分類できる吸収ポイント。吸収ポイントはトレーニング セットから削除できます。
クラス外れ値の選択
他のクラスの例に囲まれたトレーニング例は、クラス外れ値と呼ばれます。クラス外れ値の原因には次のものがあります。
- ランダムエラー
- このクラスのトレーニング例が不十分です(クラスターではなく孤立した例が表示されます)
- 重要な機能が欠けている(クラスは他の次元で分離されているが、それは不明)
- 他のクラスのトレーニング例が多すぎる(クラスのバランスが取れていない)ため、特定の小さなクラスに対して「敵対的な」背景が作成されます。
k -NNのクラス外れ値はノイズを生成します。これらは検出して、将来の分析のために分離することができます。2 つの自然数、k > r >0 が与えられた場合、トレーニング例のk近傍に他のクラスの例がr 個以上含まれている場合、そのトレーニング例は ( k、r )NN クラス外れ値と呼ばれます。
データ削減のための圧縮最近傍法
凝縮最近傍法(CNN、ハートアルゴリズム)は、 k -NN分類のデータセットを削減するように設計されたアルゴリズムです。 [22]トレーニングデータからプロトタイプのセットUを選択し、 Uを使用した1NNは、データセット全体を使用した1NNとほぼ同じ精度で例を分類できます。

トレーニング セットXが与えられると、CNN は反復的に動作します。
- Xのすべての要素をスキャンし、 Uからの最も近いプロトタイプがxとは異なるラベルを持つ要素xを探します。
- Xからxを削除し、 Uに追加します。
- Uにプロトタイプが追加されなくなるまでスキャンを繰り返します。
分類にはXではなくU を使用します。プロトタイプではない例は「吸収」ポイントと呼ばれます。
訓練例を境界比の降順でスキャンするのが効率的である。[23]訓練例xの境界比は次のように定義される。
ここで、‖ xy ‖ はxとは異なる色を持つ最も近い例yまでの距離であり、‖ x'-y ‖はyからxと同じラベルを持つ最も近い例x'までの距離です。
境界比は区間 [0,1] 内にあります。なぜなら、‖ x'-y ‖ は‖ xy ‖を超えることはないからです。この順序付けにより、プロトタイプのセットUに含めるクラスの境界が優先されます。 xとは異なるラベルの点は、xの外部と呼ばれます。境界比の計算は、右の図に示されています。データ ポイントは色でラベル付けされています。初期点はxで、そのラベルは赤です。外部点は青と緑です。xに最も近い外部点はyです。 yに最も近い赤い点はx'です。境界比a ( x ) = ‖ x'-y ‖ / ‖ xy ‖は、初期点xの属性です。
以下は、一連の図で CNN を説明したものです。3 つのクラス (赤、緑、青) があります。図 1: 最初は各クラスに 60 個のポイントがあります。図 2 は 1NN 分類マップを示しています。各ピクセルは、すべてのデータを使用して 1NN によって分類されます。図 3 は 5NN 分類マップを示しています。白い領域は、5NN 投票が同点である未分類領域に対応します (たとえば、5 つの最近傍点の中に緑のポイントが 2 つ、赤のポイントが 2 つ、青のポイントが 1 つある場合)。図 4 は、縮小されたデータ セットを示しています。十字は、(3,2)NN ルールによって選択されたクラス外れ値です (これらのインスタンスの 3 つの最近傍点はすべて他のクラスに属します)。四角はプロトタイプ、白丸は吸収されたポイントです。左下隅には、3 つのクラスすべてのクラス外れ値、プロトタイプ、吸収されたポイントの数が表示されます。この例では、プロトタイプの数はクラスによって 15% から 20% の範囲で異なります。図5は、プロトタイプを使用した1NN分類マップが初期データセットを使用したものと非常に類似していることを示しています。図はMirkesアプレットを使用して作成されました。[23]
- k-NN分類器のCNNモデル削減
-
図1.データセット。
-
図2. 1NN分類マップ。
-
図3. 5NN分類マップ。
-
図4. CNNで削減されたデータセット。
-
図5. CNNで抽出されたプロトタイプに基づく1NN分類マップ。
け-NN回帰
k -NN 回帰 ( k -NN スムージングとも呼ばれる)では、 k -NN アルゴリズムを使用して連続変数を推定します。[引用が必要]このようなアルゴリズムの 1 つは、 k近傍点の加重平均を使用し、距離の逆数で重み付けします。このアルゴリズムは次のように機能します。
- クエリ例からラベル付き例までのユークリッド距離またはマハラノビス距離を計算します。
- ラベルの付いた例を距離の昇順に並べます。
- RMSEに基づいて、発見的に最適な最近傍の数k を見つけます。これは、クロス検証を使用して行われます。
- k近傍の多変量近傍を使用して逆距離加重平均を計算します。
け-NN外れ値
k番目に近い近傍までの距離は局所密度の推定値とみなすこともできるため、異常検出における外れ値スコアとしてもよく使用されます。k番目に近い近傍までの距離が大きいほど局所密度が低くなり、クエリポイントが外れ値である可能性が高くなります。[24]この外れ値モデルは非常に単純ですが、別の古典的なデータマイニング手法である局所外れ値係数とともに、大規模な実験分析によると、より最近のより複雑なアプローチと比較しても非常にうまく機能します。[25]
結果の検証
混同行列または「マッチング行列」は、 k -NN 分類の精度を検証するためのツールとしてよく使用されます。尤度比検定などのより堅牢な統計的手法も適用できます。[方法]
参照
参考文献
- ^ Fix, Evelyn; Hodges, Joseph L. (1951). 判別分析. ノンパラメトリック判別: 一貫性特性(PDF) (レポート). USAF School of Aviation Medicine, Randolph Field, Texas. 2020年9月26日時点のオリジナルよりアーカイブ(PDF) 。
- ^ ab Cover, Thomas M. ; Hart, Peter E. (1967). 「最近傍パターン分類」(PDF) . IEEE Transactions on Information Theory . 13 (1): 21–27. CiteSeerX 10.1.1.68.2616 . doi :10.1109/TIT.1967.1053964. S2CID 5246200.
- ^ この方式は線形補間の一般化です。
- ^ Hastie, Trevor. (2001).統計学習の要素: データマイニング、推論、予測: 200 枚のフルカラーイラスト付き。Tibshirani, Robert.、Friedman, JH (Jerome H.)。ニューヨーク: Springer。ISBN 0-387-95284-5. OCLC 46809224.
- ^ Jaskowiak, Pablo A.; Campello , Ricardo JGB (2011). 「遺伝子発現データにおける癌分類のための非類似度尺度としての相関係数の比較」。ブラジルバイオインフォマティクスシンポジウム (BSB 2011) : 1–8。CiteSeerX 10.1.1.208.993。
- ^ Coomans, Danny; Massart, Desire L. (1982). 「教師ありパターン認識における代替k近傍ルール:パート1.代替投票ルールを使用したk近傍分類」. Analytica Chimica Acta . 136 :15–27. doi :10.1016/S0003-2670(01)95359-0.
- ^ Everitt, Brian S.; Landau, Sabine; Leese, Morven; Stahl, Daniel (2011)「その他のクラスタリング手法」、Cluster Analysis、第 5 版、John Wiley & Sons, Ltd.、英国チチェスター
- ^ Nigsch, Florian; Bender, Andreas; van Buuren, Bernd; Tissen, Jos; Nigsch, Eduard; Mitchell, John BO (2006). 「k近傍法アルゴリズムと遺伝的パラメータ最適化を用いた融点予測」. Journal of Chemical Information and Modeling . 46 (6): 2412–2422. doi :10.1021/ci060149f. PMID 17125183.
- ^ Hall, Peter; Park, Byeong U.; Samworth, Richard J. (2008). 「最近接分類における近傍順序の選択」Annals of Statistics . 36 (5): 2135–2152. arXiv : 0810.5276 . Bibcode :2008arXiv0810.5276H. doi :10.1214/07-AOS537. S2CID 14059866.
- ^ Stone, Charles J. (1977). 「一貫したノンパラメトリック回帰」Annals of Statistics . 5 (4): 595–620. doi : 10.1214/aos/1176343886 .
- ^ ab Samworth, Richard J. (2012). 「最適加重最近傍分類器」Annals of Statistics . 40 (5): 2733–2763. arXiv : 1101.5783 . doi :10.1214/12-AOS1049. S2CID 88511688.
- ^ Terrell, George R.; Scott, David W. (1992). 「可変カーネル密度推定」Annals of Statistics . 20 (3): 1236–1265. doi : 10.1214/aos/1176348768 .
- ^ Mills, Peter (2012-08-09). 「衛星測定の効率的な統計分類」. International Journal of Remote Sensing .
- ^ Toussaint, Godfried T. (2005 年 4 月)。「インスタンスベースの学習とデータマイニングにおける最近傍法の改善のための幾何学的近接グラフ」。International Journal of Computational Geometry and Applications。15 ( 2): 101–150。doi : 10.1142 /S0218195905001622。
- ^ Devroye, L., Gyorfi, L. & Lugosi, G. パターン認識の確率理論。離散応用数学73、192–194(1997)。
- ^ Devroye, Luc; Gyorfi, Laszlo; Lugosi, Gabor (1996).パターン認識の確率理論. Springer. ISBN 978-0-3879-4618-4。
- ^ Beyer, Kevin; et al. 「「最近傍」が意味を持つのはいつですか?」(PDF) 。データベース理論—ICDT'99。1999 : 217–235。
- ^ Shaw, Blake; Jebara, Tony (2009)、「構造保存埋め込み」(PDF)、機械学習に関する第26回国際会議の議事録(2009年6月発行)、pp. 1–8、doi :10.1145/1553374.1553494、ISBN 9781605585161、S2CID 8522279
- ^ Bingham, Ella; Mannila, Heikki (2001). 「次元削減におけるランダム投影」。知識発見とデータマイニングに関する第 7 回 ACM SIGKDD 国際会議議事録 - KDD '01。pp. 245–250。doi :10.1145/ 502512.502546。ISBN 158113391X.S2CID 1854295 。
- ^ ライアン、ドナ(編集者); High Performance Discovery in Time Series、ベルリン:シュプリンガー、2004年、ISBN 0-387-00857-8
- ^ Bremner, David; Demaine, Erik ; Erickson, Jeff; Iacono, John ; Langerman, Stefan ; Morin, Pat ; Toussaint, Godfried T. (2005). 「最近傍決定境界を計算するための出力に敏感なアルゴリズム」.離散および計算幾何学. 33 (4): 593–604. doi : 10.1007/s00454-004-1152-0 .
- ^ ハート、ピーター E. ( 1968)。「凝縮された最近傍ルール」。IEEE Transactions on Information Theory。18 : 515–516。doi :10.1109/TIT.1968.1054155。
- ^ ab ミルケス、エフゲニー M.; KNN と潜在エネルギー: アプレット、レスター大学、2011
- ^ Ramaswamy, Sridhar; Rastogi, Rajeev; Shim, Kyuseok (2000)。「大規模データセットから外れ値を抽出する効率的なアルゴリズム」。2000 ACM SIGMOD国際データ管理会議の議事録 - SIGMOD '00。2000 ACM SIGMOD 国際データ管理会議の議事録- SIGMOD '00。pp. 427–438。doi :10.1145/342009.335437。ISBN 1-58113-217-4。
- ^ Campos, Guilherme O.; Zimek, Arthur; Sander, Jörg; Campello, Ricardo JGB; Micenková, Barbora; Schubert, Erich; Assent, Ira; Houle, Michael E. (2016). 「教師なし外れ値検出の評価について: 測定基準、データセット、および実証的研究」。データマイニングと知識発見。30 (4): 891–927。doi : 10.1007 /s10618-015-0444-8。ISSN 1384-5810。S2CID 1952214 。
さらに読む
- Dasarathy, Belur V.編(1991)。Nearest Neighbor (NN) Norms: NN Pattern Classification Techniques。ISBN 978-0818689307。
- Shakhnarovich, Gregory、Darrell, Trevor、Indyk, Piotr 編 (2005)。学習と視覚における最近傍法。MIT出版。ISBN 978-0262195478。
