PDA

View Full Version : HELP - Horse Racing AI System using Neural network with Backpropagation learning


wesmip1
30th July 2007, 09:46 PM
All,

While I have developed a AI program in the past for racing I am of he opinion I could have done it better.

I am starting out writing a new program using a neural network with backpropagation as a learning method.

I have gone through and worked out how to weight everything so that each value has a ranking using a simple weighting method.

I am interested to hear how other people have gone trying this method ? Is backpropagation the right learning method to use ? What are the issues you ran into ? How much data should be used (I have races from 1991 - 2007)? What is the best training data to use ?

Should I try finding a general technique that may work over any track or should I specialise to tracks ? My research indicates specialisation might be the better method.

Any help would be appreciated.

Good Luck

Chrome Prince
31st July 2007, 02:00 AM
Hi wesmip1,

I think that you need to specialize in one area, or segregate areas and run them as seperate entities.
I don't think that you'll ever find a "one size fits all" for every scenario.
Certainly you have enough data to make informed decisions.
Unfortunately, I can't advise on backpropogation, as I'm not entirely sure what you mean, but if you mean "back rating", I see no problem given the amount of data you have.

Best of luck with it, keep us posted.

syllabus23
31st July 2007, 06:41 AM
Backpropagation

Hmmm Wes,,I suggest you avoid this method.It can be hell on the haemorrhoids..so they tell me.

wesmip1
31st July 2007, 06:52 AM
Backpropagation is a supervised learning technique used for training artificial neural networks.

Essentially (i stole this from wikipeida)

Summary of the technique:

Present a training sample to the neural network.
Compare the network's output to the desired output from that sample. Calculate the error in each output neuron.
For each neuron, calculate what the output should have been, and a scaling factor, how much lower or higher the output must be adjusted to match the desired output. This is the local error.
Adjust the weights of each neuron to lower the local error.
Assign "blame" for the local error to neurons at the previous level, giving greater responsibility to neurons connected by stronger weights.
Repeat the steps above on the neurons at the previous level, using each one's "blame" as its error.
The reason I have chosen it is that it is good for complex problems where there is a need for generalisations of the problem. All this means is it can handle similar data which may/may not come to the same result.

I guess you could say it is similar to a back rating but much more complex as it learns the rating itself.

Good Luck.

Bhagwan
31st July 2007, 10:14 AM
I hope you have plenty candles, you are going to need them.
There are millions of different permutations one could do .

I used the GTXi system from TRB.
I have found that such a thing works best if it has a prepost market to set the basics against e.g. Top 5 6 7 8 in the rankings ect.
This gets rid of a lot of unexplainables .

I found what works on Metro tracks often is different to Country & different again to Provincial.

I feel 4 years data is a min to work with to sort a long range pattern.
Maybe work in blockes of past 15,000 horses. then update on a monthly basis.
So that it is always the last 15,000 horses, no more.
Because what happened 60,000 horses ago, may not be relevent today.

We are dealing with ever shifting sands.

Try & find a recurring factor that is common to the majority of the sample.
e.g. Top 7 in prepost
e.g. Races with 9-15 runners
e.g.Delete short payers as per pre-post market at a price determined by you.
e.g. Maybe delete Jockeys & Trainers with a low SR percentage at that track that track

Try having the system interrogate say
Monday only , then Tues, Wed ect.
see if there is a patteren.
Past 15,000 horses for each final analysis.
Maybe delete Maiden races.

Once you have your final selections, one may notice that the majority of winners will fall in the SP $3.00-9.00 range & outside this range, a lot will fall over.
So at the expence of a few winners , one may be better off only betting within this range, when the real money is going down.

Try & look at the final top 2 selections , not just the top selection if possible , this will tell you if you are close to the mark percentage wise or not.

I found the best profits were made on tracks rated worse than good for some reason.
I ignored all wet track performance form for that track condition for my data, it worked better that way , for whatever reason ,I found a horse performing on a wet tracks for the first time performed better than horses with wet track experience.
And even better again, against horses who have run & failed in the coditions.

If one is using multiple systems that pull up the same horse 2 or more times , I have found it to be more profitable to bet this as a single horse selection only, because just because it is mentioned say 3 times by 3 systems, it is not cost effective, profit wise to bet it as if it has 3 times the chance.
so every 2 extra bets saved added 2% to the bottom line.

One should be trying to get to a stage where the top selection has a 25% SR if possible so as to reduce the long runs of outs which is to be delt with in punting at some stage.
I stop at 9 outs, then continue after a result is struck. Works for me.

Once you have got the 25% , only try & bet where one can get value because its the low prices that will kill you in the long run anything under $3.20 I consider low.

Try & work your top 2 selections around value where possible.
One way to do this if you like the chanes & prices of both, is split the bet up 60% on the shorter price & 40% of the bet on the longer price.

If one of your top 2 selections blows out to $40 say .
Maybe bet the lot on the stronger market chance horse of your selections.

Doing it this way normally reduces the chances of long runs of outs which kills most systems.
You wont see many $20 system horses getting up long term so its an idea to have a cut off of say $28 in the market .

Cheers,

wesmip1
31st July 2007, 09:01 PM
Bhagwan,

Thanks for the post. A lot of useful information in there.

Much appreciated.

Fryingpan
8th August 2007, 03:52 AM
Wesmip1

I have no knowledge of the resources you will use to do this stuff, but I was thinking if I was able to construct something what kinds of things would I try to do?

1 I thought about the pareto rule, you know, 20/80 ratio that seems to exist in many things. So if there was a nugget of finding to be had something that happens 80% of the time, and not 20% of the time would be very handy to discover.

2 Using a certain race, eg, maidens, and seeking out something out of that set of races rather than adding them to the rest of the class races or vica versa. That way there might be a sort of interesting outcome in an area that may (I'm not sure) have little research in but could have the least affected, (or most affected) punting biases.

3 Using a certain winner. By this I mean you look at a good horse with good credentials and then check it's neural 'profile' and then try to impose these criteria on the rest, to see if they actually come up with something.

4 Whether there are convergences that weren't thought of before. Say with those TAB tipters picking stats you have generously offered to people on this forum, is there some other external (to the tipsters) factor that converges and makes it more likely to have a winning result.

5 I can only think of the making of concrete to explain this, but have a sort of grading envelope. In concrete there are rocks and pebbles of many sizes, but they have been crushed to be within a range of size and weight to be ok in the wet mix. In the same way come up with a grading envelope that says the winners are within a set of two ranges usually. And other pairs of envelopes.

6 not sure if this is about sucking eggs but it's a research page on similar themes using greyhounds
h t t p : //ai.arizona.edu/papers/dogs93/dogs93DOTh t m l

Stix
8th August 2007, 06:52 AM
...............We are dealing with ever shifting sands.............
It's back........ the "Shifting Sands" cliche' ...... it's been a while, but it's back.... good work Bhagwan.... here I was thinking this cliche/racing term had been retired - not by you specifically Bhagwan.... the forum in general....... good work, hope more people re discover this ripping little racing 'term'.... :D

No offence intended Bhagwan....... just excited to see 'it' back.... ! :D