NeuroSolutions is a neural network development environment developed by NeuroDimension. It combines a modular, icon-based (component-based) network design interface with an implementation of advanced learning procedures, such as conjugate gradients, the Levenberg-Marquardt algorithm, and backpropagation through time. The software is used to design, train and deploy neural network (supervised learning and unsupervised learning) models to perform a wide variety of tasks such as data mining, classification, function approximation, multivariate regression and time-series prediction.

Neural network construction wizards 

NeuroSolutions provides three separate wizards for automatically building neural network models:

Data Manager 

The Data Manager module allows the user to import data from Microsoft Access, Microsoft Excel or text files and perform various preprocessing and data analysis operations. From the Data Manager, the user can load the data directly into a NeuroSolutions breadboard or use the data to create a new neural network.

NeuralBuilder 

The NeuralBuilder centers the design specifications on the specific neural network architecture the user wishes to build. Some of the most common architectures include:

 Multilayer perceptron (MLP)
 Generalized feedforward
 Modular (programming)
 Jordan/Elman
 Principal component analysis (PCA)
 Radial basis function network (RBF)
 General regression neural network (GRNN)
 Probabilistic neural network (PNN)
 Self-organizing map (SOM)
 Time-lag recurrent network (TLRN)
 Recurrent neural network
 CANFIS network (Fuzzy logic)
 Support vector machine (SVM)

Once the neural network architecture is selected, the user can customize parameters such as the number of hidden layers, the number of processing elements and the learning algorithm. A genetic algorithm can also be used to automatically optimize the settings.

NeuralExpert 
The NeuralExpert centers the design specifications around the type of problem the user would like the neural network to solve (Classification, Prediction, Function approximation or Clustering). Given this problem type and the size of the user's data set, the NeuralExpert automatically selects the neural network size and architecture that will likely produce a good solution. There is also an optional beginner setting that hides some of the more advanced operations such as cross validation and genetic optimization.

User-defined neural networks 

NeuroSolutions is based on the concept that neural networks can be broken down into a fundamental set of neural components. Individually these components are relatively simplistic, but several components connected together can result in networks capable of solving very complex problems. The network construction wizards will connect these components based on the user's specifications. However, once the network is built the interconnections can be arbitrarily changed and components can be added or removed. NeuroSolutions will also allow you to integrate your own algorithms through dynamic link libraries (DLL). Every NeuroSolutions component implements a function conforming to a simple protocol in C. To add a new component, you can modify the template function for the base component and then compile the code into a DLL.

Neural network deployment 

NeuroDimension, Inc. provides three ways for NeuroSolutions to deploy a custom neural network solution for applications: code generation, DLL generation, and OLE generation.

Code generation 

NeuroSolutions can automatically generate C++ source code for a neural network designed within its graphical user interface. This provides the flexibility to customize the neural network code for the particular application. Since the generated code is ANSI-compliant, the user can deploy the neural network solution to other platforms such as UNIX.

DLL generation 

The Custom Solution Wizard is an optional add-on product that will take a neural network designed within NeuroSolutions and encapsulate it into a dynamic link library (DLL) that conforms to a simple protocol. The DLL can then be embedded into the users own C++, Visual Basic, Microsoft Excel, Microsoft Access or Internet (ASP) application, without requiring advanced programming skills.

OLE automation 

This technology provides the ability to programmatically control NeuroSolutions from any external application that supports Automation, such as Microsoft Excel, Microsoft Access, and applications developed with Visual Basic or Visual C++. In the simplest case, the application developer could send NeuroSolutions the data to process, tell it to begin processing, and then retrieve the results back into the application. However, with its extensive protocol, NeuroSolutions can also do more complex tasks.

See also 
 Artificial neural network
 Machine learning
 Neural network software
 NeuroDimension

Neural network software