Presentation on theme: "Select a product for more information."— Presentation transcript:
1Select a product for more information. Font Notes:NeuroSolutions: TahomaTradingSolutions:Logo: Imprint MT ShadowText: Calisto MTGenetic Server: Times New RomanInteractive Book: Placard Condensed, then reduce height of bitmap to 75%Select a product for more information.Press the ESC key to leave the presentation at any time.
2Click on the ND logo to return to the main menu. HelpNavigating This NeuroDimension PresentationSimply 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.EscWhen 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.
3“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 EllisIEEE SpectrumFont Notes:Changed all fonts to Arial Narrow, 22, Bold (text at 5,5)(Original font unknown)Click here to return tothe ND main menu.
4The Neural Network Simulation Environment NeuroSolutionsThe Neural Network Simulation EnvironmentNeuroSolutions 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 InterfaceInteractive ProbingNeural Network CreationAdvanced Features
5Graphical 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.
6Select either of the following topics for more information. Neural Network CreationCreating 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.NeuralExpertApplication-based neural network designer.NeuralBuilderTopology-based neural network creator.Data ManagerData management and analysis tool.
7Interactive ProbingProbing 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.
8Select any of the following topics for more information. Advanced FeaturesAdvanced 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 OptimizationMacrosSensitivity AnalysisOLE AutomationCode GenerationDynamic Link Libraries (DLLs)
9Probing Matrix Viewer Bar Chart Matrix Editor State Space Data Writer 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•SensitivitiesProbing 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.Bar ChartMatrix EditorState SpaceData WriterScatter PlotImage ViewerData GraphHinton DiagramSpectrumAnalyzer
10Matrix Viewer Matrix Editor Probing 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.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.
11Data Writer Scatter Plot Probing 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.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.
12Data Graph Spectrum Analyzer Probing 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.The Spectrum Analyzer is used to compute periodograms from temporal data. Periodograms are generated by averaging windowed Fast Fourier Transforms (FFT's) over time.
13Bar Chart State Space Probing 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.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.
14Image Viewer Hinton Diagram Probing 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.
15NeuralExpert 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.
16Using the NeuralExpert Step 1: Problem Type Selection 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…Select the type of problem you want to solve from the following types of problems:• Classification• Function Approximation• Prediction• Clustering
17Step 2: Steps 3-4: Input File Selection Tag Input Columns NeuralExpert Indicate where your input file is located. The NeuralExpert will customize the solution for your specific inputs.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!
18Desired File Selection Tag Desired Columns NeuralExpertStep 5:Steps 6-7:Desired File SelectionTag Desired ColumnsIndicate 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.Indicate which columns in the desired file to model. As with the inputs, you use symbolic or categorical data in any of the columns.
19Use Your Neural Network Set Network Complexity NeuralExpertStep 8:Use Your Neural NetworkSet Network ComplexityBased 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.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.
20NeuralBuilder 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.
21Step 1: Model Selection NeuralBuilder Models supported by NeuralBuilderStep 1:Model Selection• 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 NetworkGeneralized Regression NetworkProbabilistic NetworkCANFIS Network (Fuzzy Logic)Support Vector MachineSelect desired neural model from list provided. Respective descriptions appear under list box.
22Step 2: Step 3: Training Data Cross Validation Data NeuralBuilder Select the training file(s), tagging the input and desired data. Included are facilities for data prediction and symbol translation.Select the testing file(s) used for cross validation. This data can either be extracted from the training set or read from separate files.
23Topology Configuration NeuralBuilderStep 4:Step 5:Topology ConfigurationLayer ConfigurationSpecify global parameters relating to the network’s topology for the selected neural model. This can be as simple as specifying the number of layers.Specify the number of processing elements, activation function, gradient search method, and learning rate for each network layer.
24Step 6: Step 7: Simulation Control Probe Configuration NeuralBuilder 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.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.
25Data 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.
26Step 1: Step 2: Opening Data Analyze Data Data Manager Select Open Data File on the interface.Select Analyze Data to choose from several different analyses functions.
27Step 3: Step 4: Preprocess Data Partition Data Data Manager Select Preprocess Data on the interface to choose from many preprocessing features.Select Partition Data on the interface to select different options of segmenting the dataset.
28Step 5: Step 6: Plots Manage Datasets Data Manager Select Plot on the interface to plot the data in a Time Series Plot or X-Y Scatter Plot.Select Manage Datasets on the interface to select many options for data management .
29Step 7: Build Neural Model Data Manager 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.
30Genetic Optimization Sensitivity Analysis Advanced Features 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.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.
31Dynamic Link Libraries (DLLs) Advanced FeaturesCode GenerationDynamic LinkLibraries (DLLs)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.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.
32Macros OLE Automation Advanced Features 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.
33There 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.EducatorUsersConsultantsProfessionalInformation is also available for the following options and add-on products.Developers LiteDevelopersSource Code LicenseNeuroSolutions For ExcelCustom Solution Wizard
34Educator Level Unrestricted Topologies • Multilayer perceptions (MLPs) • Generalized feedforward networks• Up to 50 inputs/neurons per layerLearning Paradigms• BackpropagationCompetitive Advantage• Double-precision calculations32-bit code• Faster simulations• Icon-based graphical user interface• Extensive probing capabilities• Easy neural network creation with theNeuralExpert and the NeuralBuilder
35User Level Unrestricted Topologies Additional Features • All topologies of the Educator• 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 layerAdditional Features• Genetic optimization of neural network parameters and weights.Learning Paradigms• BackpropagationAll search methods of Educator levelConjugate GradientLevenberg-Marquardt• Unsupervised LearningHebbianOja’sSanger’sCompetitiveKohonenCompetitive Advantage• More neurons per layer• More neural models to choose from• More unsupervised learning rules
36Consultants 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 networksLearning Paradigms• All paradigms of Users• Recurrent backpropagation• Backpropagation through timeCompetitive Advantage• Unlimited inputs/outputs/neurons per layer• Modular design allowing user-defined network topologies• Dynamic systems modeling• Time-Lag Recurrent networks
37Professional Level Unrestricted Topologies • All topologies of the ConsultantsLearning Paradigms• All paradigms of ConsultantsAdditional 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.)
38Developers Lite Level Unrestricted Topologies • All topologies of the ConsultantsLearning Paradigms• All paradigms of ConsultantsAdditional 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
39Developers Level Unrestricted Topologies • All topologies of the ConsultantsLearning Paradigms• All paradigms of ConsultantsAdditional Features• All additional features of Developers Lite• All additional features of Professional
40Source Code LicenseThe 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.
41NeuroSolutions for Excel Unrestricted Topologies• All topologies of the licensed level of NeuroSolutionsLearning Paradigms• All learning paradigms of the licensed version of NeuroSolutionsAdditional Features• Data Preprocessing and Analysis• Visual Data Selection• Training and testing from within Microsoft ExcelLeave-N-Out Training• Parameter Optimization• Sensitivity Analysis• Automated Report Generation• Custom Batch Creation / Execution
42Custom Solution Wizard Unrestricted Topologies• All topologies of the licensed level of NeuroSolutions and the Custom Solution WizardLearning Paradigms• All learning paradigms of the licensed version of NeuroSolutions and the Custom Solution WizardAdditional 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 BasicMicrosoft ExcelMicrosoft AccessVisual C++Active Server Pages (ASP web pages)TradingSolutionsNeuroSolutions for Matlab
43NeuroSolutions 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 DataCreate Data FilesAnalyze DataTrain NetworkTag DataTest NetworkCreate/Open Network
44Preprocess 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 toa 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.
45Analyze Data ModuleThe 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.
46Tag Data ModuleThe 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.
47Create/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.
48Create 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.
49Train Network ModuleThe 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.
50Test Network ModuleThe 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.
51NeuroSolutions Reviews PC AI Magazine Review IEEE Spectrum Review 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 ReviewIEEE Spectrum ReviewPC AI Magazine Vendor’s Forum ReviewThe following review is also available for viewing on the web. This review is only available while connected to the internet.EE Times ReviewYou can find out more about these magazines by visiting their web sites. These links are only available while connected to the internet.EE TimesIEEE SpectrumPC AI Magazine
52Sample Customer Applications NeuroSolutionsSample Customer ApplicationsNeuroSolutions 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.PsychologyMedicineSocial SciencesMarketingFinanceImage ProcessingManagementEducationInstrumentationFlow ControlSignalsTheory Generation
53Custom 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 WalkthroughVisual Basic ExampleFeature Summary
54The 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.
55The 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!
56Sample CodeThe 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 VariantinputData(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'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 VariantoutputData = 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)
57Educator Users Consultants Developers Lite Developers The Educator level of the Custom Solution Wizard can generate arecall-only DLL for any NeuroSolutions network that falls within theEducator restrictions.UsersThe Users level of the Custom Solution Wizard can generate a recall-onlyDLL for any NeuroSolutions network that falls within the Usersrestrictions.ConsultantsThe Consultants level of the Custom Solution Wizard can generate aConsultants restrictions.Developers LiteThe Developers Lite level of the Custom Solution Wizard can generate arecall-only DLL for any NeuroSolutions network.DevelopersThe Developers level of the Custom Solution Wizard can generate a recallor learning DLL for any NeuroSolutions network.
58NeuroSolutions 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 TourFeature Summary
59Product Tour USING SMART DEFAULTS CREATING A NEURAL NETWORKThe 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 DEFAULTSOther 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.
60TRAINING 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 TRAININGThe 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 CurveOutput and Desired
61TESTING 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 NETWORKOnce 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.
62EASY-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.helpSAMPLE HELP DISPLAYUPDATEMETHODThis 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.updateMethod = ‘custom’;mynet.numExemplarsPerUpdate = 100;shortcut: um
63Easy-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 ModelsThe toolbox features several variants of the following neural models:Multi-Layer PerceptronGeneralized Feed Forward networkModular neural networkSupport Vector MachinePartially Recurrent neural networkFully Recurrent neural networkTime-Lag Recurrent neural network5 Learning AlgorithmsThe following 5 learning algorithms are featured, including the powerful ConjugateGradient method:StepMomentumQuickpropDelta-Bar-DeltaConjugate GradientUseful UtilitiesThe following utilities are also included:Symbolic data translationImage flattening utilityPerformance indicatorsSymbolic 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.
64TradingSolutions 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.FeaturesScreenshotClick here to return tothe ND main menu.
65Click here for product information. 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 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.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.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.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.
67Genetic 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 tothe ND main menu.
68What 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.
69Click here for product information. 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.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.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.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.
71DEVELOP 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 tothe ND main menu.
72Interactive learning environment Emphasis on understanding rather than focusing on complex mathematical derivationsKey concepts reinforced by interactive examplesOver 200 fully functional simulations of adaptive systemsUnified view of neural networks, adaptive filters, pattern recognition, and support vector machinesHyperlinks for keyword definitions, bibliographic references, equations, and advanced discussions of conceptsClick here to return tothe ND main menu.