Qnet 2000 |
Conceptualize the model: Formulate the idea for your model. Whatever type of model you intend to create, you must first conceptualize the inputs and outputs to be used. First, decide what it is you want to predict or determine with the model. The information that is to be identified by the model may be a single item (one output) or it may be many pieces of information (multiple outputs). Next, decide what factors influence the output(s). What information should the network use to learn the given problem and predict the answer? The inputs could be many separate pieces of information or a single set of information that may be supplied through many input nodes. For example, a visual recognition problem requiring pictures as input will require each image to be processed to input node values. It's often best to start with a relatively few number of network inputs and then add new or reformulate existing inputs during the model optimization process. Properly conceptualizing how the inputs and outputs are to be formulated is the first major step in building a successful model.
Gather the data: After conceptualizing the model, the training data must be gathered. This is often the most tedious task in model development. If you have access to all the needed information through existing databases, youre in luck. Otherwise, information must be accessed through other information resources. Common sources of data include: On-line information services, CD ROMs, scanned data from references, experimental data captured through data acquisition systems, computer generated data, purchased data and manual data entry.
Process and format the data: Once the training data source is identified, it is often easiest to use your systems spreadsheet application to properly setup, preprocess and format the data. Most spreadsheets will allow you to import data from multiple sources and in a variety of formats. Once the data has been collected, determine what inputs require preprocessing. Are some inputs unbounded? Are they using implied rankings? Which inputs should be represented in a binary format? Which inputs should be represented in a continuous value format? Determining the proper answers to these questions is one of the most critical steps in developing a good model. For most data reformulating tasks, a good spreadsheet will have all the analytical tools necessary to effectively handle and automate this task. After the data is in the desired form, finalize the file format by grouping the inputs and the targets in adjacent columns. If data labels are desired, they can be added at this time also (first row or data). You may either save (or export) the properly formatted data to an Qnet compatible ASCII file or use Qnets DataPro to directly transfer data from a Windows based spreadsheet into Qnet.
Create the neural network model: With the training data now created (or available for transfer), its time to setup the model with Qnet. Start Qnet and select "RUN" to activate the Training Setup Dialog and define the model. Its usually be best to start with a simple network/hidden layer construction so that you can quickly validate the models ability to train and learn relationships. Specify the network construction, the training data files, and your initial "best guess" at what the training parameters should be (remember - the default training parameters work for the many problems and all parameters are adjustable during training). To check and validate your training data files not created by DataPro, use the utility to load and scan your data for correct formatting. New networks should be saved prior to starting training by selecting Save Network Setup. (NOTE: No setup information is saved until this save option is selected or the network is saved during training.)
Train the network: Use Qnets analysis tools to monitor network training. Tools such as NetGraph and the various training Information options provide insight into how the network is training, when convergence has been achieved and information on the quality of the model being generated. It is also likely that you will need to tune the training parameters so that the specified values match the training characteristics for your model. You may optionally terminate training and restart from that same point in a subsequent run.
Analyze the trained network: When training is complete (or near complete) use Qnets input interrogator to look at effectiveness of each input in predicting the output(s). The node analyzer tool can be used to determine if specifying more or less nodes might improve the model. Examine how the network performs with your test data. How your model performs with test data not used to directly train the network will be the best indication of how the model will perform under real life conditions. These analyses will provide you with information for both how the model will perform and whether you might be able to improve the model by making design changes. Print and save the final network configuration and statistical comparisons if you plan to try different network configurations. This provides a way of quickly comparing different designs.
Try additional designs: Revisit either the gather the data, process and format the data or create the neural model steps and examine what optimizations may be possible. The step you return to depends on whether you wish to augment or improve the input data quality or simply wish to explore additional or more complex network designs. To investigate additional designs, simply open the first Qnet network definition file, make the necessary changes in the training setup dialog windows, save the network under a new network name and start training. This will preserve the original network and allow you to investigate new designs without overwriting previous results.
Accessing trained neural networks: Trained networks can be accessed in several ways. Qnets recall mode is one quick and easy method for accessing trained models. If you intend to access the model through standard Windows applications like spreadsheets, consider automating access with QnetTool. Alternatively, programmers can incorporate trained networks directly into applications using Qnets C source code or the included DLL (32-bit).
With practice, creating neural network models becomes a relatively easy process. The pace you proceed at will be dictated by your experience with neural networks and your experience with handling and processing data.