【问题标题】:Make DL4J classifier return score使 DL4J 分类器返回分数
【发布时间】:2017-12-16 21:05:41
【问题描述】:

我在玩DeepLearning4J,我想知道如何让分类器返回分数而不是标签。假设我使用 linear classifier tutorial 中的代码,我想让 ANN 返回给定训练示例的概率,标记为 0 或 1。当前配置如下所示:

MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
        .seed(123)
        .iterations(1)
        .optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT)
        .learningRate(0.01)
        .updater(Updater.NESTEROVS)
        .momentum(0.9)
        .list()
        .layer(0, new DenseLayer.Builder()
                .nIn(2)
                .nOut(20)
                .weightInit(WeightInit.XAVIER)
                .activation(Activation.RELU)
                .build())
        .layer(1, new OutputLayer.Builder(LossFunction.NEGATIVELOGLIKELIHOOD)
                .nIn(20)
                .nOut(2)
                .weightInit(WeightInit.XAVIER)
                .activation(Activation.SOFTMAX)
                .build())
        .pretrain(false)
        .backprop(true)
        .build();

【问题讨论】:

    标签: java machine-learning neural-network deeplearning4j


    【解决方案1】:

    使用 model.output 。

    你会得到一个 ndarray (http://nd4j.org/tensor)

    它在输出上使用 softmax,这意味着您可以返回批量大小 x 输出的标签数。

    【讨论】:

    • 那么,INDArray 中的值是每个标签的概率?
    • 是的,如果您想简要了解 softmax 的工作原理,这有点超出了这个问题的范围。 Softmax 是一个很好的话题。
    猜你喜欢
    • 1970-01-01
    • 2015-07-23
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2021-09-19
    相关资源
    最近更新 更多