回答編集履歴

2

s

2018/10/23 12:37

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -5,3 +5,59 @@
5
5
  パット見た感じ、全結合層が多すぎる気がするのですが。。
6
6
 
7
7
  画像なら CNN を使ったほうがよいかと思います。
8
+
9
+
10
+
11
+ ## 追記
12
+
13
+
14
+
15
+ > predictがニューラルネットの結果を出力しているもの
16
+
17
+
18
+
19
+ その認識であっていますよ。
20
+
21
+ 整理すると、以下のようになります。
22
+
23
+
24
+
25
+ dropout: 学習時に設定した確率に従い、ランダムにニューロンを脱落させる処理。**推論時は適用されない**。
26
+
27
+
28
+
29
+ * predict(): ニューラルネットワークの予測値: 推論時なので **dropout なし**のネットワーク計算された値。
30
+
31
+ * evaluate(): ニューラルネットワークの損失関数の値: 推論時なので **dropout なし**のネットワーク計算された値。
32
+
33
+ * fit() 時に表示される val_loss: 推論時なので **dropout なし**のネットワークで計算された値。
34
+
35
+ * fit() 時に表示される loss: 学習時の **dropout あり**のネットワークで計算された値。
36
+
37
+
38
+
39
+ > なぜ fit() 時に表示される loss は14%なのに、evaluate() 時の誤差は2.6%なのか
40
+
41
+ > なぜ fit() 時に表示される loss は14%で val_loss は2%代なのか
42
+
43
+
44
+
45
+ これらは上記の通り、loss の値は dropout が適用されたネットワークで計算した値で、その他は推論時なので dropout を適用していないネットワークで計算した値だからです。
46
+
47
+
48
+
49
+ > 最終エポック終了時の予測,あわよくば各エポック毎をcsvに出力する方法はありますか?
50
+
51
+
52
+
53
+ [CSVLogger](https://keras.io/ja/callbacks/#csvlogger) を使うと、各エポックごとの結果をファイルに残せます。
54
+
55
+
56
+
57
+ ```
58
+
59
+ csv_logger = CSVLogger('training.log')
60
+
61
+ model.fit(X_train, Y_train, callbacks=[csv_logger])
62
+
63
+ ```

1

d

2018/10/23 12:37

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -4,4 +4,4 @@
4
4
 
5
5
  パット見た感じ、全結合層が多すぎる気がするのですが。。
6
6
 
7
- 画像なら CNN
7
+ 画像なら CNN を使ったほうがよいかと思います。