Neural networks for sports betting I want to design a neural network that can be used for predicting sports scores for betting, specifically for American football.  What I’d like to do is create a kind of profile for each game based on the specific strengths and weaknesses of each team.

For example, let’s say two teams have the following characteristics:

Team A:


Passing Offense Rating: 5
Rushing Offense Rating: 2


Team B:


Passing Defense Rating: 3
Rushing Defense Rating: 4


I’d like to be able to search for historical games where two teams have similar profiles.  I could perhaps then narrow it down to games with profiles that have statistically significant historical outcomes (i.e., certain types of matchups are likely to result in similar results).

In reality, I’d have dozens of team characteristics to compare.  I would then need to assign weights of importance to each characteristic, which could be used to further ensure effective selection of similar games.

I think I could do this like a convolutional neural network where there is an additional filter applied to the characteristics for the weights.  Are there any other ways that are specifically applicable to this strategy?
This is probably not going to work well as a way to make money. People with far larger budgets, and far more training, are already milking out any money to be made this way. This is probably their day job, and they are good at it.

That said, here are some ideas:


You do not need or want to use a convolutional network for this. Convolutional networks are useful when you want to detect a pattern invariant to translation in complex inputs. The only translation you have is that the teams could appear in either order. Just input them in both possible orders if this is a concern.
You want to find similar games. You do not need or (generally) want to use a neural network to do this. As a starting point, normalize the features and compute the nearest neighbors of an input point directly. Algorithms for doing this are fast and will return all similar points. You can even (with small modifications) output the degree of similarity as a numeric value.
If you want to predict who will win, you will probably have much better luck doing that directly. Build a feed-forward neural network that predicts which team won from the features you gathered. This is a routine classification task, and the resulting model will probably work better than finding similar games and then trying to manually determine what to do.
If you care about scores instead of just who won, use a feed forward network for regression instead of classification. The task is almost identical.