teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

s

2018/10/23 12:37

投稿

tiitoi
tiitoi

スコア21960

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

1

d

2018/10/23 12:37

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -1,4 +1,4 @@
1
1
  なにを回帰分析したいのでしょうか?
2
2
 
3
3
  パット見た感じ、全結合層が多すぎる気がするのですが。。
4
- 画像なら CNN
4
+ 画像なら CNN を使ったほうがよいかと思います。