Giter VIP home page Giter VIP logo

pic-plantrecogniser's Introduction

PlantRecogniser - A Neural Network Aproach

This Artificial Neural Network was developed in the IntelliJ IDE 2017.3.4 and using Java 1.8 for recognise, based on inputs, Iris plant-family.


Inputs

The input layer has 4 neurons and accept this following normalized values:

  1. sepal length
  2. sepal width
  3. petal length
  4. petal width

Obs: You can find the input values at the data folder.


Structure

You can find at the packages paes.training.c1 or paes.training.c2, respectively, RNAs with one and two hidden layers. This files contains the propagation and the backpropagation algorithm (training algorithm). At paes.test.c1 or paes.test.c2, you can find the responsible classes for testing assertiveness rate.

Variables

  • int n = 3 - This variable is responsible for the number of neurons in the hidden layer;
  • int minValue = 0 - This variable is responsible for control the input's matrix;
  • int age = 1 - This variable is responsible for count the number of ages;

Obs: 1 age is equals 120 iterations.

Methods

Propagation

  • ponderationL1();
  • activationL1();
  • ponderationL2();
  • activationL2();
  • ponderationL3() Obs: Only in c2 classes;
  • activationL3() Obs: Only in c2 classes;

Error Calculation

  • errorCalculation();

BackPropagation

  • gradientCalculationL3() Obs: Only in c2 classes;
  • gradientCalculationL2();
  • gradientCalculationL1();
  • weightsUpdateL3() Obs: Only in c2 classes;
  • weightsUpdateL2();
  • weightsUpdateL1();

Outputs

The output layer has 3 neurons. The following combination represents one of the multiples outputs, that can be printed by the RNA.

  • Iris-Setosa: 0 0 1;
  • Iris-Versicolor: 0 1 0;
  • Iris-Virginica: 1 0 0';
  • Unidentified Species detected!: 0 0 0;
  • Unidentified Species detected!: 1 1 1.

Results - c1 (one hidden layer)

Sigmoid Function

  • 2 Neurons:

    • NaN;
  • 3 Neurons:

    • 93.33 % Success (28/30 successes);
  • 8 Neurons:

    • 93.33 % Success (28/30 successes);

Hyperbolic Tangent (tanh)

  • 2 Neurons:

    • NaN;
  • 3 Neurons:

    • 3.00 % Success (1/30 successes);
  • 8 Neurons:

    • 13.33 % Success (4/30 successes);

ReLU (Rectified linear unit)

  • 2 Neurons:

    • Time Exception;
  • 3 Neurons:

    • Time Exception;
  • 8 Neurons:

    • Time Exception;

Obs:

  • NaN: Incapacibility of achieving a Numeric Value. Probably because the flutuant pointer has exploded;
  • Time Exception: Incapacibility of converging in a polynomial time, or, at least, the incapacibility of converging in a time next to the sigmoid or tanh functions times.

Results - c2 (two hidden layers)

Sigmoid Function

  • 2 Neurons:

    • NaN;
  • 3 Neurons:

    • NaN;
  • 8 Neurons:

    • 33.33 % Success (10/30 successes);

Hyperbolic Tangent (tanh)

  • 2 Neurons:

    • Time Exception;
  • 3 Neurons:

    • Time Exception;
  • 8 Neurons:

    • 0.00 % Success (0/30 successes);

ReLU (Rectified linear unit)

  • 2 Neurons:

    • Time Exception;
  • 3 Neurons:

    • Time Exception;
  • 8 Neurons:

    • Time Exception;

Obs:

  • NaN: Incapacibility of achieving a Numeric Value. Probably because the flutuant pointer has exploded;
  • Time Exception: Incapacibility of converging in a polynomial time, or, at least, the incapacibility of converging in a time next to the sigmoid or tanh functions times.

References Links

Activation Functions:

FACURE, Matheus:

HAYKIN, Simon:

  • Neural Network. 3rd Edition. Artmed. 2008

Rectifier Nonlinearities Improve Neural Network Acoustic Models:

Sample Repository:


pic-plantrecogniser's People

Contributors

brunopaes avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

brunopaes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.