Программное обеспечение

Нейронные сети на Java. Библиотека Neuroph.

Реализуем искуственный интеллект в виде нейронной сети на Java.

Проект Neuroph по-сути имеет две реализации:

  1. Программа с графическим интерфейсом для наглядного отображения работы нейронной сети, ее обучения и тестирования.
  2. Набор классов для интегрирования в приложение Java

Neuroph studio

Для того, чтобы создать и обучить нейронную сеть с помощью Neuroph Studio, необходимо выполнить следующие шаги:

  1. Create Neuroph Project
  2. Create Perceptron network
  3. Create training set (Training -> New Training Set)
  4. Train network
  5. Test trained network

Интеграция нейронной сети в Java приложение

Пример создания небольшой нейронной сети на Neuroph:

[java]
package neural;

import javax.sql.rowset.serial.SerialArray;

import org.neuroph.core.NeuralNetwork;
import org.neuroph.core.data.DataSet;
import org.neuroph.core.data.DataSetRow;
import org.neuroph.nnet.Perceptron;
import org.neuroph.nnet.learning.HopfieldLearning;
import org.neuroph.util.TransferFunctionType;

public class Neural {

public static void main(String[] args) {
// TODO Auto-generated method stub
NeuralNetwork<HopfieldLearning> nNetwork = new Perceptron(2, 1);

DataSet trainingSet =
new DataSet(2, 1);

trainingSet. addRow (new DataSetRow (new double[]{0, 0},
new double[]{0}));
trainingSet. addRow (new DataSetRow (new double[]{0, 1},
new double[]{1}));
trainingSet. addRow (new DataSetRow (new double[]{1, 0},
new double[]{1}));
trainingSet. addRow (new DataSetRow (new double[]{1, 1},
new double[]{1}));
// learn the training set
nNetwork.learn(trainingSet);
// save the trained network into file
nNetwork.save("or_perceptron.nnet");
System.out.println("end");

// set network input
nNetwork.setInput(0, 0);
// calculate network
nNetwork.calculate();
// get network output
double[] networkOutput = nNetwork.getOutput();

for (double i : networkOutput)
System.out.println(i);

}

}
[/java]

0

Похожие сообщения

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *