10_1:KNN クラス分類 ml5.js JavaScript

本稿は、「ml5-examples/p5js/KNNClassification」で公開されているサンプルを元に、k近傍法(k-nearest neighbor algorithm, k-NN)と呼ばれる方法で、クラス分類を行うml5.KNNClassifier()の機能を解説するものです。

k近傍法とは、学習データ(サンプルデータ)をベクトル空間上に配置しておき、分類したい未知のデータに対して、未知のデータの位置から距離が近い順にk個を調べ上げ、その中で多数決で未知のデータのクラスを推測する、という方法です。

下図はウィキペディアからの引用で、k近傍法の簡易化した説明図です。

学習データとして赤三角と青四角のデータがあり、それぞれがベクトル空間上に位置しています。赤三角は赤三角クラスに、青四角は青四角のクラスに属しています。ここに未知のデータとして緑丸を入れたとします。k= 3の場合、緑丸を中心に赤三角か青四角が3個入る円を書き、赤三角と青四角の数を数えます。すると2個と1個であることが分かります。これを多数決にかけ、緑丸は赤三角のクラスに属すると推測します。ただし、k = 5の場合(図の外側の点線の円)には、2個対3個なので、緑丸は青四角のクラスに属することになります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA