Skip to content

Microframework for creating multilayer preceptrons (MSE is used as default error)

License

Notifications You must be signed in to change notification settings

StasyanOi/java-backpropagation-microframework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-backpropagation-microframework

com.algorithms.Microframework for creating multilayer perceptrons (MSE is used as default error).

Sample usage

package com;

import com.algorithms.Perceptron;
import org.apache.commons.math3.linear.MatrixUtils;
import org.apache.commons.math3.linear.RealMatrix;

public class Main {

    public static void main(String[] args) {
        Perceptron perceptron = new Perceptron(2, new int[]{2, 3, 3, 3, 2});

        RealMatrix andInput = getAndInputNew();
        RealMatrix andOutput = getAndOutputNew();

        for (int i = 0; i < 1000; i++) {
            perceptron.trainOnBatchBsgd(andInput, andOutput);
        }
        System.out.println(perceptron.feedForwardVector(andInput.getColumnMatrix(0)));
    }

    public static RealMatrix getAndOutputNew() {
        RealMatrix output = MatrixUtils.createRealMatrix(2, 4);
        output.setEntry(0, 0, 0);
        output.setEntry(1, 0, 0);
        output.setEntry(0, 1, 0);
        output.setEntry(1, 1, 0);
        output.setEntry(0, 2, 0);
        output.setEntry(1, 2, 0);
        output.setEntry(0, 3, 1);
        output.setEntry(1, 3, 1);
        return output;
    }

    public static RealMatrix getAndInputNew() {
        RealMatrix input = MatrixUtils.createRealMatrix(2, 4);
        input.setEntry(0, 0, 0);
        input.setEntry(1, 0, 0);
        input.setEntry(0, 1, 0);
        input.setEntry(1, 1, 1);
        input.setEntry(0, 2, 1);
        input.setEntry(1, 2, 0);
        input.setEntry(0, 3, 1);
        input.setEntry(1, 3, 1);
        return input;
    }
}

About

Microframework for creating multilayer preceptrons (MSE is used as default error)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages