トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

k近傍法

k近傍法は、Yが未知のXのデータがあった時に、未知のYを推測する方法です。

例えば、地図を使って、ある地点の標高や土地の利用の仕方を知りたいのに、 その地点には何も書いてなかったとします。 こういう時は、その地点の周辺の情報を見て推測しますが、 k近傍法の考え方は、このやり方と似ています。

k近傍法は、k個の「k」を自分で予め決めておいて、 その地点に近い順のk個の地点の情報から、推測する方法です。

計算方法

まず、距離関数を使って、既知のX群の中のどの辺りにあるのかを調べます。 次に、結合関数を使って、近傍のk個のYから、未知のYの大きさを計算します。

距離関数や結合関数は自分で選べます。 一例としては、距離関数は ユークリッドの距離 ですし、結合関数は 平均値 が挙げられます。

Yが、「○」と「×」のように質的変数でしたら、k個の中で多数決をしてどちらであるのかを推測したり、 「○」の確率を求める計算をする事になります。

k近傍法の長所と短所

長所

k近傍法は、データ全体ではなく、一部のデータだけを使いますので、 YとXの関係を数式で表す事ができなくても、確からしい推測ができます。

局所的な推測に、有利な方法です。

また、データ全体を使わないので、 外れ値 の影響を受けにくいです。 ロバストな解析 のひとつとも言えます。

短所

kの選び方で、結果が変わりますので、結果の妥当性の評価が難しいです。

Xの広い領域では、Yに大きな幅があるけれども、狭い領域では幅が小さい時に威力を発揮しやすい方法です。 狭い領域でも幅が大きい時は、推測値の妥当性がなくなってきます。

短所を補うための距離関数や結合関数の研究は、いろいろとあるようです。

異常値の判定方法として

k近傍法は、未知の値の推測だけでなく、異常値の判定方法としても使う事ができます。

あるXの時のYの実測値を持っているとします。 k近傍法を使うと、このXのk個の周辺の値から、このXの時のYを推測する事ができます。 この時、推測値と実測値の差が大きければ、実測値が「異常値」と判断できます。

地図の話で言えば、山林が広がっている地域の中に コンビニがあれば、「何かの間違いではないか?」、 と思ってしまうと思います。 k近傍法による異常値の判断は、この例とほぼ同じです。

名前について

k近傍法は、「k Nearest Neighbor algorithm」の訳です。 k-NN法とも呼ばれます。

また、記憶ベース推論とか、メモリーベース推論とも呼ばれます。 Memory-Based Reasoningの訳です。 MBRとも呼ばれます。

事例ベース推論

記憶ベース推論と名前が似ていますし、考え方も似ていますが、こちらは数字のデータを対象にしていません。 言語や文脈等の事例のパターンの集積による、 新規の事象への対策案の立案を目指しています。

過去の判例を元にして、新規の事件の判断を決めるための方法が研究されているようです。




判別分析、ロジスティック回帰分析、決定木、MT法などなどの違いA

手法の使い分け

ロバストな解析

参考文献

データマイニング手法」 マイケルJ.A.ベリー・ゴートン・リノフ 著 海文堂 1999
記憶ベース推論について


知識と推論」 新田克己 著 サイエンス社 2002
事例ベース推論と、その実例としての、法律の分野での推論が解説されています。


知能システム工学入門」 松本啓之亮・黄瀬浩一・森直樹 共著 コロナ社 2002
事例ベース推論や、関係する確率的推論方法



順路 次は LOF

Tweet データサイエンス教室