Research, using and programming
Neural Networks (NN)
What is a neural network ?
NN is a special mathematical model and it software or/and hardware realization.
There are some arcitectures of NN (Multilayer Normal Feed Forward and Full
Feed Forward , Total and Prior Recurrent, Cascade and Cascade Recurrent
Arcitecture, Kohonen Self-Organizing Map and etc. ).
Some of them are similar with biological neural networks.
NN are used for classification and function approximation/mapping problems
in the fields of:
-
automatic target recognition;
-
control and automation;
-
financial and economic applications;
-
biomedical applications;
-
geology and etc.
Books:
-
Haykin, S. (1994). Neural Networks, a Comprehensive Foundation. Macmillan,
New York, NY.
-
Bishop, C.M. (1995). Neural Networks for Pattern Recognition, Oxford: Oxford
University Press.
-
Masters, T. (1994), Signal and Image Processing with Neural Networks: A
C++ Sourcebook, NY: Wiley.
-
Masters, T. (1995) Advanced Algorithms for Neural Networks: A C++ Sourcebook,
NY: John Wiley and Sons.
Journals:
-
Neural Networks. Pergamon Press.
-
Neural Computation. MIT Press.
Links:
ftp://ftp.sas.com/pub/neural/index.htm
- faq1-faq6 material of very popular newsgroup.
http://www.inns.org International
Neural Network Society.
Neural network in Java
There are several technologies that allow to extract knowledge from the
data: genetic algorithms, evolutional programming, method of group calculation
of arguments, etc. But neural networks technology is the most developed
and NN was realized in software and hardware form.
However, the existing neural network software imitators can works on certain
computer, and the prospects of hardware development are connected with
neurochips, neuroboards and neurocomputers.
We develop the technology of heterogenous neural networks (HNN). Heterogeneity
has several various meanings:
-
different kinds of input and output information in separate parts of the
network;
-
different network architecture, topology, transfer function, optimized
functionals, etc.
-
possibility work at different kinds of computers and operational systems
and in network of such systems.
In order to realize HNN it is necessary to have an adequate software base.
In our opinion , Java technology is the most suitable for this aims.
Links:
http://java.sun.com
http://www.ibm.com/java
Software development
Free version neural network in Java
Essence 0.4 it is free version neural network in Java.
In this version are realized one-layer perceptron with one output. The
network are training by minimization of a RMS error. In the program are
realized several group of training algorithms:
-
random;
-
gradient (Rummelhart, conjugate gradient, BFGS, Partan);
-
coordinate (R prop, Quick prop, Delta-Delta, Delta-Bar-Delta);
-
statistical gradient.
You can variate algorithm parameters and select the step calculation
method:
-
fixed;
-
floating;
-
parabola.
Essence can be used not only for learning neural networks basics, but also
for learning and testing optimization methods.
Download Essence 0.4:
essence.zip class files, read.me and .bat
file for Windows.
Attention, please:
-
For working this version you need JRE (or JDK), not less then 1.1.4 (Its
free http://java.sun.com ).
-
We tested this software only for Windows95. If you are sucsessfully used
it on Unix platform, reply us, please!
Questions or comments to
tarkhov@sapr.ipme.ru