Research, using and programming
Neural Networks (NN)
What is a neural network
?
NN is a special mathematical model and it software 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 on 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 on Java
Essence 0.4 it is free version neural network on 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