K-最近傍探索(KNN)
K-Nearest Neighbors (KNN)は、直感的なノンパラメトリックアプローチで、分類や回帰タスクの機械学習を簡素化します。
K-Nearest Neighbors (KNN)は、分類と回帰タスクの両方に使用される教師あり学習アルゴリズムの基礎です。KNNは、学習データ段階でモデルを構築しないため、インスタンス・ベースまたは「遅延学習」アルゴリズムと考えられている。その代わりに、データセット全体を保存し、保存されたデータから「K」個の最も類似したインスタンス(近傍)を見つけることで予測を行う。核となる考え方は、類似したデータポイントは近接して存在するということである。新しい未分類のデータポイントに対して、KNNはその最も近い近傍を特定し、そのラベルを使用して独自の分類または値を決定する。
KNNはどのように機能するのか?
KNNアルゴリズムは単純な類似性の原理で動作し、通常は距離メトリックで測定される。最も一般的なものはユークリッド距離であるが、データセットによっては他のメトリックを使用することもできる。
予想を立てるプロセスは簡単だ:
- Kの値を選択する:考慮する近隣の数(K)は、重要なハイパーパラメータである。Kの選択はモデルの性能に大きく影響します。
- 距離を計算する:新しいデータ点に対して、アルゴリズムはその点と訓練データセット内の他のすべての点との間の距離を計算する。
- Neighbors を特定する:トレーニングセットから、新しい点に最も近いK個のデータ点を特定する。これが "最近傍 "である。
- 予測を立てる:
- 分類タスクでは、アルゴリズムは多数決を行う。新しいデータ点には、そのK個の最近傍の中で最も一般的なクラスが割り当てられる。例えば、K=5で3つの近傍がクラスA、2つがクラスBの場合、新しい点はクラスAに分類される。
- 回帰タスクでは、アルゴリズムはK個の最近傍の値の平均を計算する。この平均が新しいデータポイントの予測値となる。
実世界での応用
KNNの単純さと直感的な性質は、特にベースラインモデルとして、様々な用途に有用である。
- 推薦システム:KNNは推薦エンジンの構築によく使われる。例えば、ストリーミング・サービスは、同じような視聴履歴を持つ他のユーザー(隣人)を特定することで、ユーザーに映画を推薦することができる。そして、ターゲットユーザーが見ていない、これらの近隣ユーザーが楽しんでいる映画を推薦する。この技術は協調フィルタリングの一種である。
- 金融サービス:金融の分野では、KNNは信用スコアリングに利用できる。新規のローン申込者を、与信結果が判明している過去の申込者のデータベースと比較することで、アルゴリズムは新規申込者が債務不履行に陥る可能性があるかどうかを予測することができる。隣人とは、似たような財務プロフ ァイル(例えば、年齢、収入、負債レベル)を持つ過去の申込者で、彼らの債務不履行履歴が予測に反映される。これは初期リスク評価の自動化に役立つ。
KNNと関連概念との比較
KNNを他の一般的な機械学習アルゴリズムと区別することは重要である:
- K-平均クラスタリング:名前は似ているが、その機能は大きく異なる。K-Meansは、データをK個の異なる、重複しないサブグループ(クラスタ)に分割するために使用される教師なし学習アルゴリズムである。対照的にKNNは、ラベル付きデータに基づく予測に使用される教師ありアルゴリズムである。
- サポートベクターマシン(SVM):SVMは教師ありアルゴリズムで、特徴空間において異なるクラスを分離する最良の超平面を見つけようとする。KNN が局所的な近傍類似性に基づいて決定を行うのに対して、SVM は大域的な最適境界を見つけることを目的としており、アプローチが根本的に異なります。詳細はScikit-learn SVM のページを参照してください。
- 決定木:決定木は、階層的なルールベースの決定モデルを作成することによってデータを分類する。KNN が明示的なルールを学習することなく距離ベースの類似性に依存するのに対し、この結果、ツリーのような構造になります。詳しくはScikit-learn Decision Trees のドキュメントを参照してください。
KNNは、基本的な機械学習の概念を理解し、小規模でよく収集されたデータセットで使用するための貴重なツールですが、ビッグデータを リアルタイムで推論するには計算量が多くなります。リアルタイムの物体検出のような複雑なコンピュータ・ビジョンのタスクには、Ultralytics YOLOのようなより高度なモデルが、その優れた速度と精度のために好まれます。これらのモデルは、Ultralytics HUBのようなプラットフォームを使って簡単にトレーニングし、デプロイすることができます。