Neural Networks on the NetBeans Platform


The NetBeans Platform is a generic Java Swing application framework that provides GUI components and a module system for the development of custom desktop applications. The best known application on the NetBeans Platform is, of course, the NetBeans IDE, but there are also many other examples that can be seen at the NetBeans Platform Showcase.

Neuroph Studio is a Java neural network development environment built on top of the NetBeans Platform and Neuroph Framework. It is an IDE-like environment customized for neural network development. Neuroph Studio is a GUI that sits on top of Neuroph Framework. Neuroph Framework is a full-featured Java framework that provides classes for building neural networks.

In addition to providing easy-to-use neural network wizards and tools, Neuroph Studio also integrates basic Java development modules from the NetBeans IDE, so developers can create, test, and deploy various Java components based on neural networks in the same environment. Previously, developers usually needed two applications: one for neural network development and one for Java development.

Neural networks are artificial intelligence (machine learning technology) suitable for ill-defined problems, such as recognition, prediction, classification, and control. This article shows how to create some Java neural networks for classification. Note that Neuroph Studio also has support for image recognition, text character recognition, and handwritten letter recognition, which will be covered in future articles.

Note: If you want to install Neuroph Studio and Neuroph Framework so you can try the examples that are described in this article, download Neuroph Framework and Neuroph Studio (for Microsoft Windows, Linux, or Mac, depending on the operating system your system is running).

Brief Overview of Neural Networks with Neuroph Studio
Before I show how to create and use neural networks for real-world problems, I'll first briefly explain what neural networks are and provide some general principles for how they work.

Neural networks are computational models inspired by the way the human brain works. Although they are very simplified models based on known principles about how the brain works, they exhibit some very interesting features, such as learning, generalization, and association capabilities. In addition, they are good at dealing with noisy or incomplete data.

Neural networks are graph-like structures that consist of a set of interconnected nodes called neurons. Each neuron has inputs through which it receives input from other neurons (connected to its inputs) and outputs through which it sends output to other neurons (connected to its outputs). The way in which the neurons are interconnected determines the type of neural network architecture.

In addition to the connection pattern among neurons, network behavior is determined by the processing inside the neurons and so-called connection weights. Connection weights are numerical values associated with connections among neurons, and by tweaking these values using an appropriate algorithm (called a learning rule), we can adjust the network behavior.

Typical neuron processing includes calculating the weighted sum of neuron inputs and connection weights and then feeding that value into some function (step, sigmoid, or tanh functions are commonly used). The output of that function represents the output of the neuron.

The Neuroph framework provides all of these neural network components out of the box, regardless of whether you want to create a common type of neural network or a custom neural network.

Neuroph Studio also provides samples that demonstrate the basic principles behind neural networks.

No comments:

Post a Comment

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More