0

我有一个类型的 factorMatrixINDArrayxIn

它包含 5 列[A, B, C, D, E]

[y]和另一个具有 1 列的INDArrayyIn

对于熟悉 MatLab 的人,我现在可以使用:

modelTrain = fitlm([XInSample yInSample] , 'linear') and then 

retPredictionRegress = predict(modelTrain , XInSample);

我在设置 DL4J 时遇到了问题xInyInd即使我发现了一些声称有帮助的东西——但至少对我来说没有。

谁能带我走上正轨?

4

1 回答 1

1

dl4j 中的线性回归只是一个具有特定损失函数和后输出类型的神经网络。这遵循了在任何其他深度学习框架中如何进行线性回归。这个概念/想法并不是真正特定于 dl4j 本身。它遵循您在使用更通用框架的回归问题的任何实例中发现的约定。

我看到你也在这里评论: DL4J 线性回归

回复您的“至少对我没有帮助”,您介意澄清您在问题中遇到的问题吗?那会有点帮助。

回答您的问题,您只需声明一个具有 5 个输入的神经网络,并声明您有多少个输入。如果您认为目标合适,您可以声明超过 1 个输出。在您的情况下,它是 1 个输出。

这方面的一个例子是:

 //Create the network
        int numInput = 5;
        int numOutputs = 1;
        int nHidden = 10;
        MultiLayerNetwork net = new MultiLayerNetwork(new NeuralNetConfiguration.Builder()
                .seed(seed)
                .weightInit(WeightInit.XAVIER)
                .updater(new Nesterovs(learningRate, 0.9))
                .list()
                .layer(0, new DenseLayer.Builder().nIn(numInput).nOut(nHidden)
                        .activation(Activation.TANH) //Change this to RELU and you will see the net learns very well very quickly
                        .build())
                .layer(1, new OutputLayer.Builder(LossFunctions.LossFunction.MSE)
                        .activation(Activation.IDENTITY)
                        .nIn(nHidden).nOut(numOutputs).build())
                .build()
        );

上面的代码片段来自 dl4j 示例。

在这种情况下,您将使用适当的输出调整神经网络。如果您想了解神经网络和回归之间的关系,我建议您对该主题进行一些更广泛的阅读。

于 2020-07-16T14:00:15.463 回答