NeuroSolutions
Encyclopedia
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, Levenberg-Marquardt 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.
models:
, 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
.
architecture the user wishes to build. Some of the most common architectures include:
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. If the user is unsure what the parameters should be set to, a genetic algorithm
can be used to optimize the settings.
to solve (Classification, Prediction
, Function approximation
or Clustering
). Given this problem type and the size of the user’s data set, the NeuralExpert intelligently selects the neural network
size and architecture that will likely produce a good solution. There is also an optional beginner level that hides some of the more advanced operations such as cross validation and genetic optimization.
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 simply modify the template function for the base component and compile the code into a DLL
.
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
.
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. The key advantage to this approach is that the user does not need to be an advanced programmer to use it.
, 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. Because of its extensive protocol, NeuroSolutions could be instructed to do much more complex tasks.
Neural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
development environment developed by NeuroDimension
NeuroDimension
NeuroDimension, Inc. is a software development company headquartered in Gainesville, Florida and founded in 1991. It specializes in neural networks, adaptive systems, and genetic optimization and makes software tools for developing and implementing these artificial intelligence technologies.The...
. It combines a modular, icon-based (component-based) network design interface with an implementation of advanced learning procedures, such as conjugate gradients, Levenberg-Marquardt and backpropagation through time. The software is used to design, train and deploy neural network
Neural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
(supervised learning
Supervised learning
Supervised learning is the machine learning task of inferring a function from supervised training data. The training data consist of a set of training examples. In supervised learning, each example is a pair consisting of an input object and a desired output value...
and unsupervised learning
Unsupervised learning
In machine learning, unsupervised learning refers to the problem of trying to find hidden structure in unlabeled data. Since the examples given to the learner are unlabeled, there is no error or reward signal to evaluate a potential solution...
) models to perform a wide variety of tasks such as data mining
Data mining
Data mining , a relatively young and interdisciplinary field of computer science is the process of discovering new patterns from large data sets involving methods at the intersection of artificial intelligence, machine learning, statistics and database systems...
, classification, function approximation
Function approximation
The need for function approximations arises in many branches of applied mathematics, and computer science in particular. In general, a function approximation problem asks us to select a function among a well-defined class that closely matches a target function in a task-specific way.One can...
, multivariate regression and time-series prediction.
Neural network construction wizards
NeuroSolutions provides three separate wizards for automatically building neural networkNeural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
models:
Data Manager
The Data Manager module allows the user to import data from Microsoft AccessMicrosoft Access
Microsoft Office Access, previously known as Microsoft Access, is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is a member of the Microsoft Office suite of...
, Microsoft Excel
Microsoft Excel
Microsoft Excel is a proprietary commercial spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications...
or text files and perform various preprocessing and data analysis
Data analysis
Analysis of data is a process of inspecting, cleaning, transforming, and modeling data with the goal of highlighting useful information, suggesting conclusions, and supporting decision making...
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
Neural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
.
NeuralBuilder
The NeuralBuilder centers the design specifications on the specific neural networkNeural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
architecture the user wishes to build. Some of the most common architectures include:
- Multilayer perceptronMultilayer perceptronA multilayer perceptron is a feedforward artificial neural network model that maps sets of input data onto a set of appropriate output. An MLP consists of multiple layers of nodes in a directed graph, with each layer fully connected to the next one. Except for the input nodes, each node is a...
(MLP) - Generalized feedforward
- Modular (programming)
- Jordan/Elman
- Principal component analysis (PCA)
- Radial basis function networkRadial basis function networkA radial basis function network is an artificial neural network that uses radial basis functions as activation functions. It is a linear combination of radial basis functions...
(RBF) - General regression neural network (GRNN)
- Probabilistic neural network (PNN)
- Self-organizing mapSelf-organizing mapA self-organizing map or self-organizing feature map is a type of artificial neural network that is trained using unsupervised learning to produce a low-dimensional , discretized representation of the input space of the training samples, called a map...
(SOM) - Time-lag recurrent network (TLRN)
- Recurrent neural networkRecurrent neural networkA recurrent neural network is a class of neural network where connections between units form a directed cycle. This creates an internal state of the network which allows it to exhibit dynamic temporal behavior. Unlike feedforward neural networks, RNNs can use their internal memory to process...
- CANFIS network (Fuzzy LogicFuzzy logicFuzzy logic is a form of many-valued logic; it deals with reasoning that is approximate rather than fixed and exact. In contrast with traditional logic theory, where binary sets have two-valued logic: true or false, fuzzy logic variables may have a truth value that ranges in degree between 0 and 1...
) - Support vector machineSupport vector machineA support vector machine is a concept in statistics and computer science for a set of related supervised learning methods that analyze data and recognize patterns, used for classification and regression analysis...
(SVM)
Once the neural network
Neural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
architecture is selected, the user can customize parameters such as the number of hidden layers, the number of processing elements and the learning algorithm. If the user is unsure what the parameters should be set to, a genetic algorithm
Genetic algorithm
A genetic algorithm is a search heuristic that mimics the process of natural evolution. This heuristic is routinely used to generate useful solutions to optimization and search problems...
can be used to optimize the settings.
NeuralExpert
The NeuralExpert centers the design specifications around the type of problem the user would like the neural networkNeural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
to solve (Classification, Prediction
Prediction
A prediction or forecast is a statement about the way things will happen in the future, often but not always based on experience or knowledge...
, Function approximation
Function approximation
The need for function approximations arises in many branches of applied mathematics, and computer science in particular. In general, a function approximation problem asks us to select a function among a well-defined class that closely matches a target function in a task-specific way.One can...
or Clustering
Clustering
Clustering can refer to the following:In demographics:* Clustering , the gathering of various populations based on factors such as ethnicity, economics or religion.In graph theory:...
). Given this problem type and the size of the user’s data set, the NeuralExpert intelligently selects the neural network
Neural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
size and architecture that will likely produce a good solution. There is also an optional beginner level 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 networksNeural Networks
Neural Networks is the official journal of the three oldest societies dedicated to research in neural networks: International Neural Network Society, European Neural Network Society and Japanese Neural Network Society, published by Elsevier...
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
Dynamic-link library
Dynamic-link library , or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems...
(DLL
DLL
DLL may refer to:* Data link layer, a layer in the OSI network architecture model* Delay-locked loop, a device to reduce clock skew in digital circuits* Doubly linked list, a data structure in computer programming...
). Every NeuroSolutions component implements a function conforming to a simple protocol in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
. To add a new component you simply modify the template function for the base component and compile the code into a DLL
DLL
DLL may refer to:* Data link layer, a layer in the OSI network architecture model* Delay-locked loop, a device to reduce clock skew in digital circuits* Doubly linked list, a data structure in computer programming...
.
Neural network deployment
NeuroDimension, Inc. provides three ways for NeuroSolutions to deploy a custom neural network solution to your application:Code generation
NeuroSolutions can automatically generate C++C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
source code for a neural network
Neural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
designed within its graphical user interface. This provides the flexibility to customize the neural network
Neural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
code for the particular application. Since the generated code is ANSI
Ansi
Ansi is a village in Kaarma Parish, Saare County, on the island of Saaremaa, Estonia....
-compliant, the user can deploy the neural network
Neural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
solution to other platforms such as UNIX
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
.
DLL generation
The Custom Solution Wizard is an optional add-on product that will take a neural networkNeural network
The term neural network was traditionally used to refer to a network or circuit of biological neurons. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes...
designed within NeuroSolutions and encapsulate it into a dynamic link library (DLL
DLL
DLL may refer to:* Data link layer, a layer in the OSI network architecture model* Delay-locked loop, a device to reduce clock skew in digital circuits* Doubly linked list, a data structure in computer programming...
) that conforms to a simple protocol. The DLL can then be embedded into the users own C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
, Visual Basic
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...
, Microsoft Excel
Microsoft Excel
Microsoft Excel is a proprietary commercial spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications...
, Microsoft Access
Microsoft Access
Microsoft Office Access, previously known as Microsoft Access, is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is a member of the Microsoft Office suite of...
or Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
(ASP
Active Server Pages
Active Server Pages , also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically-generated Web pages. Initially released as an add-on to Internet Information Services via the Windows NT 4.0 Option Pack Active Server Pages (ASP), also known as Classic...
) application. The key advantage to this approach is that the user does not need to be an advanced programmer to use it.
OLE automation
This technology provides the ability to programmatically control NeuroSolutions from any external application that supports AutomationAutomation
Automation is the use of control systems and information technologies to reduce the need for human work in the production of goods and services. In the scope of industrialization, automation is a step beyond mechanization...
, such as Microsoft Excel
Microsoft Excel
Microsoft Excel is a proprietary commercial spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications...
, Microsoft Access
Microsoft Access
Microsoft Office Access, previously known as Microsoft Access, is a relational database management system from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is a member of the Microsoft Office suite of...
, and applications developed with Visual Basic
Visual Basic
Visual Basic is the third-generation event-driven programming language and integrated development environment from Microsoft for its COM programming model...
or Visual C++
Visual C++
Microsoft Visual C++ is a commercial , integrated development environment product from Microsoft for the C, C++, and C++/CLI programming languages...
. 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. Because of its extensive protocol, NeuroSolutions could be instructed to do much more complex tasks.