|
SOFTWARE REVIEW JACK YURKIEWICZ, Feature Editor, Lubin School of Business, Pace University Artificial intelligence (AI) is gaining popularity in business curriculums around the country, especially as a component of the introductory MIS course. Neural networks are an important component of AI. Professor Ajay Aggarwal, of Millsaps College, reviews Brainmaker, a neural network software package.
BRAINMAKERțA GREAT NEURAL NETWORK TOOLby Ajay K. Aggarwal Millsaps College Developed by California Scientific Software, Brainmaker is a backward propagation neural network that is available for both DOS and Windows environments. The software comes with a very readable and informative text entitled Introduction to Neural Networks by Jeannette Lawrence (1993), as well as a user's guide and reference manual. Instructors looking for user-friendly, easy to master neural network software, will appreciate Brainmaker. It will appeal to both undergraduates and MBA students in an introductory AI course. Brainmaker learns by looking at examples. The data file can be in any of the popular modes (e.g., ASCII, Lotus1-2-3, EXCEL, dBase, etc.). Figure 1 shows partial contents of a typical data file involving seven variables. All variables in Brainmaker need to be identified as input, pattern (i.e., output), or ignored. In Figure 1, the last two variables are pattern variables, the remaining five are input variables. Brainmaker has helpful menus to assist the user at all stages of the training process. There is a helpful utility to modify data prior to training. For instance, since neural networks train better on difference of two values of the same variable rather than the absolute measure, the utility facilitates the creation of a difference column. The learning power of Brainmaker is captured in the connection weights of the network that links the input neurons with the output neuron(s) via a certain predetermined number of hidden layers. To facilitate the learning process for the novice user, Brainmaker provides helpful default values for all learning parameters, e.g., number of hidden layers, learning rate, starting and ending tolerances, et cetera. Using horizontal "thermometers" for all variables, with the "mercury level" representing the relative magnitude of each one in the training data (see Figure 2), the rapid changing of the different mercury levelsțas different training facts are examinedțis visually stimulating (especially to the students). The trained network can be tested directly on the screen or in batch mode. The latter is extremely helpful, especially if the neural network is being called as an external program in some application (e.g., an expert system using the VP-EXPERT shell). Figure 3 shows an example of data tested on the network trained on the Figure 1 type data. If the trained network is called BRAINRTS.net, and the input file is called BRAINRTS.in, execution of the "brainmak -b" command at any prompt will result in creation of BRAINRTS.out, the output file. Note that the input file must have the word "facts" as its first line, and should have only the input variables' values in the training file order. The output file reproduces the input variables and presents the output variables in their listing order in the training file. The neural network field has grown dramatically in the last decade. Using the same data, it is possible to create infinitely many networks that may give results that vary drastically from one anotherțeven when the same data conversions are used prior to training. The reason for this lies in the large number of variables one can vary in the training process. For example, just varying the starting and ending tolerance from .1 to .4 in steps of .1, two hidden layers with the number of hidden neurons varying from 1 to 5 in each, and the learning rate varying from 1 to 2 in each of the hidden and output layers, will result in 32,000 different networks. To carry this a step further, it should be pointed out that even running 32,000 networks is no guarantee for great results. The obvious question is: "Which is the best network?" Brainmaker offers two helpful tools in this areațoptimizer and genetic training. Optimizer training allows the user to vary any network variable within system limits. Brainmaker automatically creates all the networks, and ranks them in the order of user preference. The preference can be based upon the average error, the root mean square error (RMSE), sum of R2, number of good facts (i.e., facts that meet the stated tolerance), or the number of runs. Figure 4 gives a partial view of the contents of the optimizer output file based on the Figure 1 example. Note that the root mean square error changes quite drastically from .0834 in iteration 65 to .3745 in iteration 16. Also, there are several networks sometime with the same preference parameter (in this case RMSE). In these cases, one of the other preference parameters, e.g., average error, can be used to break the tie. Genetic training alters an existing network, using neural network equivalent of the biological concepts of mutation and crossover. The concept can be applied to partially or fully trained networks. In mutation, a random percentage of neurons is changed by modifying the weights associated with the connections that precede them. The resulting network is termed a "child" of the original ("parent") network. In crossover, two parents are "cut" at the same location and spliced to one another to produce a new child network. Mutation and crossover can take place individually or simultaneously. If the child network performs better than its parent(s), it is designated as the new parent, and new generations of "child" networks are generated. Brainmaker allows the user to control the mutation and crossover rates, the extent of crossover and mutation in Gaussian spread units, the number of generations, the number of runs for each network, as well as the gauge for training quality (e.g., 1 - average error, sum of R2, etc.). The best "n" (determined by the user) networks are saved by Brainmaker after the genetic evolution process is complete. For the data in Figure 1, genetic training was conducted on the network created by using all defaults network values (e.g., learning rate of 1.000, all tolerances equal to .1, etc.). Using 10% mutation and crossover rates, and using (1 - average error) as the gauge for the quality of the "child network," the best 3 networks gave produced networks having .9682, .9682, and .9676 as their quality measure. Crossover and mutation variation parameters were set at 50%, 25%, and 25%, respectively. These results were even better than the "optimized" network. In fact, as is probably apparent, it is generally a good idea to perform genetic training on an optimized network to get the best of both worlds. The student version of Brainmaker comes with a user's manual
and the 250-page book,
CALIFORNIA SCIENTIFIC SOFTWARE
AJAY K. AGGARWAL, Ph.D., is Assistant Professor of MIS and QM at
Millsaps College (AACSB accredited). He has two chemical
engineering and two business degrees. His research interests
include neural networks, expert systems, and computer modeling.
If you are interested in writing a software review for a
future issue of |