Backpropagation Neural Network For Xor Problem Java Source Code

  • Uploaded by: Denny Hermawanto
  • 0
  • 0
  • February 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Backpropagation Neural Network For Xor Problem Java Source Code as PDF for free.

More details

  • Words: 720
  • Pages: 7
Loading documents preview...
//Backpropagation Neural Network for simulating XOR Problem //Programmed by: Denny Hermawanto //Acoustics & Vibration Laboratory, KIM-LIPI INDONESIA, 2006 //Mail: [email protected] import java.util.Random; class ProjectNN{ private void DefineInput(){ inputpattern = new double[numberofpattern][patterndimension]; inputpattern[0][0] = 0; inputpattern[0][1] = 0; inputpattern[1][0] = 0; inputpattern[1][1] = 1; inputpattern[2][0] = 1; inputpattern[2][1] = 0; inputpattern[3][0] = 1; inputpattern[3][1] = 1; } private void DefineTarget(){ targetpattern = new double[numberofpattern]; targetpattern[0] targetpattern[1] targetpattern[2] targetpattern[3]

= = = =

0; 1; 1; 0;

} private double RandomNumberGenerator(){ java.util.Random rnd = new Random();//new java.util.Random(new Date().getTime()); return rnd.nextDouble(); } private void CreateNetworks(){ numberofinputneuron = patterndimension; numberofhiddenneuron = 2; numberofoutputneuron = targetdimension; //inputlayer = new double[numberofinputneuron]; hiddenlayer = new double[numberofhiddenlayer][numberofhiddenneuron]; backpropagationhiddenlayer = new double[numberofhiddenlayer][numberofhiddenneuron]; errorhidden = new double[numberofhiddenlayer][numberofhiddenneuron]; outputlayer = new double[numberofoutputneuron]; outputerror = new double[numberofoutputneuron]; activatedhiddenlayer = new double[numberofhiddenlayer][numberofhiddenneuron]; activatedoutputlayer = new double[numberofoutputneuron]; patternerror = new double[numberofpattern]; weights = new double[2][][];

weights[0] = new double[numberofinputneuron+1][numberofhiddenneuron]; weights[1] = new double[numberofhiddenneuron+1][numberofoutputneuron]; deltaweights = new double[2][][]; deltaweights[0] = new double[numberofinputneuron+1][numberofhiddenneuron]; deltaweights[1] = new double[numberofhiddenneuron+1][numberofoutputneuron]; deltaweightsbuffer = new double[2][][]; deltaweightsbuffer[0] = new double[numberofinputneuron+1][numberofhiddenneuron]; deltaweightsbuffer[1] = new double[numberofhiddenneuron+1][numberofoutputneuron]; SSE = new double[maxiteration]; System.out.println("InputToHiddenWeigth:"); for(int i=0;i<=numberofinputneuron;i++){ for(int j=0;j
result = ActivationFunction(value) * (1 ActivationFunction(value)); break; case 2: result = 0.5 * (1 + ActivationFunction(value)) * (1 ActivationFunction(value)); break; case 3: result = (1 + ActivationFunction(value)) * (1 ActivationFunction(value)); break; default: result = ActivationFunction(value) * (1 ActivationFunction(value)); break; } return result; } private void FeedForward(int iteration){ for(int iter=0;iter
} for(int i=0;i
for(int i=0;i
for(int i=0;i
private private private private private private

int int int int int int

numberofhiddenneuron; numberofinputneuron; numberofoutputneuron; numberofhiddenlayer; activationtype; maxiteration;

public static final int BINARY_SIGMOID = 1; public static final int BIPOLAR_SIGMOID = 2; public static final int HYPERBOLIC_TANGENT = 3; public static void main(String[] args){ ProjectNN NN = new ProjectNN(); NN.numberofpattern = 4; NN.patterndimension = 2; NN.targetdimension = 1; NN.numberofhiddenlayer = 1; NN.activationtype = BIPOLAR_SIGMOID; NN.learningrate = 0.5; NN.momentum = 0.8; NN.maxiteration = 100; NN.RunNN(); } }

Related Documents


More Documents from "dilipeline"