回答編集履歴
3
厳密でない用語の修正
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
ニューラルネットにおいては何に使うかと言いますと入力に対する答えが◯である確率×である確率を0から1の間で2つに分けるのに教師学習によって決定した入力値に対するシグモイド関数の値を使います。質問者さんのプログラムでは、その後乱数によって
|
9
|
+
ニューラルネットにおいては何に使うかと言いますと入力に対する答えが◯である確率×である確率を0から1の間で2つに分けるのに教師学習によって決定した入力値に対するシグモイド関数の値を使います。質問者さんのプログラムでは、その後一様乱数によってシグモイド関数より上の値の乱数が生成されたら◯、下なら×というラベルをつけて◯であった確率はどれくらいかというようなことを計算して出してる感じです。
|
10
10
|
|
11
11
|
|
12
12
|
|
2
間違いの修正
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
模範の方はシグモイドの入力の符号を入れ替えてますが符号を入れ替えるとシグモイドは原点に対して上下に値が入れ替わるだけなので◯と×の対応関係が入れ替わるだけで本質はどちらのコードも変わりません。
|
21
|
+
模範の方はシグモイドの入力の符号を入れ替えてますが符号を入れ替えるとシグモイドは原点に対する出力点に対して上下に値が入れ替わるだけなので◯と×の対応関係が入れ替わるだけで本質はどちらのコードも変わりません。
|
22
22
|
|
23
23
|
|
24
24
|
|
1
補足
test
CHANGED
@@ -19,3 +19,7 @@
|
|
19
19
|
|
20
20
|
|
21
21
|
模範の方はシグモイドの入力の符号を入れ替えてますが符号を入れ替えるとシグモイドは原点に対して上下に値が入れ替わるだけなので◯と×の対応関係が入れ替わるだけで本質はどちらのコードも変わりません。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
シグモイド関数より上を◯とする習慣があるので模範は逆シグモイド関数を使ってそれ以下の値を1として採用することで元のシグモイド関数より上の値を◯として扱うことと等価な実装になっていますね。これはモデル化の問題なので綺麗な実装になるように調節していい所だと思います。
|