
遞迴神經網路(RNN)
|
339
評估與評分時遮罩的作用
我們在對 RNN 進行評分與評估時(也就是當我們在評估模型的正確率時),遮罩陣列也
有一定的作用。在多對一的情況下,每個樣本都只會有單一個輸出,因此評估時必須考
慮到這一點。
使用 Evaluation 物件類別
在評估過程中,我們會把輸出遮罩陣列傳遞給
Evaluation
物件,如範例 7-3 所示。
範例
7-3
Evaluation
的設定
Evaluation.evalTimeSeries(INDArray labels, INDArray predicted, INDArray outputMask)
表 7-4 針對範例 7-3 其中的每個變數提供了相應的說明。
表 7-4 變數說明
變數 說明 維度
labels 訓練資料的實際標籤 3 維
predicted 網路所生成的標籤 3 維
outputMask 輸出的遮罩陣列 2 維
我們可以注意到,輸入遮罩陣列對於評估來說並不是必須的,因為在評估時只關心網路
的輸出。
用 MultiLayerNetwork 對新資料進行評分
我們在計算模型的分數時,遮罩陣列也會對分數造成一定的影響。這裡所計算的分數,
與我們之前所看過的並不相同。我們在這裡所計算的是損失函數的值,而不是像正確
率或 F1 這類的衡量值。但不管是採用哪一種衡量方式,我們都希望分數所評估的是那
些實際存在的時間步驟,而不是那些填充(原本不存在)的時間步驟。我們可以使用
MultiLayerNetwork
這個物件類別,來對時間序列資料進行評分,相應的程式碼如下: ...