Overview 
In Action 
Usage 
Download 
License 
Changes 
Contact  C Extension C++ Wrapper

Overview «

The Fann for Mathematica package provides a general-purpose, interactive neural network environment suitable for self-study, experimental and educational projects. Please note that this package is no longer maintained since Mathematica now supports Soap and .Net bindings these can be found here. The samples presented here might be instructional despite using different bindings.

The package includes an introductory user guide, a reference manual - both of which can be integrated into the Mathematica Help system - a palette, that provides easy access to functions, options and object properties and several thoroughly documented examples. The user guide and samples show how to use neural networks for function approximation, pattern recognition, associative memory and time series prediction.

The package is fully integrated into the Mathematica system, making interactive design, visualization and training quick and simple. Neural networks are represented as objects in Mathematica. For fast execution of the neural networks and to allow trained networks to be used and distributed without the costly Mathematica environment, it is built on top of the open source Fann (Fast Artificial Neural Network) library.

The Fann library is written in optimized C and supports both floating point and fixed point arithmetic, so it can be used on personal computers and in embedded and robotics projects. It can freely be integrated into end-user solutions with C, C++, Delphi, PHP or Python bindings under Linux and Windows.

Fann for Mathematica in Action «

The illustration shows a multi-layered neural network during training on the Bessel J_0 (z)function. It shows how the neural network gradually picks up on the features of the training data. When the neural network learns a feature, the mean square error falls to a lower value. The network weights change during the training as the network tries various ways to minimize the mean square error i.e. learns from its mistakes. The User Guide goes step-by-step through the construction of a similar example for the sine function.

[Graphics:HTMLFiles/BesselAll.gif]

The graph on the left shows the neural network. Each black dot is a neuron, the green are bias. The connections between the neurons are shown as arrows. Thicker arrows show larger relative magnitude. Positive weights are in blue, negative in red.
The graph in the middle shows the function that the neural network is being trained on. The training data consists of the red dots. The output of the neural network is shown as the blue line.
The rightmost graph shows the mean square error of the neural network, that is a measure of the difference between the output of the neural network and the desired output.

Usage «

See the User Guide for a general introduction of Fann for Mathematica and how to create animations of neural networks. Read the Exclusive Or Sample for more on this classic problem. The Associative Memory Sample illustrates learning and recall in a neural network. The Time Series Prediction Sample forecasts future events based on historical data. The Pattern Recognition Sample shows visually how a neural network represents information of bitmaps in its weights. The Reference Guide gives details on all functions, objects and options.

The example below illustrates the simplicity - most of the six lines are created by the palette - with which a neural network can be created, trained and executed with Fann for Mathematica. The neural net will converge to a correct solution of the exclusive or problem about 97% of the time - depending on the initial random weights.

More information:

User Guide
Exclusive Or Sample
Associative Memory Sample
Time Series Prediction Sample
Pattern Recognition Sample
Reference Guide

Download «

FannMath.zip (776Kb - includes precompiled executables, documentation, samples, palette and source code).
The included Readme.txt file explains how to install the package. The precompiled version is intended for and has been tested on Mathematica 5.0 and Windows XP. The package has been written to be portable to other operating systems. You are welcome to contact freegoldbar (at) yahoo dot com if you compile it for Linux or MacOS so precompiled versions can be provided here.
The Fann library used in Fann for Mathematica is version 1.2.0. The source code for the Fann library is available at fann.sourceforge.net.

[Graphics:HTMLFiles/BesselAll.gif]

License Explanation «

The Fann for Mathematica package is provided under a reciprocal license (OSI RPL adapted for Fann for Mathematica), which basically means that if you develop a derived version or change Fann for Mathematica itself, then you are obliged to publish and make your changes freely available. This does not require that you publish the neural networks that you have developed with Fann for Mathematica. See the license included in the package for actual license details.

Mathematica and MathLink are not open source tools so you can not include Fann for Mathematica itself into commercial products. You can however use the Fann library with the neural networks you have interactively developed with Fann for Mathematica in commercial, educational or private projects to deliver your neural network solutions to end-users. This provides an advantage over other Mathematica based neural network packages that require end-users to have a Mathematica license. The Fann library is available at Sourceforge under the LGPL license. The use of MathLink requires the following notice: Portions © 2003 by Wolfram Research, Inc.

Changes «

December 4th 2004
The mean square error returned during training has been changed, so it is calculated using the training data, when the data is passed from Mathematica (training from a file returns an approximate mean square error value). See Empirical Test for details.
October 27th 2004
Updated precompiled executables to the Fann library 1.2.0 release.
September 29th 2004
Added Exclusive Or Sample.

Contact «

Questions and feedback on projects using Fann for Mathematica are welcome on email: freegoldbar (at) yahoo dot com. Questions regarding the Fann C library should be directed to the discussion forum at fann.sourceforge.net. Fann for Mathematica © 2004.


Created by freegoldbar  (September 22, 2004)

Hosted by www.Geocities.ws

1