更新时间:2022-06-27 16:13:03 来源:极悦 浏览990次
简单神经网络是一个 Java 项目,允许用户轻松创建异步简单神经网络。
该项目可用于根据初始学习预测输出。
使用结果实体回调
可定制的神经元数量
从外部文件读取数据
简单的预测器使用
这是默认配置的简单用法:
1.首先,加载输入和输出数据。您可以从外部文本文件中读取它:
float[][] x = DataUtils.readInputsFromFile("data/x.txt"); int[] t = DataUtils.readOutputsFromFile("data/t.txt");
2.
Instantiate new NeuralNetwork and create a new callback to receive response:java NeuralNetwork neuralNetwork = new NeuralNetwork(x, t, new INeuralNetworkCallback() { @Override public void success(Result result) { }
@Override
public void failure(Error error) {
}
});
```
3.使用来自成功响应的 Result 实体预测一个值:
@Override
public void success(Result result) {
float[] valueToPredict = new float[] {-1.2f, 0.796f};
System.out.println("Predicted result: " + result.predictValue(valueToPredict));
}
4.最后,运行神经网络的学习:
神经网络.startLearning(); ```
完整示例:
float[][] x = DataUtils.readInputsFromFile("data/x.txt");
int[] t = DataUtils.readOutputsFromFile("data/t.txt");
NeuralNetwork neuralNetwork = new NeuralNetwork(x, t, new INeuralNetworkCallback() {
@Override
public void success(Result result) {
float[] valueToPredict = new float[] {-0.205f, 0.780f};
System.out.println("Success percentage: " + result.getSuccessPercentage());
System.out.println("Predicted result: " + result.predictValue(valueToPredict));
}
@Override
public void failure(Error error) {
System.out.println("Error: " + error.getDescription());
}
});
neuralNetwork.startLearning();
输出:
Success percentage: 88.4
Predicted result: 1
您可以自定义一些值作为神经元的数量、bucle 迭代限制、传递函数和结果解析器。
该项目有一个包含真实数据的示例,其中包含 250 名患者的列表,其中两个分析结果作为输入,0 或 1(取决于是否患有疾病)作为输出:
Inputs Output
------------------------ --------------------
Result 1 Result 2 Disease
----------------------- --------------------
-0.5982 0.9870 1
-0.2019 0.6210 1
0.1797 0.4518 0
-0.0982 0.5876 1
... ... ...
使用神经网络中的这些数据,该项目能够以88%的最小成功率预测不在数据列表中的患者的输出(疾病结果)。
Copyright 2014 José Luis Martín
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习