Top / SJS / 2016 / ex09

SJS2016 ex09 [edit]

これまでの分 [edit]

  • 以前の分を全て報告してokをもらってから,今回分にすすみましょう.

課題A [edit]

手書き数字の認識 (3) -- MNISTの最近傍法による識別 --

前回の識別法では,クラス毎に1つの見本(プロトタイプ)を用意して,テストデータを,最も近いプロトタイプのクラスに分類していた.これを一般化すれば,1つのクラスに複数のプロトタイプを用意して,それらの中からテストデータと最も近いプロトタイプを探して,そのテストデータはそのプロトタイプと同じクラスに分類する,という方法が考えられる.これを最近傍(Nearest Neighbor)法という.

前回の最短距離法は,このNN法で1クラス1プロトタイプとし,かつプロトタイプを学習データの平均とした,という特別な場合に相当する.プロトタイプは,あらかじめ集めておいたクラスラベル既知のデータに何らかの処理を施して作成してもよいが,最も単純でよく使われるのは,「学習データ全部そのまんま使ってまえ」という方法である.

というわけで,MNISTのデータをこのようなNN法で識別するプログラムを作って実験しなさい.プログラムと,テストデータの誤識別率が何%になったかを報告すること(学習データの誤識別率は...調べる必要ないことは明らかですよね).

ただし,上記の説明から想像つくようにNN法は記憶コストも計算コストも大きい.最初のうちは 学習データの最初の1000件だけを用いてテストデータを識別させるようにしてデバグ&動作確認し,それから全部使って実行,という方針でやることをおすすめします.


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-10-31 (月) 15:38:55 (384d)