Hello sports fans! Last year, if you recall, I posted a very brief series of blogs about me creating a computer program based on machine learning to pick the NCAA bracket. Well, if I remember, the only things it did well was pick the first round and one of the national finalists (Gonzaga). Not bad for a first go at something unproven. This time, however, I’m doubling down, in more ways than one.
First, in my quest to learn more about this subject, I’ve expanded my knowledge of AI, towards the black box that is “Deep Learning”, basically neural networks that are bigger, deeper, and use a bunch of techie and math techniques that would take way too much time to explain, and make no sense to a lot of people. The bottom line is, I’ve hopefully learned enough to make my bracket-picking bots better.
Second, I’ve created TWO bots to do my bracket bidding. Each one is based on a different way to predict the winners. The inputs for both of my bots are the same: Season statistical data for the two teams, as well as the ranking scores in 6 different ranking metrics(RPI, Sagarin, Massey, Pomeroy, SOS, and Tourney Seed). The first bot, a more traditional network, estimates the probability that a team will win a game. I call the bracket the “Sigmoid Bracket”. The other bot works by predicting the final score of the games. I’m calling the bracket this bot creates the “Identity Bracket”. Yes, those names suck, but they’re my brackets, so nyah.
Both of these brackets predicted vastly different tournament outcomes. The “sensible” bracket, which tended more often to pick along seed lines, was the score-based Identity Bracket, while the Sigmoid Bracket picked a lot more upsets in the first 2 rounds. So that’s what I’m using in my upset pools. So, without any adieu, click on pages 2 and 3 to see my computer-generated brackets!