California Scientific

California Scientific
1000 SW Powell Ct
Oak Grove, MO 64075
Sales@CalSci.com
916-225-5119
California Scientific  *  BrainMaker Neural Network Software  *  Predict Forecast Classify Stocks Bonds Markets Commodities Diagnose Medical

BrainMaker Neural Network Software

A Brief Tutorial for Competitor

We're not expert handicappers. However, over the years of giving technical support, we've picked up a few things. So, here's what we know:

General Steps:

1. Create a file with horse racing information, including what you think is significant data and the outcomes of the races. 2. Train the neural network. 3. Create a data file for which you want predictions. 4. Run the neural network.

Step 1. Create a data file.

It's probably unrealistic to hope to build a network which picks the winners for all nine races each day. Our successful customers specialize on a particular type of race, e.g. two-year-olds, harness, quarter horses, etc.

You have to get some data on some races. You need data on at least about 50 races; 200 races would be preferable. For each race, you need to know the final finish order of the horses, and you need to know information about each horse in the race that you think can be used to predict the finish order. If you can't get complete information on the horses, you can't use that race for training. This data can be typed in from old racing forms, but you'll probably prefer to buy it on-line. Data services advertise in your racing form. One such company is BloodStock.

The basic idea is to show BrainMaker data for each horse which will help predict it's performance. First, eliminate irrelevant data: the horses name, for example. Exactly what is relevant is up to you, but here's some stuff other customers have used:

last practice time
track record for this class
finish position for last three to five races
seconds behind first place for last three to five races
last race position at first post, at second post, at third post
last race speed at first post, at second post, at third post
Jockey's overall win/loss record
Jockey's win/loss record in last ten weeks
Stable's overall win/loss record
Stable's win/loss record in last ten weeks
finish position on last bad track
finish position on last good track

These are not so much the "right" data to show the network, but rather suggestions of particular types of data. Here's some things to keep in mind:

Horses have psychology. Some are very fast, but cannot lead. Some practice poorly, but are very competitive and are always contenders. Also, like people, horses have good days and bad days. It's worth telling BrainMaker how the horse looked at the gate if you can get that information for the historic races.

Some horses are more powerful and will tend to do better in short races or on bad tracks (Carl Lewis looks like abody builder, and has incredible acceleration and speed for 100 yards). Some horses have better aerobic conditioningand will tend to have better finishes in longer races (your typical marathon winner can barely do a pushup, and is really not so great at 100 yard dashes). Speeds at the 1/4, 1/2, and 3/4 marks will reflect these differences: a more powerful horse will be heavier and leave the gate quickly, build speed quickly, but have little left to hold off a late challenge in a longer race. A better conditioned horse will perhaps be lighter and not as impressive out of the gate or at the first post, but will build speed throughout the entire race and finish very strongly, allowing it to make a strong challenge at the end of a longer race. These considerations are worth remembering when comparing 5/8, 3/4, and mile races.

Jockeys, trainers, and owners count. Some combinations of these people seem to consistently get 105% out of their horses, and some seem to consistently get 95% out of their horses.

Whenever available, seconds behind or lengths behind the leader is better than position. Running in 2nd place 12 lengths behind the lead horse is much worse than running in 6th place 1 length behind the leader.

Use an editor to enter your data in the following manner for several horse races. Enter the horses in the order in which they finished. If you need an editing program, we recommend you use the editor from Textpad.com. In the following example, I've made up data - this is not from any races, ever. I'm using nine indicators, which are, in order, last practice lap time in seconds, finish position in the horse's previous race, finish position in the race before that, finish position in the race before that, The seconds behind the winning horse in each of those three races, and the odds in this race.

lpt   fp1   fp2   fp2   sb1   sb2   sb3	 odds
118 5 4 3 4 2 1 11
115 2 5 6 1 3 4 4
117 6 5 7 8 4 9 22
116 4 3 4 4 2 2 7
116 4 2 2 2 1 1 3
113 1 2 1 0 1 0 2
121 7 6 5 7 6 5 26


118 5 4 3 4 2 1 11
115 2 5 6 1 3 4 4
117 6 5 7 8 4 9 22
116 4 3 4 4 2 2 7
116 4 2 2 2 1 1 3

Each column contains indicators that you believe influence the outcome of a race, such as post position, fastest time, etc. The first horse race has seven entries, the next horse race has five entries. The number of entries can vary for each horse race you enter. You must enter a blank line between each horse race. The more races you enter, the longer the neural network will take to train. However, note that the more races you enter and have a network successfully train, the better your results should be. Save the file with a name (such as horse.dat) and exit the editor.

Step 2. Train the neural network.

Before you can train the neural network, you must run Competitor. To run Competitor, double- click the Competitor icon. Select Create and Train Network. To enter data file, type horse.dat and press Enter. A BrainMaker icon appears in the lower left of the screen. This tells you that Competitor is working. Wait until this icon disappears and the BrainMaker window reappears. You have finished training a neural network for horse racing. You typically only have to do this once unless you want a separate neural network for every situation for which you want predictions.

While BrainMaker is training your network, you can open up the BrainMaker window. Just click on the BrainMaker tab on your start bar. If you're having trouble training, this is a very good idea. While BrainMaker is open you can use Display / Show Histograms to see how the network is doing. Most competitor problems are due to BrainMaker being unable to train, and the histograms will make that problem very visually clear.

Step 3. Create a data file for which you want predictions.

Use an editor such as TextPad, DOS Edit, Windows Notepad or Write and enter your data in the following manner for several horse races. The order of horses is irrelevant because you do not know what the order is.

118	   5	 4	   3	 4		2	 1	  11
115 2 5 6 1 3 4 4
117 6 5 7 8 4 9 22
116 4 3 4 4 2 2 7
116 4 2 2 2 1 1 3

The columns must correspond to the data you used for training the neural network. For instance, column 1 data is the same category, column 2 data is the same and so forth. The number of entries is just the number of horses in the race. Save the file with a name (such as newhorse.dat) and exit the editor.

Step 4. Run the neural network.

Before you can run the neural network, you must run Competitor. To run Competitor, double- click the Competitor icon. Select Run Trained Network File. To specify the data file, type newhorse.dat and press Enter. To specify the network file, enter horse.net and press Enter. A BrainMaker icon appears in the lower left of the screen. This tells you that Competitor is working. Wait until this icon disappears and the Competitor dialog box appears. You have finished running the trained neural network. A window displays the prediction. The entry numbers correspond to the order in which you entered the horses. For instance, the first horse you entered in #1, the second is #2, and so forth. You do this for every race for which you want a prediction.

Good Luck!