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