Presentation on theme: "Press the ESC key to leave the presentation at any time. Select a product for more information."— Presentation transcript:
Press the ESC key to leave the presentation at any time. Select a product for more information.
Click on the ND logo to return to the main menu. Select More Info to see detailed information about a topic. Select any Small Nugget to view information about a topic. Select the Up Arrow to return to a previous level. Select the Left and Right Arrows to move through a topic. 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. Esc When you are finished viewing this Presentation, press the Esc key to exit. Help
NeuroSolutions is one of the slickest and most complete packages for neural network simulation that anyone could wish forand one of the most flexible as well… - Dan Ellis IEEE Spectrum Click here to return to the ND main menu.
NeuroSolutions 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. Advanced Features Graphical User Interface Interactive Probing Neural Network Creation The Neural Network Simulation Environment Select any of the following topics for more information or use the arrows to step through them all.
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 networks response.
Neural Network Creation NeuralExpert NeuralBuilder 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. Application-based neural network designer. Topology-based neural network creator. Select either of the following topics for more information. Data Manager Data management and analysis tool.
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. Interactive Probing
Advanced Features Genetic Optimization Dynamic Link Libraries (DLLs) OLE Automation Sensitivity Analysis 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. Code Generation Macros Select any of the following topics for more information.
Matrix Viewer 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 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. Matrix Editor Image Viewer State Space Hinton Diagram Bar Chart Spectrum Analyzer Data Graph Data Writer Scatter Plot 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 networks performance when probing the mean squared error. State Space The State Space probe displays a 3-D representation of the systems 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 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). Hinton Diagram 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. Probing
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 Application-based neural network designer. NeuralExpert
Select the type of problem you want to solve from the following types of problems: Problem Type Selection Step 1: 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 dont 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… Using the NeuralExpert Classification Function Approximation Prediction Clustering
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! Tag Input Columns Steps 3-4: NeuralExpert Step 2: Input File Selection Indicate where your input file is located. The NeuralExpert will customize the solution for your specific inputs.
Indicate which columns in the desired file to model. As with the inputs, you use symbolic or categorical data in any of the columns. Tag Desired Columns Steps 6-7: 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.
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. Use Your Neural Network 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.
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 Topology-based neural network creator. NeuralBuilder
Select desired neural model from list provided. Respective descriptions appear under list box. Model Selection Step 1: 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 NeuralBuilder
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. Step 3: Select the training file(s), tagging the input and desired data. Included are facilities for data prediction and symbol translation. Training Data Step 2: NeuralBuilder
Layer Configuration Specify the number of processing elements, activation function, gradient search method, and learning rate for each network layer. Step 5: Topology Configuration Specify global parameters relating to the networks topology for the selected neural model. This can be as simple as specifying the number of layers. Step 4: NeuralBuilder
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. Step 7: 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 6: NeuralBuilder
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 Data management and analysis tool. Data Manager
Select Analyze Data to choose from several different analyses functions. Analyze Data Step 2: Data Manager Select Open Data File on the interface. Opening Data Step 1:
Select Partition Data on the interface to select different options of segmenting the dataset. Partition Data Step 4: Data Manager Select Preprocess Data on the interface to choose from many preprocessing features. Preprocess Data Step 3:
Select Manage Datasets on the interface to select many options for data management. Manage Datasets Step 6: Data Manager Select Plot on the interface to plot the data in a Time Series Plot or X-Y Scatter Plot. Plots Step 5:
Data Manager Select Build Neural Models on the interface to begin creating your neural model in NeuroSolutions. Build Neural Model Step 7: 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.
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.Users 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 ANSI- compatible 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.Professional 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.Developers Advanced Features
MacrosOLE 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 networks parameters, run the network, then retrieve the networks output. Advanced Features
There are six different levels of NeuroSolutions. Information is also available for the following options and add-on products. 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 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 interfacegraphical user interface Extensive probing capabilitiesprobing capabilities Easy neural network creation with the NeuralExpert and the NeuralBuilderNeuralExpertNeuralBuilder
User Level Unrestricted Topologies All topologies of the EducatorEducator Modular networks 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 Backpropagation All search methods of Educator level Conjugate Gradient Levenberg-Marquardt Unsupervised Learning Hebbian Ojas Sangers Competitive Kohonen Competitive Advantage More neurons per layer More neural models to choose from More unsupervised learning rules Additional Features Genetic optimization of neural network parameters and weights.Genetic optimization
Consultants Level Unrestricted Topologies All topologies of the UsersUsers 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 UsersUsers 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 Learning Paradigms All paradigms of ConsultantsConsultants 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.)Source Code License Unrestricted Topologies All topologies of the ConsultantsConsultants
Developers Lite Level Learning Paradigms All paradigms of ConsultantsConsultants Additional Features User-defined dynamic link librariesdynamic 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 Unrestricted Topologies All topologies of the ConsultantsConsultants
Developers Level Learning Paradigms All paradigms of ConsultantsConsultants Unrestricted Topologies All topologies of the ConsultantsConsultants Additional Features All additional features of Developers LiteDevelopers Lite All additional features of ProfessionalProfessional
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.ProfessionalDevelopers
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)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. Train Network Preprocess Data Analyze Data Tag Data Test Network Create/Open Network Create Data Files Select any of the following modules for more information or use the arrows to step through them all.
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 Computes the difference or percent difference along a column of data. Randomize Rows Randomly arranges the rows of data within the active worksheet and writes the result to a new worksheet. Sample Creates a new worksheet made up of every Nth row of data within the active worksheet. Moving Average Computes the moving average of a column using the chosen window length. Translate Symbolic Columns Translates columns that have been tagged as symbol. Insert Column Labels Inserts a row of column labels into the first row of the active worksheet. Clean Data 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. 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.
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 Computes the correlation between each of the columns of data on the active worksheet. Time Series Plot Creates a Time Series Plot of the selected columns. XY Scatter Plot Creates an XY Scatter Plot of the selected columns. Histogram Computes the histogram of a selected column of data. Summary Statistics Computes various statistics for a selected column of data. Trend Accuracy 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 Tags the selected column(s) of data as Input. Column(s) As Desired Tags the selected column(s) of data as Desired. Column(s) As Symbol Tags the selected column(s) of data as Symbol. Row(s) As Training Tags the selected row(s) of data as Training. Row(s) As Cross Validation Tags the selected row(s) of data as Cross Validation. Row(s) As Testing Tags the selected row(s) of data as Testing. Row(s) As Production Tags the selected row(s) of data as Production. All Columns As Input Tags all columns as Input. All Non-Numeric Columns As Symbol Tags all non-numeric columns as symbol. All Rows As Training Tags all rows as Training. Rows By Percentages Tags the rows of data within the active worksheet as Training, Cross Validation, and Testing according to user-defined percentages. Clear Tags Allows you to clear any existing tag. Clear Column Tag Clears the tag(s) of the selected column(s). Clear Symbol Tag Clears the symbol tag for the selected column(s). Clear Row Tag Clear the tag(s) of the selected row(s). Clear All Tags Clears all of the tags on the active worksheet. Select Cross-Section Allows you to automatically select any existing cross-section. Refresh Tag Formatting 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 Opens an existing NeuroSolutions breadboard. Close Closes the active NeuroSolutions breadboard. Save Saves the active NeuroSolutions breadboard. Save As Allows you to save the active NeuroSolutions breadboard to a user- specified location. Load Best Weights Loads the best weights for the active network. Tile Excel/NS 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 Creates data files for all tagged cross-sections within the active worksheet. Training Files Creates Training Input and Training Desired files from the correspondingly 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 Allows you to view (in Notepad) a data file that was created for the active worksheet. Delete Data Files 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.
PC AI Magazine Vendors Forum Review EE Times Review PC AI Magazine Review IEEE Spectrum Review NeuroSolutions is the most powerful and flexible neural network simulator available for Windows, but dont just take our word for it. The menus below link to reviews of NeuroSolutions from several top AI magazines. NeuroSolutions Reviews Select any of the following reviews to view them now. Each of the reviews will appear in a separate document viewing window. The following review is also available for viewing on the web. This review is only available while connected to the internet. You can find out more about these magazines by visiting their web sites. These links are only available while connected to the internet. PC AI MagazineIEEE SpectrumEE Times
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. Psychology Marketing Management Image Processing Medicine Finance Theory Generation Social Sciences Flow ControlSignals Instrumentation Education NeuroSolutions Sample Customer Applications Select any of the following topics to view a customer application summary. Each of the summaries will appear in a separate document viewing window.
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! Visual Basic Example Feature Summary Wizard Walkthrough Custom Solution Wizard Select any of the following topics for more information or use the arrows to step through them all.
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. Its that easy!
'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! '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 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! 'Set path to the generated recall network DLL. nn.dllPathName = "c:\XOrBreadboard.dll" '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 '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)
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.
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. Feature Summary Product Tour NeuroSolutions for MATLAB Select any of the following topics for more information or use the arrows to step through them all.
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 The following command trains the neural network with your data. >> 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 = 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. MONITORING TRAINING The learning curve and the output and desired plots can be seen with ease after training by setting their respective parameters to true. >> mynet = nsnn; >> mynet.learningCurve = true; >> mynet.outputAndDesired = true; >> mynet = nsTrain (mynet, inputData, desiredData); Learning Curve Output and Desired
TESTING THE NEURAL NETWORK After training, the performance of the neural network model can be evaluated on a new out-of-sample testing data set. >> [z_out, perf] = nsTest (mynet, z_in, z_desired); >> perf perf = mse: nmse: correlation: percent_error: 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. UTILIZING THE NEURAL NETWORK 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. >> p_out = nsProduction (mynet, p_in); where p_in is the production input data and p_out is the network output for the production input data.
EASY-TO-USE INTERFACE 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. 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 SAMPLE HELP DISPLAY UPDATEMETHOD 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 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. 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 5 Learning Algorithms The following 5 learning algorithms are featured, including the powerful ConjugateGradient method: Step Momentum Quickprop Delta-Bar-Delta Conjugate Gradient 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.
Click here to return to the ND main menu. 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.
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. 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. 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. 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. 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. 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.
Click here to return to the ND main menu. 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.
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. TradingSolutions uses the Genetic Library for financial trading optimization! Click here for product information. Medical Genetic Algorithms can be used throughout the medical field. GAs can help develop treatment programs, optimize drug formulas, improve diagnostics, and much more. 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.
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
Click here to return to the ND main menu. 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. DEVELOP NEW INSIGHT INTO THE BEHAVIOR OF ADAPTIVE SYSTEMS
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