[net,tr] = train(net,x,t)
wherenet
は構成されたネットワーク、x
は入力行列、t
はターゲット行列などを使用してネットワークをトレーニングする場合、返される 2 番目の引数tr
はトレーニング レコードです。tr
コンソールに表示するだけで、次のようなものが得られます
tr =
trainFcn: 'trainlm'
trainParam: [1x1 struct]
performFcn: 'mse'
performParam: [1x1 struct]
derivFcn: 'defaultderiv'
divideFcn: 'dividerand'
divideMode: 'sample'
divideParam: [1x1 struct]
trainInd: [1x354 double]
valInd: [1x76 double]
testInd: [1x76 double]
stop: 'Validation stop.'
num_epochs: 12
trainMask: {[1x506 double]}
valMask: {[1x506 double]}
testMask: {[1x506 double]}
best_epoch: 6
goal: 0
states: {1x8 cell}
epoch: [0 1 2 3 4 5 6 7 8 9 10 11 12]
time: [1x13 double]
perf: [1x13 double]
vperf: [1x13 double]
tperf: [1x13 double]
mu: [1x13 double]
gradient: [1x13 double]
val_fail: [0 0 0 0 0 1 0 1 2 3 4 5 6]
best_perf: 7.0111
best_vperf: 10.3333
best_tperf: 10.6567
トレーニング結果に関するすべてが含まれています。Matlab には、このレコードを操作するための組み込み関数がいくつかあります。その中で最も役立つのは次のとおりです。
plotperform(tr)
- で計算されたプロットperformFcn
パフォーマンスtr
plotconfusion(t,y)
-混同マトリックスをプロットします。これは、ネットワークがどのように物事を誤分類したかを非常に簡潔にグラフィカルに表示し、各クラスおよび合計での正解/不正解のパーセンテージを示します。t
はターゲット マトリックスで、は計算された出力であり、入力マトリックスに使用してy
抽出できます。y=net(x)
x