![]() |
| Overview | 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
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.
|
|
|
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: |
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.
|
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)