[英]DL4J Prediction Formatting
我對deeplearning4j有兩個相關的問題。
部分代碼:
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
.seed(seed)
.iterations(1)
.optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT)
.learningRate(learningRate)
.updater(org.deeplearning4j.nn.conf.Updater.NESTEROVS).momentum(0.9)
.list()
.layer(0, new DenseLayer.Builder()
.nIn(numInputs)
.nOut(numHiddenNodes)
.weightInit(WeightInit.XAVIER)
.activation("relu")
.build())
.layer(1, new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD)
.weightInit(WeightInit.XAVIER)
.activation("softmax")
.weightInit(WeightInit.XAVIER)
.nIn(numHiddenNodes)
.nOut(numOutputs)
.build()
)
.pretrain(false).backprop(true).build();
MultiLayerNetwork model = new MultiLayerNetwork(conf);
model.init();
model.setListeners(new ScoreIterationListener(10));
for (int n=0; n<nEpochs; n++) {
model.fit(trainIter);
}
Evaluation eval = new Evaluation(numOutputs);
while (testIter.hasNext()){
DataSet t = testIter.next();
INDArray features = t.getFeatureMatrix();
System.out.println("Input features: " + features);
INDArray labels = t.getLabels();
INDArray predicted = model.output(features,false);
System.out.println("Predicted output: "+ predicted);
System.out.println("Desired output: "+ labels);
eval.eval(labels, predicted);
System.out.println();
}
System.out.println(eval.stats());
運行以上代碼的輸出:
輸入功能:[0.10、0.34、1.00、0.00、1.00]
預測的輸出: [1.00,0.00]
所需的輸出: [1.00,0.00]
*我希望輸出看起來像什么(即單值概率):**
輸入功能:[0.10、0.34、1.00、0.00、1.00]
預測的輸出: 0.14
期望的輸出: 0.0
我會在線回答您的問題,但我只想指出:我建議您看一下我們的文檔和示例: https : //github.com/deeplearning4j/dl4j-examples http://deeplearning4j.org/quickstart
100%0或1只是調整不良的神經網絡。 這根本不是事情的運作方式。 默認情況下,softmax返回概率。 您的神經網絡剛剛調好。 也查看更新dl4j。 我不確定您使用的是哪個版本,但是至少一年以上沒有在激活中使用字符串? 從我們開始,您似乎已經跳過了很多步驟。 我會再次重申,至少要在上面看看一個起點,而不要使用已有的代碼。
您所看到的只是標准的深度學習101。因此,我將為您提供的建議可以在Internet上找到,並且適用於任何深度學習軟件。 兩個標簽的softmax將每一行的總和為1。如果要1個標簽,請使用具有1個輸出和不同損失函數的S型信號。 我們使用softmax是因為它可以適用於任意數量的輸出,而您要做的就是更改輸出數量,而不必更改損耗函數和激活函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.