如何使用Neuroph训练神经网络?

时间:2017-04-24 13:49:48

标签: java machine-learning neural-network

我正在为我的人工智能课程制作一个项目,该课程基于一些财务数据来预测公司的破产。

对于可以使用Java或C ++的项目,有人建议我们使用框架,更具体地说是Neuroph。

现在,我已经编写了部分代码来读取数据并将其放入训练集中,但我没有得到我希望的结果。

例如,我读取的数据有64个数据值,输出值为0(公司进入破产状态)或1破产公司)。我有6000家公司没有破产,大约700家公司在我的数据集上。

当我输入公司数据时,无论该公司是否已经破产,Neuroph给我的值总是接近1 。但我注意到这只发生在我将破产公司数据插入训练集时。只有一家破产公司足以让NN给我的价值高于0.9。

这就是我创建网络时所拥有的:

//create new network
ArrayList<Integer> layers = new ArrayList<>();
layers.add(64); // input data
layers.add(10); // intermediate neurons
layers.add(1);  // output data
NeuralNetwork neuralNetwork = new MultiLayerPerceptron(layers);

//create training set
DataSet trainingSet = new DataSet(64, 1);

//add training data of all years to training set

for(ArrfReader reader : readerArray) {
    for (int i = 0; i < reader.getFullDataSet().size(); i++) {
          trainingSet.addRow(new DataSetRow(reader.getCompanyData(i), reader.getBankruptcyOfCompany(i)));
    }
}

//learn the training set
neuralNetwork.learn(trainingSet);

现在,我很确定我搞砸了新的MultiLayerPerceptron构造函数,但我不知道为什么。任何帮助或建议都会很棒。感谢。

0 个答案:

没有答案