2016/02/07

[ai]『深層学習』の8章に挫折してCNTKを試す (3)

Simple2dがどういうサンプルなのか気になってきた・・・。
まだメインPCのバックアップ処理などやっているので、調査を続けておこう。

https://github.com/Microsoft/CNTK/blob/master/Examples/Other/Simple2d/Config/Simple.cntk
L.29~30にこういうコメントがある。

# Notation xxx:yyy*n:zzz is equivalent to xxx, then yyy repeated n times, then zzz
# Example: 10:20*3:5 is equivalent to 10:20:20:20:5

???

xxx = 10
yyy = 20
n = 3
zzz = 5

というのは、わかる。
「xxx:yyy*n:zzz」が「xxx, then yyy repeated n times, then zzz」というのもわかる。
「10:20*3:zzz」が「10:20:20:20:5」というのまでわかる。
しかし、この「10:20:20:20:5」って、なんだ?
これがSimple2dなのか??

 

そういえば、AdditionalFilesにMATLABのファイルがある。
https://github.com/Microsoft/CNTK/blob/master/Examples/Other/Simple2d/AdditionalFiles/MakeData.m
これで訓練データなりテストデータなりを作成しているようだ。

L.27にファイル出力部分があり、3列のうちの最初2つが(x, y)座標、3列目がlabelになっている。
座標(x, y)の値は-1.0~+1.0の乱数。
labelはsin波を元にしていて、imageという式らしい。
Excelで左辺をグラフにした。

image

この線よりyが下にあれば条件を満たす。
例えばx=0のとき、yが0より小さければ真、0以上なら偽となる。
yが-0.25より小さければ必ず真だし、yが+0.25以上ならば必ず偽だ。
まあ、左右対称だから、確率として半々なのかな。
たぶん、真=1、偽=0というラベルだろう。

こういう式で表せるものは、当然ロジックで評価できて、結果も100%にできる。
だから、機械学習の結果を判断しやすいのだろう。

 

ああ、そういえばこの式とコメントの関係はわからないままだ。
たぶん、データについてのコメントじゃなくて、ネットワークについてのコメントなんだろう。
だから、まだわからなくて大丈夫だ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。