p_ml_6-3-1(質問管理番号)

回答日時: 12/20
Q: 「問6.3.1 3-NNにおいて、一個抜き交差検証(k分割交差検証においてk=データの個数としたもに)により得られる精度はいくつか。」の解法が分かりません。
回答を見ると「データ点(0.5, 0.5)以外のデータは正しく分類されるので、精度は4/5=0.8」と記載されていますが、これを読んでも理解できません。以下2点質問です。
(1). 3-NNにおいての’3’を回答を導く過程で使っていますか?
(2). 「データ点(0.5, 0.5)以外のデータは正しく分類される」を理解できません。データ点(0.5, 0.5)は正しく分類されないのはなぜでしょうか?
A: 1). 3-NNにおいての’3’を回答を導く過程で使っていますか?

はい.使っています.

2). 「データ点(0.5, 0.5)以外のデータは正しく分類される」を理解できません。データ点(0.5, 0.5)は正しく分類されないのはなぜでしょうか?

まず結論からいうと理由は
(0.5, 0.5)から近い3点のラベルはすべて0であるため,3-NNでは(0.5, 0.5)のラベル(=1)と異なったラベルに分類されてしまうから
です.

少々長くなりますが以下に詳細を載せます.

まず一個抜き交差検証は以下のような手法です
「標本群から1つの事例だけを抜き出してテスト事例とし、残りを訓練事例とする。これを全事例が一回ずつテスト事例となるよう検証を繰り返す。」(wikiより)
今回の問題でいえば5つのデータから1点だけを抜き,その1点が正しく分類されるか否かを調べます.それを全データに関して繰り返し調べて最終的な精度とします.
(例えば 5点のうち2点が正しく分類され.3点が誤分類だと最終的な精度は2/5です)

また3-NNは以下のような手法です
ある一点が与えられたときにその点から近い3点のラベルを見て,3点のラベルのうち一番多いラベルをその点のラベルとする

これらの知識をもとにして具体的に今回のデータで計算していけば疑問が解消できるかと思います
(イメージをしやすくするために今回のデータを(0.5,0.5)を中心点とした正方形として考えてみるといいかもしれません)

実際の計算ですが
まず一番目の点(0,0)を抜き出してこの点が正しく分類されるか調べます
この点から近い順に3点の座標を並べると(0.5, 0,5) (0, 1) (1, 0)(ただし(0, 1) (1, 0)は順不同)でそれぞれラベルは(1,0,0)です.ラベル0の点の数は2でラベル1の点の数は1ですので1番目の点のラベルは0と分類されます.1番目の点の正解ラベルは0ですのでこの点は正しく分類されていますね.
同様に(1,0)(0,1)(1,1)の点も一点ずつ抜き出して正しく分類されるか調べるとどれも正しく分類されることがわかります.

最後に(0.5, 0.5)の点を抜き出して正しく分類されるかどうかしらべてみましょう.
この点から近い順の3点―(0, 0) (0, 1) (1, 0) (1, 1)は(0.5, 0.5)から等距離なのでこれら4点から適当に3点を選び適当に並べます―のラベルは(0,0,0)です.ですので(0.5, 0.5)の点のラベルは0と分類されます.(0.5, 0.5)点の正解ラベルは1ですのでこの点は正しく分類されていませんね.

最終的な精度は
(0, 0) (0, 1) (1, 0) (1, 1) は正しく分類されるが
(0.5, 0.5)は正しく分類されないので
4/5となります