This chapter shows several examples that use neural network technology
and are distributed with the Neural Network Utility products. The application
problems are described, the kind of training data required is discussed,
and the application development process using the Neural Network Utility
is detailed.
The demonstrations are the following:
-
Animal recognition: Classification
-
Credit scoring: Classification
-
Sales forecasting: Time-series
-
Market analysis: Cluster analysis
-
Truck routing: Optimization
-
Bond rating: Fuzzy rule-base
The neural network in this demonstration module recognizes animal types
based on the features of animals. It recognizes a panther, lion, dolphin,
zebra, deer, ostrich, and penguin.
The Application Module
|
Complete the following to load the
demonstration:
-
Select Demonstrations... from the Module pull-down menu in the NNU main
window.
-
Highlight the Animal Recognition: Classification entry in the list
box.
-
Select the Load push button.
|
The loaded module is set to receive data from a file containing testing
data.
The animal recognition module objects are as follows:
-
TrainData
-
Trains the network. It receives data from the training data file.
-
TestData
-
Validates the network. It receives data from the testing data file.
-
ADEImport
-
Receives data from the Application Delivery Environment.
-
Filter1
-
Translates the data from symbolic form to a form understandable to the
network.
-
Network1
-
Contains an untrained back propagation neural network to demonstrate the
training of this application.
-
Filter2
-
Interprets the output from the network.
-
Export1
-
Provides data to the Application Delivery Environment.
-
TrainScript
-
A control script that can be used to train Network1.
The following inspector windows are provided:
-
Inspector1 - Filter1
-
Shows the symbolic data passed from the active Import object to Filter1
using a text inspector view of the input buffer array.
-
Inspector2 - Filter1
-
Shows the translated output from Filter1 using a text inspector view of
the output buffer array.
-
Inspector3 - Network1
-
Shows the output data from the network using a text inspector view of the
net output array.
-
Inspector4 - Network1
-
Shows a network graphic inspector of Network1.
-
Inspector5 - Network1
-
Shows a time plot of the average RMS error associated with Network1.
-
Inspector6 - Filter2
-
Shows the translated output from the network using a text view of the output
buffer array.
Data Definition
The data used to test this network is shown in the following figure:
Figure 11. Animal Recognition Demonstration Test Data
Eats Grass? |
Flies? |
Swims? |
Class |
Color |
Legs |
Weight |
Animal |
no |
no |
no |
mammal |
black |
4 |
80000 |
panther |
no |
no |
no |
mammal |
brown |
4 |
100000 |
lion |
no |
no |
yes |
mammal |
silver |
0 |
80000 |
dolphin |
yes |
no |
no |
mammal |
black/white |
4 |
150000 |
zebra |
yes |
no |
no |
mammal |
brown |
4 |
80000 |
deer |
yes |
no |
no |
bird |
black/white |
2 |
60000 |
ostrich |
no |
no |
yes |
bird |
black/white |
2 |
10000 |
penguin |
The fields are described and translated as follows:
-
Eats grass?
-
Indicates whether the animal eats grass as its primary food source. Values
can be "yes" or "no".
"Yes" values are converted to a value of 1 and "no" values are converted
to 0.
-
Flies?
-
Indicates whether the animal has the ability to fly. Values can be "yes"
or "no".
"Yes" values are converted to a value of 1 and "no" values are converted
to 0.
-
Swims?
-
Indicates whether the animal lives and feeds in the water. Values can be
"yes" or "no".
"Yes" values are converted to a value of 1 and "no" values are converted
to 0.
-
Class
-
Indicates the class of the animal. Valid values are "bird" or "mammal".
"Mammal" values are converted to a value of 1 and "bird" values are
converted to 0.
-
Color
-
The color of the animal.
A One-of-N code of size 4 is used to represent the four possible color
values.
-
Legs
-
The number of legs on the animal.
The three possible values are converted to a One-of-N code of size 3.
-
Weight
-
The weight of the animal in grams.
The weight ranging from 60 000 to 150 000 is scaled to a range from
0 to 1.
-
Animal
-
An output field indicating the animal type.
The seven possible animal values are converted to a One-of-N code of
size 7.
Training the Neural Network
Train this network using the control script provided or one such as the
following:
Comment Control Script for training Animal Recognition Demonstration
Variable NET
Set NET = Network1
Comment Set Network1 training parameters
Set NET LearnRate = 0.2
Set NET Momentum = 0.9
Set NET Tolerance = 0.1
Comment Set module and module object parameters
Set TrainData ON
Set Filter1 ON
Set Filter2 ON
Set Network1 ON
Set Module StepsPerCycle = 20
Set Module StepsPerRefresh = 20
Comment Train the neural network
ClearAllBreakPoints
SetBreakPoint NET NetState = 1
Run
ClearAllBreakPoints
To train the network using a control script, select the Run option from
the Control Script pop-up menu.
Testing the Neural Network
After the network is trained, its accuracy must be verified. Select the
test data Import object, which was not used to train the network. Make
it the active Import object by selecting On from the cascaded menu associated
with the State choice in the object pop-up menu. Step the module to check
the accuracy of the network by comparing the actual output from the network
shown in Inspector6 to the expected result shown by Inspector1.
Check the number of incorrect responses to the test data. If the results
are accurate, you can use the module in an application. If not, you may
wish to review the training data and add more observations.
Presenting Data Interactively to the Neural Network
Complete the following steps to open a secondary window to present data
interactively to the network and to define the field labels in the secondary
window:
-
Select Dialog... from the TrainData object pop-up menu.
-
Select the Labels push button.
-
Enter animala.xlt for the Translate template file name
prompt. The field labels used in the translate template are to be used
to label the fields.
-
Select the Set names push button.
-
Enter values for the fields and select the step push button to step the
module.
View the result in Inspector6 - Filter2 that contains the translated network
outputs.
Running the Neural Network
The animal recognition application can be run using the application delivery
environment, or as a stand-alone application in either batch, interactive,
or custom mode. It can also be embedded into another application. For more
information about configuring run-time modules see 7.0,
"The Application Delivery Environment (ADE)". The files animal.cmd
and animal.bat are provided as working examples of the ADE. For
information about embedding modules into applications see the Neural
Network Utility: Programmer's Reference manual.
Risk analysis and classification is a common business problem. Whether
the customer is an individual or a business, the objective is to evaluate
that customer's credit worthiness and the risk associated with extending
credit to the customer.
The Application Module
|
Complete the following to load the
demonstration:
-
Select Demonstrations... from the Module pull-down menu in the NNU main
window.
-
Highlight the Credit Scoring: Classification entry in the list box.
-
Select the Load push button.
|
The module is set to receive data from a file containing testing data.
The credit scoring module consists of these components:
-
TrainData
-
Trains the network. It receives data from the training data file.
-
TestData
-
Validates the network. It receives data from the testing data file.
-
Filter1, Filter2
-
Translates the data from symbolic form to a form understandable to the
network. The first filter uses a threshold function to initially scale
the salary into the allowed range, while the second filter does the final
conversion of salary to network form. Only the first filter translates
the other fields.
-
Backprop1
-
Contains a trained back propagation network used for demonstrating the
deployment of the application.
-
Backprop2
-
Contains an untrained back propagation network used to demonstrate the
training of the application.
-
RBF1
-
Contains a trained radial basis function network used for demonstrating
the deployment of the application.
-
RBF2
-
Contains an untrained radial basis function network used to demonstrate
the training of the application.
-
Filter3
-
Translates the output from the back propagation networks to a result in
symbolic form.
-
Filter4
-
Translates the output from the radial basis function networks to a result
in symbolic form.
-
TrainBackprop
-
A control script that can be used to train Backprop2.
-
TrainRBF
-
A control script that can be used to train RBF2.
The Inspector windows provided with credit scoring module are:
-
Inspector1 - Filter1
-
Shows the symbolic data presented from the active Import to Filter1 in
a text view.
-
Inspector2 - Filter2
-
Shows the translated data that is output from Filter2 presented to the
networks.
-
Inspector3 - Filter3
-
Shows the raw output data from the back propagation networks.
-
Inspector4 - Filter3
-
Shows the credit limit calculated by the back propagation networks as translated
by Filter3.
-
Inspector5 - Filter4
-
Shows the raw output data from the radial basis function networks as translated
by Filter4.
-
Inspector6 - Filter4
-
Shows the credit limit calculated by the radial basis function networks
as translated by Filter4.
Data Definition
The data used in this application consists of past records of credit applications.
In addition, there is historical data showing the approved credit amounts
for each credit application. Using this data, the neural network is trained
to relate the input parameters representing a customer profile to the approved
credit amount.
Valid data fields are named and translated as follows:
-
Yearly salary
-
The yearly salary of the applicant ranging from $0 to $130 000 (defined
as 0 to 130 000 for this application). Any value greater than 130 000 is
truncated to 130 000.
This value is first applied to the threshold function. Values less than
8000 are changed to 8000, and values greater than 80 000 are changed to
80 000. This step eliminates unnecessary value ranges. The field is then
applied to the log function, lowering the field range from 72 000 (which
is 80 000 minus 8000) to 1 (which is log(80 000) - log(8000)). The data
then is scaled to be in a range from 0 to 1.
-
Job duration
-
The number of months that an applicant has held the job listed as current
on the application, ranging from 0 months to 36 months.
This value that is converted to a 6-position binary code.
-
Monthly debt ratio
-
The applicant's monthly debt divided by the applicant's monthly salary.
The range is from 0 to 1.
This value is applied to the threshold function and then scaled between
0 an 1. The threshold function changes values less than 0.10 to 0.10 and
values greater than 0.50 to 0.50, eliminating any unnecessary values at
the extremes.
-
Net worth
-
The summation of the applicant's total savings added to the applicant's
home equity.
This value is converted to a 10-position One-of-N vector.
-
Bankrupt status
-
A value that equals yes if the applicant has declared bankruptcy within
the past two years.
This value is converted to a 1-position binary field.
-
Collections or judgements status
-
A value that equals yes if there have been any collections or judgements
against the applicant within the past two years.
This value is converted to a 1-position binary field.
-
Approved credit
-
An output field that indicates the amount of credit approved for the applicant.
Approved credit values are 0, 1000, 3000, and 5000.
This output value is converted to a 4-position thermometer code representation
of the four credit values.
Training the Neural Network
Train the networks using the control scripts provided.
To train the network using a control script, select the run option from
the control script pop-up menu.
Note: |
This demonstration is provided with a trained
network because of the network training time involved. |
Testing the Neural Network
After a network is trained, its accuracy can be evaluated by using test
data which was not used to train the network. Check the number of incorrect
responses to the test data.
To test the module, turn on the TestData object. Select On from the
cascaded menu associated with the State choice in the object pop-up menu.
Step the module to view the accuracy of the network by comparing the actual
credit limit allowed to the limit calculated by the network.
After testing the results of the back propagation network, run the same
data through the radial basis function network to see which network model
provides better results for the test data. Select the network that provides
the best results for your application.
Presenting Data Interactively to the Neural Network
Complete the following steps to open a secondary window to present data
interactively to the network and to define the field labels in the secondary
window:
-
Select Dialog... from the TrainData object pop-up menu.
-
Select the Labels push button.
-
Enter crdscra.xlt for the Translate template file name
prompt. The field labels used in the translate template are to be used
to label the fields.
-
Select the Set names push button.
-
Enter values for the fields and select the step push button to step the
module.
View the data in the Inspector windows named Inspector4 - Filter3, and
Inspector6 - Filter4 that contain the translated outputs from the back
propagation and radial basis networks, respectively.
Running the Neural Network
The credit scoring application can be run using the NNU application delivery
environment, or as a stand-alone application in either batch, interactive,
or custom mode. It can also be embedded into another application. For more
information about configuring run-time modules see 7.0,
"The Application Delivery Environment (ADE)". For information about
embedding modules into applications see the Neural Network Utility:
Programmer's Reference manual.
Sales forecasting is another common business problem. The objective is
to build a predictive model of project sales for both inventory control
and labor planning. It uses a database of past history to build a model
relating the current situation to a prediction of the situation at some
future point.
The Application Module
|
Complete the following to load the
demonstration:
-
Select Demonstrations... from the Module pull-down menu in the NNU main
window.
-
Highlight the Sales Forecasting: Time-Series Analysis entry in the
list box.
-
Select the Load push button.
|
The module is set to receive data interactively from you, process data
through the module, and present the results to you.
The Sales Forecasting demonstration consists of these components:
-
TrainData
-
Trains the network. It receives data from the training data file.
-
TestData
-
Validates the network. It receives data from the testing data file.
-
Filter1
-
Translates the data from symbolic form to a form understandable to the
network.
-
Backprop1
-
Contains a trained back propagation network used for demonstrating the
deployment of the application.
-
Backprop2
-
Contains an untrained back propagation network used to demonstrate the
training of the application.
-
Recur1
-
Contains a trained recurrent network used for demonstrating the deployment
of the application.
-
Recur2
-
Contains an untrained recurrent network used to demonstrate the training
of the application.
-
Filter2
-
Interprets the output from the back propagation network.
-
Filter3
-
Interprets the output from the recurrent network.
-
TrainBackprop
-
A control script that can be used to train Backprop2.
-
TrainRecur
-
A control script that can be used to train Recur2.
The following Inspector windows are provided with the sales forecasting
demonstration:
-
Inspector1 - Filter1
-
Shows the symbolic data presented from the active Import to Filter1.
-
Inspector2 - Filter1
-
Shows the translated data that is presented to the networks.
-
Inspector3 - Filter2
-
Shows the raw output data from the back propagation networks.
-
Inspector4 - Filter2
-
Shows the translated output from the back propagation networks.
Data Definition
The data used in this application consists of records of state history.
The database contains historical information about business conditions
in addition to climate and sales data. Using this data, you can train a
neural network to use this business history as input parameters and relate
them to the sales that resulted in that environment.
The data fields are defined and translated as follows:
-
Day of year
-
Contains a value representing the current day of the year, ranging from
0 to 365.
This value is converted to a binary code representation of size 9.
-
Day of week
-
Contains the symbolic representation of the day of the week.
This value is scaled to range from 0.0 to 1.0.
-
Change in prime interest rate
-
Contains a value representing the change in the prime interest rate for
the past day. Valid ranges are from -1.0 to 1.0.
This value is scaled to range from -2.0 to 2.0. Increasing the range
of this variable enhances its relative importance to the network.
-
Today's sales
-
Contains a value representing the amount of the day's sales measured in
hundreds of units sold.
This value is converted to a binary code representation of size 9 from
a value ranging between approximately 700 and 1000.
-
Change in amount of sales
-
Contains a value representing the percentage change in the amount of sales
from one day to the next.
This is an output value that ranges between approximately -20 percent
and +20 percent.
This value is scaled to range from -0.5 to 0.5. For the output to range
from -0.5 to 0.5, the activation function must be selected (or true) for
a back propagation network.
Training the Neural Network
Train the two untrained networks using the control scripts provided.
To train the network using a control script, select the run option from
the control script pop-up menu.
Note: |
This demonstration is provided with trained networks
because of the network training time involved. |
Testing the Neural Network
With a trained network, evaluate the accuracy of the back propagation implementation
with the test data which was not used to train the network. Check the number
of incorrect responses to the test data.
To test the module, turn on the TestData object. Select On from the
cascaded menu associated with the State choice in the object pop-up menu.
Step the module to view the accuracy of the network by comparing the actual
output from the network to the desired output from the network.
Run the same test data through the trained recurrent network. Compare
its results to the back propagation method. Select the network that provides
the best results for your application.
Presenting Data Interactively to the Neural Network
Complete the following steps to open a secondary window to present data
interactively to the network and to define the field labels in the secondary
window:
-
Select Dialog... from the TrainData object pop-up menu.
-
Select the Labels push button.
-
Enter forcsta.xlt for the Translate template file name
prompt. The field labels used in the translate template are to be used
to label the fields.
-
Select the Set names pushbutton.
-
Enter values for the fields and select the step push button to step the
module.
View the data in the Inspector windows named Inspector - Filter2, and Inspector
- Filter3 that contain the translated outputs from the back propagation
and recurrent neural networks, respectively.
Running the Neural Network
The sales forecasting application can be run using the NNU application
delivery environment, or as a stand-alone application in either batch,
interactive, or custom mode. It can also be embedded into another application.
For more information about configuring run-time modules see 7.0,
"The Application Delivery Environment (ADE)". For information about
embedding modules into applications see the Neural Network Utility:
Programmer's Reference manual.
Businesses gather and store information regarding their operations for
accounting, inventory, and other record-keeping purposes. They often overlook
the potential for using this data for planning and forecasting. The market
data analysis demonstration is an example of using information about past
sales to gain knowledge about customer profiles. This knowledge can be
used to direct sales promotions to those customers who are most likely
to buy products, and to fund development of products that customers are
most likely to purchase. The problem is to find clusters in the data. Once
the data is divided into clusters, you can analyze it to define the attributes
that contribute to interest in a particular product.
The Application Module
|
Complete the following to load the
demonstration:
-
Select Demonstrations... from the Module pull-down menu in the NNU main
window.
-
Highlight the Market Analysis: Clustering entry in the list box.
-
Select the Load push button.
|
The module is set to receive data interactively, process data through
the module, and present the results.
The Market Analysis demonstration consists of these components:
-
TrainData
-
Trains the network. It receives data from the training data file.
-
TestData
-
Validates the network. It receives data from the testing data file.
-
Filter1
-
Translates the data from symbolic form to a form understandable to the
networks.
-
Filter2
-
Applies an additional scaling function to the Income data.
-
FeatMap1
-
Contains a trained self-organizing feature map network used for demonstrating
the deployment of the application.
-
FeatMap2
-
Contains an untrained self-organizing feature map network used to demonstrate
the training of the application.
-
ART1
-
Contains a trained adaptive resonance network used for demonstrating the
deployment of the application.
-
ART2
-
Contains an untrained adaptive resonance network used to demonstrate the
training of the application.
-
TrainFeatMap
-
A control script that can be used to train FeatMap2.
-
TrainART
-
A control script that can be used to train ART2.
These Inspector windows are provided with the demonstration:
-
Inspector1 - Filter1
-
Shows the symbolic data presented from the active Import to Filter1.
-
Inspector2 - Filter2
-
Shows the translated data that is presented to the networks.
-
Inspector3 - FeatMap1
-
Shows the graphical display of the trained self-organizing feature map
network.
-
Inspector4 - ART1
-
Shows the graphical display of the trained adaptive resonance network.
Data Definition
The data used in this application consists of past records of purchases
by customers and the customer profiles.
Valid data fields are named and defined as follows:
-
Age
-
Customer age, ranging from 20 years to 50 years.
This integer value is scaled to range from 0.0 to 1.0.
-
Income
-
Contains the yearly salary of the customer. Valid values range from $0
to $130 000 (defined as 0 to 130 000 for this application).
This value is first applied to the threshold function. Values less than
8000 are changed to 8000 and values greater than 80 000 are changed to
80 000. This step eliminates unnecessary values at the value ranges. The
field is then applied to the log function lowering the field range from
72 000 (which is 80 000 minus 8000) to 1 (which is log(80 000) - log(8000)).
The data is then scaled to be in a range from 0 to 1.
-
Profession
-
Contains the identification letter for the customer's profession. For this
application, seven job groups are considered.
This symbolic value is converted to a One-of-N data type of 7 positions.
-
Purchases of A
-
Contains the total number of purchases the customer made from product category
A in the past year. Valid values range from 0 to 20 purchases.
This value is scaled to range from 0.0 to 1.0.
-
Purchases of B
-
Contains the total number of purchases the customer made from product category
B in the past year. Valid values range from 0 to 30 purchases.
This value is scaled to range from 0.0 to 1.0.
-
Purchases of C
Contains the total number of purchases the customer made from product
category C in the past year. Valid values range from 0 to 40 purchases.
This value is scaled to range from 0.0 to 1.0.
Training the Neural Network
Train the self-organizing feature map and adaptive resonance networks using
the control scripts provided.
To train the neural networks using a control script, select the Run
option from the Control Script pop-up menu.
Note: |
This demonstration is provided with trained neural
networks (FeatMap1 and ART1) because of the time involved to train this
particular network. |
Testing the Neural Network
After the network is trained, you need to analyze the clusters to find
the key attributes that contribute to membership in a particular cluster.
The customer data is likely to show some subset of a common attribute that
you can then use as a key for seeking new customers or targeting products
to a specific customer set.
If too few clusters are allocated, the data may not separate into distinguishable
groups. However, if too many clusters are allocated, the clustering may
not be apparent. For clustering problems, create several networks, each
with different numbers of clusters, and train each of the networks.
Presenting Data Interactively to the Neural Network
Complete the following steps to open a secondary window to present data
interactively to the network and to define the field labels in the secondary
window:
-
Select Dialog... from the TrainData object pop-up menu.
-
Select the Labels push button.
-
Enter mktanaa.xlt for the Translate template file name
prompt. The field labels used in the translate template are to be used
to label the fields.
-
Select the Set names push button.
-
Enter values for the fields and select the step push button to step the
module.
View the network graphic inspector to view the output unit activations
and the winning output unit.
Running the Neural Network
The market analysis application can be run using the NNU application delivery
environment, or as a stand-alone application in either batch, interactive,
or custom mode. It can also be embedded into another application. The custom
application would analyze the clusters found in the network and would identify
common attributes shared in the data. The custom application could then
determine what cluster a new data record would most appropriately fit and
make appropriate recommendations. For more information about configuring
run-time modules see 7.0, "The Application Delivery
Environment (ADE)". For information about embedding modules into applications
see the Neural Network Utility: Programmer's Reference manual.
A common problem in distribution businesses is scheduling delivery of materials
or products to customers. In this example, the business is a distribution
center for a major department store that makes monthly deliveries to a
variable set of store locations. The goal is to send out the smallest number
of trucks and have them drive the fewest miles to make the deliveries.
This is the classic traveling salesperson or shortest complete path
problem. When the potential delivery points are known, the data consists
of the x-y coordinates of the delivery points. The routing network is to
find a good path that starts at the store, visits each stopping point,
and returns to the store.
The Application Module
|
Complete the following to load the
demonstration:
-
Select Demonstrations... from the Module pull-down menu in the NNU main
window.
-
Highlight the Truck Routing: Optimization entry in the list box.
-
Select the Load push button.
|
The module is set to receive data interactively, process data through
the module, and present the results.
The truck routing demonstration consists of these components:
-
TrainData
-
Trains the network. It receives data from the training data file.
-
Filter1
-
Translates the data from symbolic form to a form understandable to the
network.
-
Network1
-
Contains the network to be trained to solve the routing problem.
-
Filter2
-
Interprets the output from the network.
-
TrainNet
-
A control script that is used to train Network1.
The following Inspector windows are provided with the demonstration:
-
Inspector1 - Network1
-
Shows a graphical display of the network. Once a single training epoch
is passed, the graphic shows the locations of each delivery location and
the location of the network units as the network is training.
-
Inspector2 - Filter2
-
Shows the delivery route that is calculated as a result of training the
network.
Data Definition
The data used in this demonstration consists of the latitude and longitude
of delivery points for several cities across the United States.
Training the Neural Network
The routing network solves the problem in a batch training mode using the
coordinate data. After the network is trained, the indexes of the stopping
points are given as network outputs. Filter2 translates those points into
the names of the cities to visit in the optimal sequence.
To train the network, run the control script provided by selecting the
run option from the Control Script pop-up menu.
After training, Inspector2 - Filter2 contains the listings in the order
of the deliveries and Inspector1 - Network1 contains a graphical display
of the delivery circuit.
Testing the Neural Network
Once the network is trained, you can draw an x-y plot of the index of the
stopping points. This is a indication of the reasonableness and correctness
of the solution provided by the neural network. This x-y plot is contained
in the network graphic.
Running the Neural Network
For routing networks, the training of the network produces the solution
to the problem.
The truck routing application can be run interactively by training the
network and its result validated by viewing the Inspector window showing
the network graphic. You may wish to create a custom application to provide
the inputs to the network and present the results to the user. For information
about custom applications, see the Neural Network Utility: Programmer's
Reference manual.
A common decision support function is to automatically rank or rate prospective
customers or suppliers. Using publicly available financial data on commercial
bonds issues, this demonstration filters out the undesirable offerings
and ranks the most promising issues.
In this simple example rule base, only a small number of rules are used
to illustrate how fuzzy rule systems can be applied to this problem.
The Application Module
|
Complete the following to load the
demonstration:
-
Select Demonstrations... from the Module pull-down menu in the NNU main
window.
-
Highlight the Bond Rating: Fuzzy Rule-Base entry in the list box.
-
Select the Load push button.
|
The loaded module is set to receive data interactively, process data
through the fuzzy rule-base, and present the results.
These components are loaded for the Bond Rating demonstration:
-
TestData
-
Validates the fuzzy rule-base. Example data with known answers are presented
to the rule base to insure correct results are produced.
-
RuleBase
-
Contains the fuzzy rule-base used to process and rate the bond offerings.
These Inspector windows are provided with the demonstration:
-
Inspector1 - TestData
-
Shows the symbolic data presented to the fuzzy rule-base.
-
Inspector2 - RuleBase
-
Shows the variables and their values in the rule-base.
-
Inspector3 - RuleBase
-
Shows the rules and the value of the consequent clause.
-
Inspector4 - RuleBase
-
Shows the rule base output buffer.
Data Definition
The test data used in this application consists of financial information
on the company which is offering the bonds for sale.
Valid data fields are named and defined as follows:
-
Profit
-
The profitability of the company.
-
Capital
-
The current assets of the company.
-
Interest
-
The current interest rate.
-
Debt
-
The current debt of the company.
-
Rating
-
The relative rating of the bond offering calculated from the previously
listed data.
-
SymRating
-
The Rating of the bond offering converted to symbolic A, AA, or AAA.
Rule Base Development
The rule base was developed by first defining the fuzzy variables and their
associated fuzzy sets. Then the rules were written. The rule weights were
set to give reasonable answers to known test cases.
Testing the Fuzzy Rule-Base
Testing a fuzzy rule-base is similar to testing any application. A set
of known test cases is used to ascertain whether the rule base gives reasonable
answers to reasonable input values.
Presenting Data Interactively to the Rule Base
Complete the following steps to open a dialog window to present data interactively
to the rule base and to define field labels:
-
Select Dialog... from the TestData object pop-up menu.
-
Select the Labels push button.
-
Enter bndrte.xlt for the Translate template file name prompt.
The field labels used in the translate template will be used to label the
input fields.
-
Select the Set Names push button.
-
Press Next Record or Step to load the dialog input fields.
-
Enter values for the fields and select the Step push button to step the
module.
View the rule base output Inspector to see the results, and the variable
and rule Inspectors to see the internal state of the fuzzy rule-base for
the current set of input values.
Running the Rule Base
The bond rating application can be run using the NNU application delivery
environment, or as a stand-alone application in either batch, interactive,
or custom mode. It can also be embedded into an application. The custom
application would analyze financial data and provide the appropriate bond
ratings as specified by the fuzzy rule-base. For more information about
configuring run-time modules see 7.0, "The Application
Delivery Environment (ADE)". For information about embedding modules
into applications see the Neural Network Utility: Programmer's Reference
manual.
Topics Index
APIs