Message Boards Message Boards

GROUPS:

Use machine learning, neural networks to predict tennis matches?

Posted 1 year ago
2371 Views
|
3 Replies
|
0 Total Likes
|

I use Wolfram Mathematica (WM) for my calculation but I'm not much familiar with neural networks, machine learning, etc. On the other hand, I know that WM includes such tools. I would like to learn this stuff just for operating on this level. I read some tutorials and I would like to try some practical problem. I would like to try to apply these tools to predict tennis matches. I read something about functions (I write function names with the first capital letter): Predict, Classify, TimeSeriesForecast, etc. But practically I need some combination of these functions. I have enough data, the results of many players. I suggested input of learning data like (vectorpalyer1),(vectorplayer2) -> (result) or something like that and then for prediction input (vectroplayer1),(vectorplayer2) and output (results). I would like to predict "a future", learn from previous results. Not just classify data. a) This input is definitely not good, because if I always give the winner as "player1", I assume that the network will learn to evaluate the first input as the winner. Sorting a player randomly doesn't come as a good idea. Does exist some good idea or function for such case? b) Is such a problem reasonably solvable by WM?

Thank you for all comments or suggestions.

3 Replies

In principle, NN can do well predicting future outcomes of events given history of previous similar events. If it weren't for conditionals, which they can approximate with sharp Tanh or other sigmoid functions, NN are Turning complete; meaning, I think they can compute any computable question. However, you might find better solutions with other algorithms, as in algorithms that run faster. I suggest you read some of the articles on fivethirtyeight.com about their methodology: https://fivethirtyeight.com/tag/methodology/. You might also consider the wikipedia article on the Elo rating system. You might find better algorithms.

More directly to your question at hand if you stick with the NN. If you have a universe of 2 players and you always put the winner of matches in the first input, I don't think it will learn that the first input is the winner if you train it right. If you train it on two matches with opposite results, it should return 50% odds for either player. If you feel paranoid about the question, you can include who won with the input and then randomize the order. You will probably also need to include the score. You could try {Away, Home, AwayScore, HomeScore, <other match data>} as your data input and W/L as your output.

I think it can be done. But I won't recommend it for starting. I would start with the tutorial on LeNet: https://reference.wolfram.com/language/tutorial/NeuralNetworksOverview.html Then from there, you might consider the numeric regression problem, "Predicting from Numeric Data." Then from there, maybe turn back to tennis matches.

Posted 1 year ago

Thank you very much. I try to learn something and then I will see.

When it comes to machine learning and neural networks, you should be well versed with Logistic Regression and Loss Functions in Deep Learning. https://www.fingent.com/blog/machine-learning-deciphering-the-most-disruptive-innovation-infographic Hope this helps.

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract