
188
|
第五章:打造深度網路
for ( int n = 0; n < nEpochs; n++) {
model.fit( trainingDataIter );
}
在本章後面的例子中,我們還會經常看到這種利用迴圈來管理 epoch 階段的類似做法。
做出預測
如果想要對做出預測有更好地理解,你應該去看一下附錄 E 的內容。
訓練組、驗證組與測試組資料
除了從訓練資料中切分出訓練組與測試組之外,也可以再切分出一個驗證組,這種做法
一般認為是最佳的實務做法。我們可以使用驗證組資料,來告訴我們何時可以早一點停
止訓練。
使用多層感知器網路,為 CSV 資料建立模型
DL4J 一開始對於深度學習新鮮人來說似乎有點複雜,因此我們先從如何打造多層感
知器模型開始談起。這樣就可以讓你從比較容易理解的神經網路架構中,看到 DL4J
API 的基本用法。在本書隨附的 GitHub 儲存庫中,有一個針對非線性合成資料集進行
模型化的 Java 範例
5
,其名稱叫做 Saturn(土星)。範例 5-1 就是來自該範例的程式碼
(
http://bit.ly/2txQnwR
):
範例
5-1
多層感知器的
Java
程式碼範例
public class MLPClassifierSaturn {
public static void main(String[] args) throws Exception {
Nd4j.ENFORCE_NUMERICAL_STABILITY = true;
int batchSize = 50;