If you use the package, please cite the following work in your publications:
Bergmeir, C. and Benítez, J.M. (2012), Neural Networks in R Using the Stuttgart Neural Network Simulator: RSNNS. Journal of Statistical Software, 46(7), 1-26.
The package has a hierarchical architecture with three levels:
Many demos for using both low-level and high-level api of the package are available. To get a list of them, type:
library(RSNNS)
demo()
It is a good idea to start with the demos of the high-level api (which is much more convenient to use). E.g., to access the iris classification demo type:
demo(iris)
or for the laser regression demo type:
demo(laser)
As the high-level api is already quite powerful and flexible, you'll most probably normally end up using one of the functions:
mlp, dlvq, rbf, rbfDDA, elman,
jordan, som, art1, art2, artmap, or assoz,
with some pre- and postprocessing. These S3 classes are all subclasses of rsnns.
You might also want to have a look at the original SNNS program and the SNNS User Manual 4.2, especially pp 67-87 for explications on all the parameters of the learning functions, and pp 145-215 for detailed (theoretical) explications of the methods and advice on their use.
Demos ending with "SnnsR" show the use of the low-level api. If you want to do special things with neural networks that are currently not implemented in the high-level api, you can see in this demos how to do it. Many demos are present both as high-level and low-level versions.
The low-level api consists mainly of the class SnnsR-class, which internally holds a pointer to a C++ object of
the class SnnsCLib, i.e., an instance of the SNNS kernel. The class furthermore implements a calling mechanism for methods of the SnnsCLib
object, so that they can be called conveniently using the "$"-operator. This calling mechanism also allows for transparent masking of methods or extending the
kernel with new methods from within R. See $,SnnsR-method. R-functions that are added by RSNNS to the kernel are documented in
this manual under topics beginning with SnnsRObject$. Documentation of the original SNNS kernel user interface functions can be found in the SNNS User Manual 4.2 pp 290-314.
A call to, e.g., the SNNS kernel function krui_getNoOfUnits(...) can be done with SnnsRObject$getNoOfUnits(...). However, a few functions were excluded
from the wrapping for various reasons. Fur more details and other known issues see the file /inst/doc/KnownIssues.
Most of the example data included in SNNS is also present in this package, see snnsData.
Additional information is also available at the project website:
General neural network literature:
Bishop, C. M. (2003), Neural networks for pattern recognition, University Press, Oxford.
Haykin, S. S. (1999), Neural networks :a comprehensive foundation, Prentice Hall, Upper Saddle River, NJ.
Kriesel, D. ( 2007 ), A Brief Introduction to Neural Networks. http://www.dkriesel.com
Ripley, B. D. (2007), Pattern recognition and neural networks, Cambridge University Press, Cambridge.
Rojas, R. (1996), Neural networks :a systematic introduction, Springer-Verlag, Berlin.
Literature on the original SNNS software:
Zell, A. et al. (1998), 'SNNS Stuttgart Neural Network Simulator User Manual, Version 4.2', IPVR, University of Stuttgart and WSI, University of Tübingen.
Zell, A. (1994), Simulation Neuronaler Netze, Addison-Wesley.
mlp, dlvq, rbf, rbfDDA, elman,
jordan, som, art1, art2, artmap, assoz