Presentation is loading. Please wait.

Presentation is loading. Please wait.

Building Smart Java Applications with Neural Networks, Using the Neuroph Framework Zoran Sevarac, Faculty of Organisational Sciences, University of Belgrade.

Similar presentations


Presentation on theme: "Building Smart Java Applications with Neural Networks, Using the Neuroph Framework Zoran Sevarac, Faculty of Organisational Sciences, University of Belgrade."— Presentation transcript:

1 Building Smart Java Applications with Neural Networks, Using the Neuroph Framework Zoran Sevarac, Faculty of Organisational Sciences, University of Belgrade Geertjan Wielenga, Oracle

2 Brief Intro to Neural Networks ● Machine learning technique: able to learn from data and create input/output mapping, without the need to explicitly define the problem (which sometimes may be very hard or impossible) ● Not a magic stick ● Analogy with the brain (very rough): neurons, layers, connections, weights – think of it as a special kind of graph ● Error/noise resistant, fine with incomplete inputs, able to generalize

3 Analogy with Brain

4 Main features ● Ability to learn ● Ability to generalize ● Resistant to noisy and incomplete data

5 Used for the following types of problems ● Classification ● Recognition (image, face, fingerprint, etc.) ● Approximation ● Prediction ● Optimization

6 Neuroph Project What is Neuroph? Open source Java framework for creating neural networks that can be easily used in Java apps. Key features - Java NN library and GUI for creating Neural Networks (Neuroph Studio) - Easy to use, extend and customize - Basic tools for: image recognition, OCR, Time Series prediction Usage: education, research and real world apps Available at: http://neuroph.sourceforge.nethttp://neuroph.sourceforge.net

7 Neuroph Project One of the most popular frameworks for neural networks thanks to its: ● Clear design and easy to follow source code ● Good documentation and support ● Rich GUI – Neuroph Studio ● Easy to use in other applications – brings neural network power to Java developers who dont have to be familiar with details of neural network theory

8 Neuroph Project Stats

9 Neuroph Studio Screenshot

10 Porting to NB platform 1. At first we wanted nice, professional looking GUI, feature rich tool - an IDE for neural networks! 2. Later we realized that there is much more to gain from porting: - Reuse lots of stuff available on NB Platform- like real time graphs - Integration with other apps on NB Platform - Many other usefull features like update, improved design easier to extend and maintain 3. Improved overall quality, competitive advantage and ensured future development

11 Who is using Neuroph? ● http://www.geogebra.org GeoGebra, mathematics software for teaching using Neuroph OCR support http://www.geogebra.org ● Neuroph on Amazon Cloud (by Dattaraj Rao) http://etools.elasticbeanstalk.com/faces/neuro.xhtml http://etools.elasticbeanstalk.com/faces/neuro.xhtml ● Neuroph plugin for DataMiner http://neuroph.sourceforge.net/rapidminer/NeurophRapidMiner.html http://neuroph.sourceforge.net/rapidminer/NeurophRapidMiner.html ● Test Effort Estimation Using Neural Network, Journal of Software Engineering and Applications ● FIVE - Framework for an Integrated Voice Environment, 17th International Conference on Systems, Signals and Image Processing, 2010. ● http://sourceforge.net/projects/neuraltictactoe/ Tic tac toe with Neuroph neural networks http://sourceforge.net/projects/neuraltictactoe/ ● See more at: http://neuroph.sourceforge.net/applications.html

12 Classification Demo ● Create and train neural network to classify a set of 2D points (vectors)

13 Image Recognition Demo ● Create a neural network to recognize a set of selected images

14 Using neural network in your app // load trained neural network NeuralNetwork nnet = NeuralNetwork.load("MyImageRecognition.nnet"); // get the image recognition plugin from neural network ImageRecognitionPlugin imageRecognition = (ImageRecognitionPlugin)nnet.getPlugin(ImageRecognitionPlugin.cla ss); // recognize image from file HashMap output = imageRecognition.recognizeImage(new File("someImage.jpg")); System.out.println(output.toString());

15 Stock Prediction Demo ● Predict a stock price based on the history data ● Stock prediction = Timeseries prediction

16 JVM Optimization Demo Find optimal settings for the JVM based on the history data - approximate the behaviour of JVM for specific application

17 Summary ● When to use, and when not to use neural nets ● Potential issues ● Neuroph, easy to learn, use and extend ● All contributions are welcomed ● Commercial support will be available soon ● Future development (automated training framework and support for specific applications)


Download ppt "Building Smart Java Applications with Neural Networks, Using the Neuroph Framework Zoran Sevarac, Faculty of Organisational Sciences, University of Belgrade."

Similar presentations


Ads by Google