#概要
mindが謎なので調べてみた。
vistaに入れた。
ニューラルネットワーク、書いてみた。
ウェイトとバイアスは、tensorflow.jsで学習済み。
xorを推論する。
#サンプルコード
tanh関数は 関数 小数入力 小数出力
aは 小数変数
bは 小数変数
vは 小数変数
vに 入れる
[exp(v)]を aに 入れる
[exp(-1.0f × v)]を bに 入れる
[(a - b) / (a + b)]を 返す。
sigmoid関数は 関数 小数入力 小数出力
vは 小数変数
vに 入れる
[exp(-1.0f × v)]に 1.0fを f加えて vに 入れる
1.0fを vで f割り 返す。
簡易小数表示とは
3桁で 小数形式で表示すること。
w1は 構造体
セル2は 小数変数
列2は
8個の セル2
全体は
2個の 列2
。
b1は 8個の 小数変数。
w2は 8個の 小数変数。
b2は 小数変数。
xは 2個の 小数変数。
hは 8個の 小数変数。
メインとは
kは 変数
lは 変数
yは 小数変数
セル2(1, 1)に -3.4681022fを 入れる
セル2(1, 2)に 0.379121fを 入れる
セル2(1, 3)に -1.4711456fを 入れる
セル2(1, 4)に 2.2247136fを 入れる
セル2(1, 5)に 2.3135107fを 入れる
セル2(1, 6)に 2.7624693fを 入れる
セル2(1, 7)に -1.83576fを 入れる
セル2(1, 8)に -1.1545312fを 入れる
セル2(2, 1)に 2.1978209fを 入れる
セル2(2, 2)に 0.2895245fを 入れる
セル2(2, 3)に 2.0881913fを 入れる
セル2(2, 4)に -1.3450832fを 入れる
セル2(2, 5)に -1.4154571fを 入れる
セル2(2, 6)に 1.9255028fを 入れる
セル2(2, 7)に 3.2867477fを 入れる
セル2(2, 8)に 1.956522fを 入れる
b1(1)に -0.6591252fを 入れる
b1(2)に 0.3864409fを 入れる
b1(3)に 0.4982838fを 入れる
b1(4)に 0.3707547fを 入れる
b1(5)に 0.3982254fを 入れる
b1(6)に -0.3612466fを 入れる
b1(7)に 0.4284867fを 入れる
b1(8)に 0.2701645fを 入れる
w2(1)に 1.4324994fを 入れる
w2(2)に 0.7911373fを 入れる
w2(3)に -2.3011343fを 入れる
w2(4)に -1.7614117fを 入れる
w2(5)に -2.4442003fを 入れる
w2(6)に 3.9701838fを 入れる
w2(7)に -1.837263fを 入れる
w2(8)に -1.3641325fを 入れる
b2に 0.9285715fを 入れる
4を 回数指定して
もし 回数が 1と 等しい ならば
x(1)に 0.0fを 入れ
x(2)に 0.0fを 入れ
「0, 0 = 」を 表示し
つぎに
もし 回数が 2と 等しい ならば
x(1)に 0.0fを 入れ
x(2)に 1.0fを 入れ
「0, 1 = 」を 表示し
つぎに
もし 回数が 3と 等しい ならば
x(1)に 1.0fを 入れ
x(2)に 0.0fを 入れ
「1, 0 = 」を 表示し
つぎに
もし 回数が 4と 等しい ならば
x(1)に 1.0fを 入れ
x(2)に 1.0fを 入れ
「1, 1 = 」を 表示し
つぎに
hを クリアし
yを クリアし
2を 回数指定して
回数を kに 入れる
8を 回数指定して
回数を lに 入れる
セル2(k, l)に x(k)を f掛けて h(l)を f加えて h(l)に 入れる
繰り返す
繰り返す
8を 回数指定して
回数を lに 入れる
h(l)に b1(l)を f加えて h(l)に 入れる
tanh関数(h(l))を h(l)に 入れる
繰り返す
8を 回数指定して
回数を kに 入れる
w2(k)に h(k)を f掛けて yを f加えて yに 入れる
繰り返す
yに b2を f加えて yを f加えて yに 入れる
sigmoid関数(y)を yに 入れる
yを 簡易小数表示し 改行する
繰り返す
「おけ」を 表示する。
#実行結果
0, 0 = 0.000
0, 1 = 0.999
1, 0 = 0.999
1, 1 = 0.000
おけ
以上。