K-Nearest Neighbors(KNN)は、分類と回帰の両方のタスクに使用される基本的な機械学習アルゴリズムです。そのシンプルさと直感的な性質で知られ、機械学習分野の初心者に人気のある選択肢となっている。KNNの核となる考え方は、似たような属性を持つデータ点は同じクラスに属するか、似たような値を持つ傾向があるということである。このアルゴリズムは、学習データセット中の多数派クラス、または「K」個の最も近いデータ点の平均値に基づいて予測を行う。
KNNアルゴリズムは近接性の原理で動作する。新しい未知のデータ点が提示されると、この点と訓練データセット内のすべての点との距離を計算する。そして、新しい点に最も近い「K」個の学習点を特定する。分類の場合、新しい点には、その「K」個の最近傍の中で最も一般的なクラスが割り当てられる。回帰の場合、予測値は「K」個の最近傍の値の平均(または加重平均)である。K' の選択は非常に重要で、モデルの性能に大きく影響します。より小さな'K'はノイズに敏感になる可能性があり、より大きな'K'は決定境界を平滑化できるが、他のクラスのポイントを含む可能性がある。
KNNにおける「最も近い」という概念は、距離メトリックに依存している。よく使われる距離メトリックには、ユークリッド距離、マンハッタン距離、ミンコフスキー距離がある。各メトリックはそれぞれ特徴があり、異なるタイプのデータに適している。例えば、ユークリッド距離は連続的な数値データによく使われ、マンハッタン距離は外れ値に強い。
KNNはその実装の容易さと様々な領域での有効性から広く使われている。特にデータ分布に関する予備知識がほとんどない場合に有効である。KNNは、類似したユーザーの嗜好に基づいてユーザーに商品を提案するような、推薦システムに適用することができる。推薦システムについては、AIと機械学習の文脈で詳しく学ぶことができる。
医療分野では、類似した患者の病歴に基づいて、ある患者が特定の疾病を発症する可能性があるかどうかを予測するために、KNNを採用することができる。年齢、血圧、コレステロール値などの要素を分析することで、KNNは新しい患者をリスク・カテゴリーに分類し、早期診断や個人に合わせた治療計画に役立てることができる。ヘルスケアにおけるAIについてさらに詳しく
KNNは、手書きの数字を識別したり、物体の画像を分類したりといった画像認識タスクに利用できる。画像を特徴ベクトルとして表現することで、KNNは学習セット内のラベル付き画像との類似性に基づいて新しい画像を分類することができる。この応用は、光学式文字認識(OCR)や自動画像タグ付けのような分野に特に関連している。
KNNもK-Meansもパラメータ'K'を含むが、その目的は異なる。K-Meansはクラスタリングに使用される教師なし学習アルゴリズムで、'K'はクラスタ数を表す。対照的に、KNNは分類や回帰に使用される教師あり学習アルゴリズムで、'K'は考慮される近隣の数を表します。K-Meansクラスタリングの詳細はこちら。
KNNの性能は、"次元の呪い "として知られる高次元データの影響を受けることがある。主成分分析(PCA)のようなテクニックを使うことで、重要な情報を保持したまま特徴の数を減らし、KNNの効率と精度を向上させることができる。
K-Nearest Neighborsは汎用性が高く直感的なアルゴリズムであり、様々な機械学習アプリケーションで利用されている。データポイントの類似性に基づいて予測を行うその能力は、分類や回帰タスクのための貴重なツールとなる。しかし、最適なパフォーマンスを得るためには、「K」と距離メトリックの選択を慎重に検討することが不可欠である。Ultralytics 高度な機械学習モデルの探求とその展開に興味をお持ちの方には、Ultralytics YOLO モデルやUltralytics HUBプラットフォームといった最先端のソリューションを提供しています。