No Slide Title

Download Report

Transcript No Slide Title

Select a product for more information.
Press the ESC key to leave the presentation at any time.
Click on the ND logo to
return to the main menu.
Help
Navigating This NeuroDimension Presentation
Simply select the topics you would like to view and then use
the arrows to advance through the information on that topic.
Select “More Info” to view additional detailed information.
When you are done with a topic, simply press the up arrow to return.
Select the Up Arrow below to return from this help screen.
Select any Small Nugget to
view information about a topic.
Esc
When you are finished
viewing this Presentation,
press the Esc key to exit.
Select More Info to
see detailed information
about a topic.
Select the Left and Right Arrows
to move through a topic.
Select the Up Arrow to
return to a previous level.
“NeuroSolutions is one of the
slickest and most complete
packages for neural network
simulation that anyone could wish
for—and one of the most flexible as
well…”
-Dan Ellis
IEEE Spectrum
Click here to return to
the ND main menu.
NeuroSolutions
The Neural Network Simulation Environment
NeuroSolutions provides an object-oriented simulation environment for neural network design and application.
It has quickly evolved into the software tool of choice for both the neural network beginner and expert alike.
This leading edge software combines a modular, icon-based network design interface with an implementation
of advanced learning procedures, such as recurrent backpropagation and backpropagation through time.
The result is a virtually unconstrained environment for designing neural networks to solve real-world problems
such as financial forecasting, pattern recognition, process control, targeting marketing, and many more.
Select any of the following topics for more information or use the arrows to step through them all.
Graphical User Interface
Interactive Probing
Neural Network Creation
Advanced Features
Graphical User Interface (GUI)
NeuroSolutions is based on the concept that neural networks
can be broken down into a fundamental set of neural
components. By allowing the user to arbitrarily interconnect
these components, a virtually infinite number of neural models
can be constructed.
Neural components, such as axons, synapses, and gradient
search engines, are laid out on a graphical breadboard and
connected together to form a neural network. Input components
are used to inject signals, and probe components are used to
visualize the network’s response.
Neural Network Creation
Creating neural networks is fast and easy with NeuroSolutions.
Let the NeuralExpert create and customize a neural network for
your type of application. Or, let the NeuralBuilder build a neural
network topology to your specifications. Plus, enjoy the flexibility
of being able to create neural networks directly from palettes of
customizable components or modifying existing designs.
Select either of the following topics for more information.
NeuralExpert
Application-based neural network designer.
NeuralBuilder
Topology-based neural network creator.
Data Manager
Data management and analysis tool.
Interactive Probing
Probing is an important step in the neural network design process
and is therefore, an integral part of NeuroSolutions. As with the
neural components, the probe components are inherently
modular; the way you view the data is independent of what the
data represents.
NeuroSolutions probes provide you with real-time access to all
variables during the simulation, along with a variety of ways to
visualize them. This represents an unparalleled ability to see
what is going on inside your networks.
Advanced Features
Advanced users will want to utilize the software to the next level.
Researchers will invariably want to integrate their own algorithms
into NeuroSolutions; application developers will want to integrate
NeuroSolutions algorithms into their own; and those prototyping
large networks within NeuroSolutions will often want to run them
on faster hardware platforms. NeuroSolutions was designed to
accommodate all of these requirements.
Select any of the following topics for more information.
Genetic Optimization
Sensitivity Analysis
Code Generation
Macros
OLE Automation
Dynamic Link Libraries (DLLs)
Probing
Matrix Viewer
Bar Chart
Matrix Editor
Data Writer
Scatter Plot
Data Graph
Spectrum
Analyzer
State Space
Neural networks are often criticized as being
a “black box” technology. With
NeuroSolutions’ extensive and versatile set of
probing tools, this is no longer the case.
Probes provide you with real-time access to
all internal network variables, such as:
•Inputs/Outputs
•Weights
•Errors
•Hidden States
•Gradients
•Sensitivities
Image Viewer
Hinton Diagram
Probing is an important step in the neural
network design process, therefore we have
made it an integral part of NeuroSolutions. All
network data are reported through a common
protocol, and all NeuroSolutions probes
understand this protocol. This provides you
with access to all internal variables, along with
a variety of ways to visualize them.
Probing
Matrix Viewer
This probe displays the current data values
in matrix format, providing quantitative
information about the data being probed. It
can be used to obtain the value of any
internal network variable.
Matrix Editor
Similar in function to the Matrix Viewer,
this probe has a very important additional
function; it allows you to modify the data
being probed. For example, you may want
to modify the weights or inject a specific
pattern to determine how the network
responds.
Probing
Data Writer
The Data Writer collects and displays data in
matrix format during a simulation. The
collected data may then be written to an ASCII
or binary file, which can be used for further
processing or reporting results.
Scatter Plot
This probe plots the temporal data of one channel
(PE) against the temporal data of one of the other
channels. Multiple pairs of channels can be
specified. The data from each pair is used as the
X and Y coordinate of a two-dimensional graph.
The points are collected over a number of
samples to produce a scatter plot.
Probing
Data Graph
This probe can be used as a multi-channel
graph, displaying amplitude versus time.
Typical uses include displaying time-varying
network activity and network learning curves.
This is a necessity when working with temporal
problems such as time series prediction.
Spectrum Analyzer
The Spectrum Analyzer is used to compute
periodograms from temporal data. Periodograms
are generated by averaging windowed Fast
Fourier Transforms (FFT's) over time.
Probing
Bar Chart
This probe provides a qualitative feel for
probed data in the form of horizontal bars.
The length of each bar represents the
magnitude of the signal at one channel.
This is very useful for static classification
problems when making a comparison
between an output and its desired
response, or as a thermometer of the
network’s performance when probing the
mean squared error.
State Space
The State Space probe displays a 3-D
representation of the system’s state as it
evolves over time. It does this by plotting
the signal against approximations of its
first and second derivatives. This tool is
very useful for dynamic system analysis.
Probing
Image Viewer
Hinton Diagram
The Image Viewer interprets and
displays network data as a bitmap
image. The data is normalized and
converted to a matrix of values
corresponding to pixel intensity levels
(white corresponds to one and black
corresponds to zero).
The Hinton diagram provides a
qualitative display of the values in a
data matrix (normally a weight
matrix). Each value is represented
by a square whose size is
associated with the magnitude, and
whose color indicates the sign.
NeuralExpert
NeuralExpert
Application-based neural network designer.
Do you have a specific problem that you would like to solve with neural networks?
Let the NeuralExpert design and customize a neural network topology around your
data and the solution you would like to find. The NeuralExpert eliminates the need
to know which type of topology is best for your problem type by selecting the right
design for your application and customizing it to your needs.
Simply select the type of problem you would like to solve, and then answer a few
questions about your data and how you would like to process it. The NeuralExpert
will select the appropriate neural network topology based on the problem type and
customize it for your application-specific data. The created network will typically be
capable of solving your problem. However, since it is created in NeuroSolutions, any
part of the neural network topology can be updated or modified.
NeuralExpert
Using the NeuralExpert
The NeuralExpert makes it easy to create
the appropriate type of neural network for
your application. Simply select type of
problem you want to solve and provide it
with a sample of your data.
The NeuralExpert automatically tailors its
questions to the problem type. There is
even a “beginner level” that allows you to
skip over advanced options that typically
don’t need to be selected.
Here is an example of the steps taken to
create a neural network to classify the
sex of crabs from their characteristics…
Step 1:
Problem Type Selection
Select the type of problem you want to solve
from the following types of problems:
• Classification
• Function Approximation
• Prediction
• Clustering
NeuralExpert
Step 2:
Input File Selection
Indicate where your input file is located. The
NeuralExpert will customize the solution for
your specific inputs.
Steps 3-4:
Tag Input Columns
Indicate which columns in the input file to use
as inputs for your problem. You can even use
symbolic or categorical data such as “Male”
and “Female” in the input columns!
NeuralExpert
Step 5:
Desired File Selection
Indicate which data to use as an example of
the data you are trying to model. This can be a
separate file or the same file as the input file.
Steps 6-7:
Tag Desired Columns
Indicate which columns in the desired file to
model. As with the inputs, you use symbolic or
categorical data in any of the columns.
NeuralExpert
Step 8:
Set Network Complexity
Finally, choose a level of complexity for your
neural network. Simple networks will typically
train faster and produce better results. More
complex networks can be useful for learning
more complex relationships within the data.
Use Your Neural Network
Based on your data and selections, the
NeuralExpert customizes a neural network
specifically for your problem.
The NeuralExpert places buttons directly on the
breadboard to explain how this specific neural
network works and allow you to modify or test it.
NeuralBuilder
NeuralBuilder
Topology-based neural network creator.
The icon-based user interface of NeuroSolutions provides unprecedented design
flexibility for constructing a neural network. This level of access normally requires
that you have a substantial amount of neural network knowledge. The NeuralBuilder
eliminates this requirement by hiding the complexities of the network and simplifying
the design process down to an easy, step-by-step procedure.
Simply select a neural model, and then answer a few questions about its
configuration parameters. The NeuralBuilder will compute default values for each
parameter based on your input data. These default values will typically produce a
network that is capable of solving your problem. However, the real power of
NeuroSolutions is the level of access provided to you for parameter optimization.
All of the parameters of the constructed network can be completely customized.
NeuralBuilder
Models supported by NeuralBuilder
• Multilayer Perceptron
• Generalized Feedforward Network
• Modular Neural Network
• Jordan/Elman Network
• Principal Component Analysis Network
• Radial Basis Function Network
• Self-Organizing Feature Map Network
• Time-Lag Recurrent Network
• Recurrent Network
• Generalized Regression Network
• Probabilistic Network
• CANFIS Network (Fuzzy Logic)
• Support Vector Machine
Step 1:
Model Selection
Select desired neural model from list provided.
Respective descriptions appear under list box.
NeuralBuilder
Step 2:
Training Data
Select the training file(s), tagging the
input and desired data. Included are
facilities for data prediction and
symbol translation.
Step 3:
Cross Validation Data
Select the testing file(s) used for cross
validation. This data can either be
extracted from the training set or read
from separate files.
NeuralBuilder
Step 4:
Topology Configuration
Specify global parameters relating to the
network’s topology for the selected neural
model. This can be as simple as specifying
the number of layers.
Step 5:
Layer Configuration
Specify the number of processing elements,
activation function, gradient search method,
and learning rate for each network layer.
NeuralBuilder
Step 6:
Simulation Control
Specify a stop criterion for the training.
This can be based on the number of
iterations and/or the error in either the
training set or test set.
Step 7:
Probe Configuration
Specify probes to visualize the data.
At each of the five most common network
points, you can choose the probe which is
most appropriate for the data at that point.
Data Manager
Data Manager
Data management and analysis tool.
Do you want to manage multiple datasets and analyze them in a simple user
interface? The Data Manager allows you to easily analyze, preprocess and partition
data. Also included is the ability to plot the data and view the results in the same
screen. The datasets are saved within one data project, enabling simple file
organization and providing a user-friendly interface to manipulate your datasets.
Simply open the data set and perform several different type of analyses or create
your neural network right in the Data Manager. The Data Manager is directly tied
into the NeuralBuilder which will compute default values for each parameter based
on your input data. These default values will typically produce a network that is
capable of solving your problem. However, the real power of NeuroSolutions is the
level of access provided to you for parameter optimization. All of the parameters of
the constructed network can be completely customized.
Data Manager
Step 1:
Opening Data
Select Open Data File on the interface.
Step 2:
Analyze Data
Select Analyze Data to choose from several
different analyses functions.
Data Manager
Step 3:
Preprocess Data
Select Preprocess Data on the interface to
choose from many preprocessing features.
Step 4:
Partition Data
Select Partition Data on the interface to select
different options of segmenting the dataset.
Data Manager
Step 5:
Plots
Select Plot on the interface to plot the data in a
Time Series Plot or X-Y Scatter Plot.
Step 6:
Manage Datasets
Select Manage Datasets on the interface to
select many options for data management .
Data Manager
Step 7:
Build Neural Model
Select Build Neural Models on the interface to begin creating your neural model in
NeuroSolutions.
The NeuralBuilder will compute default values for each parameter based on your
input data. These default values will typically produce a network that is capable of
solving your problem. All of the parameters of the constructed network can be
completely customized.
Advanced Features
Genetic Optimization
All levels of NeuroSolutions Users level and
above include Genetic Optimization. Genetic
Optimization allows you to optimize virtually
any parameter in a neural network to
produce the lowest error. For example, the
number of hidden units, the learning rates,
and the input selection can all be optimized
to improve the network performance.
Individual weights used in the neural
network can even be updated through
Genetic Optimization as an alternative to
traditional training methods.
Sensitivity Analysis
After training a neural network, you may
want to know the effect that each of the
network inputs is having on the network
output. Sensitivity analysis is a method for
extracting the cause and effect relationship
between the inputs and outputs of the
network. The input channels that produce
low sensitivity values can be considered
insignificant and can most often be
removed from the network. This will reduce
the size of the network, which in turn
reduces the complexity and the training
time. Furthermore, this may also improve
the network performance.
Advanced Features
Code Generation
The Professional level generates ANSIcompatible C++ source code for any
network, including learning. This allows a
simulation prototyped within the GUI to be
run on other hardware platforms. In
addition, NeuroSolutions’ networks can be
integrated into your own applications.
Dynamic Link
Libraries (DLLs)
The Developers level allows you to
integrate your own algorithms into
NeuroSolutions through dynamic link
libraries (DLL). Every GUI component
implements a function belonging to
NeuroSolutions’ Simulation Protocol.
Developers can add components by
simply writing ANSI-compatible C
functions that conform to this protocol.
Advanced Features
Macros
OLE Automation
Embedded in NeuroSolutions is a
comprehensive macro language, which
allows the user to record a sequence of
operations and store them as a program.
Any action that can be performed using
the mouse and keyboard can be
duplicated with a macro statement. This
powerful feature gives the user
unprecedented flexibility in constructing,
editing, and running neural networks.
When running the NeuroSolutions demos,
keep in mind that they were constructed
entirely with macros.
NeuroSolutions is a fully compliant OLE
Automation Server. This means that
NeuroSolutions can receive control
messages from OLE Automation
Controllers, such as Visual Basic, Microsoft
Excel, Microsoft Access, and Delphi.
Writing a fully-functioning VB program is as
simple as recording a NeuroSolutions
macro, clicking on the convert to VB button,
and pasting the converted VB code into the
desired VB application. A VB application
could be written to set a network’s
parameters, run the network, then retrieve
the network’s output.
There are six different levels of NeuroSolutions.
Select any of the levels below for a description, or use
the arrows to advance through them one at a time.
Educator
Users
Consultants
Professional
Developers Lite
Developers
Information is also available for the
following options and add-on products.
Source Code License
NeuroSolutions For Excel
Custom Solution Wizard
Educator Level
Unrestricted Topologies
• Multilayer perceptions (MLPs)
• Generalized feedforward networks
• Up to 50 inputs/neurons per layer
Learning Paradigms
• Backpropagation
Competitive Advantage
• Double-precision calculations
• 32-bit code
• Faster simulations
• Icon-based graphical user interface
• Extensive probing capabilities
• Easy neural network creation with the
NeuralExpert and the NeuralBuilder
User Level
Unrestricted Topologies
Additional Features
• All topologies of the Educator
• Genetic optimization of neural
• Modular networks
network parameters and weights.
• Jordan-Elman networks
• Self Organizing Feature Map networks
• Radial Basis Function networks
• Fuzzy Logic networks
• Support Vector Machine networks
• Up to 500 inputs/neurons per layer
Learning Paradigms
Competitive Advantage
• Backpropagation
• More neurons per layer
• All search methods of Educator level
• More neural models to choose from
• Conjugate Gradient
• More unsupervised learning rules
• Levenberg-Marquardt
• Unsupervised Learning
• Hebbian
• Oja’s
• Sanger’s
• Competitive
• Kohonen
Consultants Level
Unrestricted Topologies
• All topologies of the Users
• Hopfield networks
• Time Delay Neural networks
• Time-Lag Recurrent networks
• User-defined network topologies
• Over 90 components to build from
• A virtually infinite number of possible networks
Learning Paradigms
• All paradigms of Users
• Recurrent backpropagation
• Backpropagation through time
Competitive Advantage
• Unlimited inputs/outputs/neurons per layer
• Modular design allowing user-defined network topologies
• Dynamic systems modeling
• Time-Lag Recurrent networks
Professional Level
Unrestricted Topologies
• All topologies of the Consultants
Learning Paradigms
• All paradigms of Consultants
Additional Features
• ANSI C++ Source Code generation for Visual C++ & Borland compilers
• Embed networks into your own applications
• Train networks on faster computers
(Code generation for Unix requires Source Code License.)
Developers Lite Level
Unrestricted Topologies
• All topologies of the Consultants
Learning Paradigms
• All paradigms of Consultants
Additional Features
• User-defined dynamic link libraries
• Customized neural components
• Nonlinearities
• Interconnection matrices
• Gradient search procedures
• Error criteria
• Unsupervised learning rules
• Memory structures
• Customized input
• Customized output
• Customized parameter scheduling
Developers Level
Unrestricted Topologies
• All topologies of the Consultants
Learning Paradigms
• All paradigms of Consultants
Additional Features
• All additional features of Developers Lite
• All additional features of Professional
Source Code License
The Professional and Developers levels of NeuroSolutions allow you to generate
ANSI-compatible C++ source code for the networks you create with the graphical
user interface. The generated code links against an object library which contains the
implementations for the neural components. Pre-compiled libraries are included for
Visual C++ (6.0 – 7.0) and Borland C++ Builder (3.0 or higher). In order to compile
the generated code on another platform such as UNIX, or on another Windows
compiler, you would need to purchase the Source Code License. Included with the
license is the source code for the entire object library, enabling you to compile this
library for your particular platform/compiler and link it with the generated code.
NeuroSolutions for Excel
Unrestricted Topologies
• All topologies of the licensed level of NeuroSolutions
Learning Paradigms
• All learning paradigms of the licensed version of NeuroSolutions
Additional Features
• Data Preprocessing and Analysis
• Visual Data Selection
• Training and testing from within Microsoft Excel
• Leave-N-Out Training
• Parameter Optimization
• Sensitivity Analysis
• Automated Report Generation
• Custom Batch Creation / Execution
Custom Solution Wizard
Unrestricted Topologies
• All topologies of the licensed level of NeuroSolutions and the Custom Solution
Wizard
Learning Paradigms
• All learning paradigms of the licensed version of NeuroSolutions and the
Custom Solution Wizard
Additional Features
• Generates and compiles a Dynamic Link Library (DLL) for any NeuroSolutions
neural network
• Supports both recall and learning networks (Developers level)
• Allows you to easily embed a neural network into your own application
developed with:
• Visual Basic
• Microsoft Excel
• Microsoft Access
• Visual C++
• Active Server Pages (ASP web pages)
• TradingSolutions
• NeuroSolutions for Matlab
NeuroSolutions for Excel
NeuroSolutions for Excel is a revolutionary product which benefits both the beginner and advanced
neural network developer. For the beginner, NeuroSolutions for Excel offers visual data selection, one
step training and testing, and automated report generation. For the advanced user, NeuroSolutions for
Excel offers the ability to perform parameter optimization, run batch experiments, and create custom
batch experiments programmatically. The best part is that all of these tasks can be performed without
ever leaving Microsoft Excel. NeuroSolutions for Excel is organized into the seven modules listed below.
Select any of the following modules for more information or use the arrows to step through them all.
Preprocess Data
Create Data Files
Analyze Data
Train Network
Tag Data
Test Network
Create/Open Network
Preprocess Data Module
The Preprocess Data module allows you to easily apply various preprocessing techniques to your raw data to
prepare it for input into a neural network. You can also create your own custom Preprocess Data batches by
calling built-in NeuroSolutions functions and/or writing Visual Basic code. These custom batches can then be
run from the NeuroSolutions for Excel menu from within Microsoft Excel. The following Preprocess Data
operations are built into NeuroSolutions for Excel:
•Difference
•Randomize Rows
Computes the difference or percent difference along a column of data.
•Sample
•Moving Average
•Translate Symbolic Columns
•Insert Column Labels
•Clean Data
Creates a new worksheet made up of every Nth row of data within the active worksheet.
•Shift
The input data is adjusted to either move the inputs back by a specified shift value to do
predictions or move the inputs forward to lead your desired output.
•Encode Two Class Column
The selected column of data is checked to verify that there are two classes contained within
the column and is then encoded into another column. The data to be encoded can be textual
or numeric, but must be translated to only numeric, integer codes. The encoded column will
be written in the first empty column in the dataset.
Randomly arranges the rows of data within the active worksheet and writes the result to
a new worksheet.
Computes the moving average of a column using the chosen window length.
Translates columns that have been tagged as symbol.
Inserts a row of column labels into the first row of the active worksheet.
Cleans the data by replacing blank cells, error codes, and/or user-defined text with an
interpolated value, the column average, a random value, or the closest value in a column.
Analyze Data Module
The Analyze Data module provides you with useful information about your data. The operations available in
this module can be used during the preprocessing stage of neural network design or to analyze the network
output. You can also create your own custom Analyze Data batches by calling built-in NeuroSolutions functions
and/or writing Visual Basic code. These custom batches can then be run from the NeuroSolutions for Excel
menu from within Microsoft Excel. The following Analyze Data operations are built into NeuroSolutions for
Excel:
•Correlation
•Time Series Plot
•XY Scatter Plot
•Histogram
•Summary Statistics
•Trend Accuracy
Computes the correlation between each of the columns of data on the active worksheet.
Creates a Time Series Plot of the selected columns.
Creates an XY Scatter Plot of the selected columns.
Computes the histogram of a selected column of data.
Computes various statistics for a selected column of data.
Computes the trend accuracy of the selected columns.
Tag Data Module
The Tag Data module provides a simple graphical method for tagging portions of your data as Training Input, Training
Desired, Cross Validation Input, Cross Validation Desired, Testing Input, Testing Desired, and Production Input. This
module also provides powerful autotag methods. You can also create your own custom Tag Data batches by calling
built-in NeuroSolutions functions and/or writing Visual Basic code. These custom batches can then be run from the
NeuroSolutions for Excel menu from within Microsoft Excel. The following Tag Data operations are built into
NeuroSolutions for Excel:
•Column(s) As Input
•Column(s) As Desired
•Column(s) As Symbol
•Row(s) As Training
•Row(s) As Cross Validation
Tags the selected column(s) of data as Input.
•Row(s) As Testing
Tags the selected row(s) of data as Testing.
•Row(s) As Production
•All Columns As Input
•All Non-Numeric Columns As Symbol
•All Rows As Training
•Rows By Percentages
Tags the selected row(s) of data as Production.
•Clear Tags
•Clear Column Tag
•Clear Symbol Tag
•Clear Row Tag
•Clear All Tags
Allows you to clear any existing tag.
•Select Cross-Section
•Refresh Tag Formatting
Allows you to automatically select any existing cross-section.
Tags the selected column(s) of data as Desired.
Tags the selected column(s) of data as Symbol.
Tags the selected row(s) of data as Training.
Tags the selected row(s) of data as Cross Validation.
Tags all columns as Input.
Tags all non-numeric columns as symbol.
Tags all rows as Training.
Tags the rows of data within the active worksheet as Training, Cross Validation, and
Testing according to user-defined percentages.
Clears the tag(s) of the selected column(s).
Clears the symbol tag for the selected column(s).
Clear the tag(s) of the selected row(s).
Clears all of the tags on the active worksheet.
Refreshes the tag formatting.
Create/Open Network Module
The Create/Open Network module allows you to create a NeuroSolutions breadboard from scratch through the
use of the NeuralBuilder utility or open an existing NeuroSolutions breadboard. You can also create your own
custom Create Network batches by calling built-in NeuroSolutions functions and/or writing Visual Basic code.
These custom batches can then be run from the NeuroSolutions for Excel menu from within Microsoft Excel.
The following Create/Open Network operations are built into NeuroSolutions for Excel:
•New Classification Network
Creates a new NeuroSolutions breadboard with typical elements used for
a classification problem.
•New Function Approximation Network
Creates a new NeuroSolutions breadboard with typical elements used for
a classification problem.
•New Custom Network
Starts the NeuralBuilder which guides you step-by-step through the
creation of a new NeuroSolutions breadboard.
•Open
•Close
•Save
•Save As
Opens an existing NeuroSolutions breadboard.
•Load Best Weights
•Tile Excel/NS
Loads the best weights for the active network.
Closes the active NeuroSolutions breadboard.
Saves the active NeuroSolutions breadboard.
Allows you to save the active NeuroSolutions breadboard to a userspecified location.
Horizontally tiles NeuroSolutions and Microsoft Excel.
Create Data Files Module
The Create Data Files module creates tab delimited ASCII files for each tagged cross-section. You can also create
your own custom Create Data Files batches by calling built-in NeuroSolutions functions and/or writing Visual Basic
code. These custom batches can then be run from the NeuroSolutions for Excel menu from within Microsoft Excel.
The following Create Data Files operations are built into NeuroSolutions for Excel:
•All Files
•Training Files
Creates data files for all tagged cross-sections within the active worksheet.
•Cross Validation Files
Creates Cross Validation Input and Cross Validation Desired files from the
correspondingly tagged cross-sections within the active worksheet.
•Testing Files
Creates Testing Input and Testing Desired files from the correspondingly tagged
data cross-sections within the active worksheet.
•Production Input File
Creates Production Input file from the correspondingly tagged data cross-section
within the active worksheet.
•View Data File
•Delete Data Files
Allows you to view (in Notepad) a data file that was created for the active worksheet.
Creates Training Input and Training Desired files from the correspondingly tagged
cross-sections within the active worksheet.
Deletes all of the files previously created for the active worksheet.
Train Network Module
The Train Network module gives you the ability to train a network once, multiple times with different random
initial conditions, and multiple times while varying a network parameter. This powerful module permits you to
easily find the optimum network for a particular problem. You can also create your own custom Train
Network batches by calling built-in NeuroSolutions functions and/or writing Visual Basic code. These custom
batches can then be run from the NeuroSolutions for Excel menu from within Microsoft Excel. The following
Train Network operations are built into NeuroSolutions for Excel:
•Train
Trains the active NeuroSolutions breadboard one time and creates a report of
the results.
•Train N Times
Trains the active NeuroSolutions breadboard N times with different random
initial conditions and creates report of the results.
•Vary a Parameter
Trains the active NeuroSolutions breadboard N times for each value of a
network parameter as the parameter is varied from a user defined starting
value by a user-defined increment for a user defined number of variations.
•Leave-N-Out Training
Trains the network multiple times, each time omitting a different subset of the
data and using that subset for testing. The outputs from each tested subset are
combined into one testing report and the model is trained one additional time
using all of the data.
•Train Genetic
Trains the active NeuroSolutions breadboard while genetically optimizing the
choice of inputs and parameter values to achieve the best model.
Test Network Module
The Test Network module can be used to test a network after training has been completed. In testing the
network, various performance measures are computed. This module also allows you to perform sensitivity
analysis on the network. You can also create your own custom Test Network batches by calling built in
NeuroSolutions functions and/or writing Visual Basic code. These custom batches can then be run from the
NeuroSolutions for Excel menu from within Microsoft Excel. The following Test Network operations are built
into NeuroSolutions for Excel:
•Test
Tests the active NeuroSolutions breadboard on the chosen
data set and creates a report of the results.
•Sensitivity About the Mean
Performs sensitivity analysis on the chosen data set.
NeuroSolutions
Reviews
NeuroSolutions is the most powerful and flexible neural network simulator available for Windows, but don’t just
take our word for it. The menus below link to reviews of NeuroSolutions from several top AI magazines.
Select any of the following reviews to view them now.
Each of the reviews will appear in a separate document viewing window.
PC AI Magazine Review
IEEE Spectrum Review
PC AI Magazine Vendor’s Forum Review
The following review is also available for viewing on the web.
This review is only available while connected to the internet.
EE Times Review
You can find out more about these magazines by visiting their web sites.
These links are only available while connected to the internet.
EE Times
IEEE Spectrum
PC AI Magazine
NeuroSolutions
Sample Customer Applications
NeuroSolutions can be used to design neural networks to solve many different types of real-world problems.
The topics in the menu below link to application summaries written by NeuroDimension customers on how they
are using NeuroSolutions software to solve and study real life problems in a variety of fields. These summaries
are just a sample of the wide variety of fields to which NeuroSolutions can be applied.
Select any of the following topics to view a customer application summary.
Each of the summaries will appear in a separate document viewing window.
Psychology
Medicine
Social Sciences
Marketing
Finance
Image Processing
Management
Education
Instrumentation
Flow Control
Signals
Theory Generation
Custom Solution Wizard
The Custom Solution Wizard is a tool that will take an existing neural network created with NeuroSolutions and
automatically generate and compile a Dynamic Link Library (DLL), allowing you to easily incorporate your neural
network solutions into your own Visual Basic, Microsoft Excel, Microsoft Access, or Visual C++ applications.
You can even use your DLL from the internet in an Active Server Page or directly from TradingSolutions!
These generated neural network DLLs can be used to respond to data based on weights files you created within
NeuroSolutions. DLLs generated with the Developers Level of the Custom Solution Wizard also support learning,
allowing your programs to adapt to new data at runtime.
The process of communicating with the generated DLL is made extremely simple through the use of the freely
distributable NeuroSolutions Object Library DLL. This ActiveX DLL provides a simple protocol for sending data and
receiving the neural network responses. By simply adding the NeuroSolutions Object Library DLL to the references
list of your development environment, all of its methods and properties will immediately be available to your
program. Embedding a custom neural network into your application could not be any easier!
Select any of the following topics for more information or use the arrows to step through them all.
Wizard Walkthrough
Visual Basic Example
Feature Summary
The Custom Solution Wizard can be
launched from NeuroSolutions or directly
from your Windows start menu or desktop.
When you launch it, just indicate whether you
would like to use the breadboard that is
currently active in NeuroSolutions or open a
breadboard you have created previously.
If you select not to use the active breadboard,
you will be asked to select which breadboard
to use to generate your neural network DLL.
The Custom Solution Wizard can be used to
generate DLLs for breadboards like those
created with the Neural Wizard, as well as
breadboards based on your own designs.
The Custom Solution Wizard can generate a
project shell showing you how to use your
neural network DLL in Visual Basic, Visual C++,
Microsoft Excel, or Microsoft Access. You can
even use your DLL from the internet in an Active
Server Page, TradingSolutions or in
NeuroSolutions for Matlab!
Finally, select the location where your neural
network DLL and weights files should be
placed. Press Finish and the wizard will
create a neural network DLL and project shell
for your custom solution. It’s that easy!
Sample Code
The following Visual Basic code demonstrates just how easy it is to use the neural network DLL generated by the
Custom Solution Wizard. This example creates a new NSRecallNetwork object, sends it the XOr input data, and gets
the network response, all in just a few lines of code!
'Create the input data array.
'You can use existing data files, databases, spreadsheets,
'hardware devices or anything else with data!
Dim inputData(0 To 1, 0 To 3) As Variant
inputData(0, 0) = 0!
inputData(0, 1) = 0!
inputData(0, 2) = 1!
inputData(0, 3) = 1!
inputData(1, 0) = 0!
inputData(1, 1) = 1!
inputData(1, 2) = 0!
inputData(1, 3) = 1!
'Set path to the generated recall network DLL.
nn.dllPathName = "c:\XOrBreadboard.dll"
'Create a new NeuroSolutions NSRecallNetwork object.
'Visual Basic automatically knows how to use this object
'when you add the Object Library to your reference list!
Dim nn As New NSRecallNetwork
'Display the output in a message box.
'You can use the network response data in the same
'way you would use any other data in your application!
MsgBox "Output 1 = " & outputData(0,0) & _
", Output 2 = " & outputData(1,0) & _
", Output 3 = " & outputData(2,0) & _
", Output 4 = " & outputData(3,0)
'Set path to weights file from previous training sessions.
nn.loadWeights = "c:\XOrBreadboard.nsw"
'Send input data to the network DLL.
nn.inputData = inputData
'Get the network response to this data.
Dim outputData As Variant
outputData = nn.getResponse
Educator
The Educator level of the Custom Solution Wizard can generate a
recall-only DLL for any NeuroSolutions network that falls within the
Educator restrictions.
Users
The Users level of the Custom Solution Wizard can generate a recall-only
DLL for any NeuroSolutions network that falls within the Users
restrictions.
Consultants
The Consultants level of the Custom Solution Wizard can generate a
recall-only DLL for any NeuroSolutions network that falls within the
Consultants restrictions.
Developers Lite
The Developers Lite level of the Custom Solution Wizard can generate a
recall-only DLL for any NeuroSolutions network.
Developers
The Developers level of the Custom Solution Wizard can generate a recall
or learning DLL for any NeuroSolutions network.
NeuroSolutions for MATLAB
The NeuroSolutions for MATLAB neural network toolbox is a valuable addition to MATLAB's technical computing
capabilities allowing users to leverage the power of NeuroSolutions inside MATLAB. The toolbox features 15 neural
models, 5 learning algorithms and a host of useful utilities integrated in an easy-to-use interface, which requires
“next to no knowledge” of neural networks to begin using the product. It allows you to concentrate on solving your
problem using neural networks without having to spend many taxing hours perusing neural network literature and
developing the algorithms yourself.
The toolbox is also integrated with NeuroSolutions. This enables users to build custom networks in NeuroSolutions,
generate DLLs for those networks using the Custom Solution Wizard and then use those neural network DLLs inside
MATLAB using the NeuroSolutions for MATLAB interface. The three products are available as a suite at a
discounted price.
Select any of the following topics for more information or use the arrows to step through them all.
Product Tour
Feature Summary
Product Tour
CREATING A NEURAL NETWORK
The easiest way to create a neural network using
NeuroSolutions for MATLAB is to type the following
command within the MATLAB interface.
>> mynet = nsnn;
The preceding command creates the default
network, a one hidden layer Multi-Layer Perceptron
(MLP), which is the most popular neural network
among engineers and researchers worldwide. All the
settings for the network are set to well-researched
defaults, putting the neural network in a “good-to-go”
state after entering just one simple command.
USING SMART DEFAULTS
Other parameters that depend on your actual data
are set when the data is passed to the train function
(nsTrain). For example, the ideal number of neurons
(processing elements) in the hidden layer of the
neural network is computed from the data using a
proprietary formula. Thus, the intricacies involved in
setting up a neural network are automatically taken
care of, allowing the user to concentrate on solving
the problem at hand.
Here you have seen how to create the default MLP
network. Many other neural networks and learning
algorithms are available within NeuroSolutions for
MATLAB.
TRAINING YOUR NEURAL NETWORK
MONITORING TRAINING
The following command trains the neural network
with your data.
The learning curve and the output and desired plots can
be seen with ease after training by setting their
respective parameters to true.
>> mynet = nsTrain (mynet, x, y);
where, x is the input data and y is the desired data.
Cross validation can be performed without any
additional effort by passing the cross validation data
to the train function as well.
>> mynet = nsnn;
>> mynet.learningCurve = true;
>> mynet.outputAndDesired = true;
>> mynet = nsTrain (mynet, inputData, desiredData);
>> mynet = nsTrain (mynet, x, y, cv_x, cv_y);
where cv_x is the cross-validation input data and
cv_y is the cross-validation desired data.
Learning Curve
Output and Desired
TESTING THE NEURAL NETWORK
UTILIZING THE NEURAL NETWORK
After training, the performance of the neural network
model can be evaluated on a new out-of-sample
testing data set.
Once you have created the network, trained and tested it
to your satisfaction, the neural network is ready to be
utilized in practice with production data.
>> [z_out, perf] = nsTest (mynet, z_in, z_desired);
>> perf
perf =
mse: 0.7316
nmse: 0.1728
correlation: 0.9095
percent_error: 13.1862
>> p_out = nsProduction (mynet, p_in);
where z_in and z_desired represent the testing input
and desired data respectively. z_out represents the
output that the network actually produced when tested
with z_in. The variable ”perf” stores indicators
comparing the network output z_out with the desired
output z_desired.
where p_in is the production input data and p_out is the
network output for the production input data.
EASY-TO-USE INTERFACE
SAMPLE HELP DISPLAY
The NeuroSolutions neural network (nsnn) object
created has many different parameters that can be
edited. When the nsnn object variable name is
displayed in the MATLAB command line, every
parameter is displayed with short comments that
immediately explain the function of that parameter.
UPDATEMETHOD
If there is any doubt in your mind as to what a
parameter is actually used for, the help for any of the
parameters can be obtained simply by typing “help”
after the parameter name.
>> mynet.updateMethod.help
This parameter indicates the update method used to effect weight
updates during training. It takes values ‘batch’, ‘online’ and ‘custom’.
‘batch’ - Weights are updated after every epoch of presentation.
‘online’ - Weights are updated after every pattern/exemplar.
‘custom’ - Weights are updated after every x number of
patterns/exemplars of pattern representation. The number of
patterns x after which a weight update is effected is indicated in the
‘numExemplarsPerUpdate’ parameter.
Example:
mynet = nsnn;
mynet.updateMethod = ‘batch’;
mynet = nsnn;
mynet.updateMethod = ‘custom’;
mynet.numExemplarsPerUpdate = 100;
shortcut: um
Easy-to-use Interface
5 Learning Algorithms
The functionality available in the toolbox is
integrated in an easy-to-use interface that can be
utilized by users with “next to no knowledge” of
neural networks. Users who are familiar with
MATLAB would be able to pick up and use the
entire package within a few minutes.
The following 5 learning algorithms are featured,
including the powerful ConjugateGradient method:
Step
Momentum
Quickprop
Delta-Bar-Delta
Conjugate Gradient
15 Neural Models
The toolbox features several variants of the
following neural models:
Multi-Layer Perceptron
Generalized Feed Forward network
Modular neural network
Support Vector Machine
Partially Recurrent neural network
Fully Recurrent neural network
Time-Lag Recurrent neural network
Useful Utilities
The following utilities are also included:
Symbolic data translation
Image flattening utility
Performance indicators
Symbolic data translation allows for using textual
data as inputs to a neural network. The image
flattening utility flattens an image into a single row of
data, so that it can be fed into a neural network. The
performance indicators function reveals how well the
neural network has trained with statistical indicators.
TradingSolutions is a full-featured financial product that incorporates the power of neural networks to
help you to track and predict financial market data. Easily create predictions using wizards that handle
the complexities of neural model selection and data preprocessing. View your data using
built-in charts and spreadsheets. Analyze your predictions and trading signals for profitability using
comprehensive analysis tools. Make your financial data work for you with TradingSolutions.
Click here to return to
the ND main menu.
Easy-to-use Data Management Interface
View your financial data in a familiar
Explorer-like tree structure. Import data from
a wide variety of sources including; other
financial packages, ASCII text files, or even
data collected from the internet.
Powerful Financial Calculations
Analyze and preprocess your data using one of over
150 built-in functions or write your own functions
using the powerful formula entry system. Import
and export custom functions from TradingSolutions
to share with other users.
Built-in Chart and Spreadsheet Tools
Visualize any financial data, indicator, trading
system, or prediction using built-in chart and
spreadsheet tools. Display data as lines, bars,
HLOC, and candlesticks along with buy/sell
signals generated from your trading systems.
Trading System Editing and Analysis Tools
Use data from financial calculations and neural
predictions to create market-trading signals.
Automatically analyze your signals to determine
their profit potential based on historical data.
Advanced Neural Network Technology
Predict financial market trends using
advanced neural network technology. Use
intuitive wizards to create financials models
which easily outperform traditional
modeling techniques.
Flexible Genetic Optimization
Optimize neural network parameters using
state-of-the-art genetic algorithm technology.
This enables you to build more accurate
neural models with the touch of a button.
Integration with other NeuroDimension Products
Import your TradingSolutions data directly into
NeuroSolutions for use in custom breadboards. Then
use Custom Solution Wizard to integrate your neural
topologies with TradingSolutions.
Animated Demonstrations and Step-by-step Tutorials
Quickly learn how to use TradingSolutions by viewing
animated how-to demonstrations. Then, after viewing
the demonstrations, let the step-by-step tutorials walk
you through several real-world examples.
TradingSolutions uses the Genetic Library
for its genetic optimization!
Click here for product information.
Genetic Server and Genetic Library provide a general purpose API for genetic algorithm design. Genetic Server
is an ActiveX component that can be used to easily build a custom genetic application in Visual Basic. Genetic
Library is a C++ library that can be used for building custom genetic applications in C++.
There are no royalties for distributing applications built with the ActiveX component or the library.
Click here to return to
the ND main menu.
What are Genetic Algorithms?
Genetic algorithms are general-purpose search algorithms based upon the principles of evolution observed in
nature. Genetic algorithms combine selection, crossover, and mutation operators with the goal of finding the
best solution to a problem. Genetic algorithms search for this optimal solution until a specified termination
criterion is met.
The solution to a problem is called a chromosome. A chromosome is made up of a collection of genes which
are simply the parameters to be optimized. A genetic algorithm creates an initial population (a collection of
chromosomes), evaluates this population, then evolves the population through multiple generations (using
the genetic operators discussed above) in the search for a good solution for the problem at hand.
Genetic algorithms can be applied to a wide variety of optimization problems such as scheduling, computer
games, stock market trading, medical, adaptive control, transportation, the traveling salesmen problem, etc.
Scheduling
Genetic Algorithms (GA) can be used for numerous
scheduling problems. Using a GA for difficult
scheduling problems enables relatively arbitrary
constraints and objectives to be incorporated
painlessly into a single optimization method.
Computer Games
Genetic Algorithms can be used to evolve behaviors of
characters and events within computer games. As
players interact with characters and events, the game's
GA will come up with an encoding to represent that
player's strategies and better react to them.
Stock Market Trading
Genetic Algorithms can be used to improve
trading systems. Using GAs, active traders
can optimize inputs, indicators, and rules for
their trading systems and increase returns.
Medical
Genetic Algorithms can be used throughout the
medical field. GAs can help develop treatment
programs, optimize drug formulas, improve
diagnostics, and much more.
TradingSolutions uses the Genetic Library
for financial trading optimization!
Click here for product information.
Genetic Algorithms
•Generational
•Steady-State
Mutation Operators
•Flip Bit
•Boundary
•Uniform
•Gaussian
Selection Operators
•Roulette
•Tournament
•Top Percent
•Best
•Random
Data Types
•Binary •Integer •Float
Crossover Operators
•One Point
•Two Point
•Uniform
•Arithmetic
•Heuristic
Termination Methods
•Generation Number
•Evolution Time
•Fitness Convergence
•Population Convergence
•Gene Convergence
DEVELOP NEW INSIGHT INTO THE BEHAVIOR OF ADAPTIVE SYSTEMS
This one-of-a-kind interactive electronic book was developed as part of a
project aimed at innovating the teaching of adaptive systems in science and
engineering. The book unifies the concepts of neural networks and adaptive
filters into a common framework. It begins by explaining the fundamentals of
adaptive linear regression (the most basic data modeling technique), and
builds upon these concepts to explore pattern classification, function
approximation, feature extraction, and time-series modeling/prediction.
Because the text is integrated with NeuroSolutions, an industry standard
neural network/adaptive system simulator, the authors are able to
demonstrate and reinforce key concepts using over 200 interactive examples.
Furthermore, each of these examples is “live”, allowing the user to change
parameters and experiment first-hand with real-world adaptive systems. This
creates a powerful learning environment, where learning occurs both through
visualization and experimentation.
Click here to return to
the ND main menu.
Interactive learning environment
Emphasis on understanding rather than
focusing on complex mathematical derivations
Key concepts reinforced by interactive examples
Over 200 fully functional simulations of adaptive systems
Unified view of neural networks, adaptive filters,
pattern recognition, and support vector machines
Hyperlinks for keyword definitions, bibliographic references,
equations, and advanced discussions of concepts
Click here to return to
the ND main menu.