※日経ソフトウエア 2018年11月号の記事を再構成

ディープラーニングに代表される機械学習が、数式が苦手な人でも“ざっくり分かる”、プログラミングおよびソフトウエア開発の専門誌である「日経ソフトウエア」による連載講座。第7回は代表的な機械学習アルゴリズムのうち、分類に使われるシンプルな手法である「k近傍法」を解説する。

k 近傍法

 k近傍法とは、分類に使われる手法の一つで、与えられた学習データをベクトル空間上にプロットしておき、未知のデータが得られたら、そこから距離が近い順に任意のk個を取得し、その多数決でデータが属するクラスを推定するというものだ。分類のアルゴリズムの中でも、シンプルでわかりやすいアルゴリズムだ。独立変数が2個しかない場合は、2次元上にデータをプロットできるので、より直感的に理解できる。

 データ間の距離は、「ユークリッド距離」を用いることが一般的だ。ユークリッド距離は、人が定規を使って測るような点と点の間の通常の距離のことで、ピタゴラスの公式によって算出される。例えば、2次元の場合なら、点(x1,y1)と点(x2,y2)の距離dは、

となる。3次元以上の場合でも、計算方法は変わらない(図1)。

第6回
決定木とは?|機械学習アルゴリズム10種(4)
第8回
k平均法とは?|機械学習アルゴリズム10種(6)