Chess Puzzle Classifier

Using machine learning to predict puzzle categories

By: Barak Finnegan, Tanvi Haldankar, James Park

Project Abstract

This work compares four different machine learning approaches in classifying chess puzzles. We trained Support Vector Machine (SVM), Deep Feed Forward Neural Network (DFFNN), Convolutional Neural Networks (CNN), and ensemble models and compared how they performed on classifying tasks. The Deep Feed Forward Neural Network performed best out of the three approaches, while the Support Vector Machine and Convolutional Neural Network performed similarly but worse. The ensemble model had a higher true accuracy but predicted a single theme worse than other models. In the future, this work could be expanded to take in a full game from any user and determine where puzzle positions arose.

Final Paper

Chess_Puzzles.pdf

Demonstration Video

Our team member, Tanvi, showcases our project!

Final Presentation

Our final presentation for this class.

Final Presentation

Support Vector Machine

A Support Vector Machine is good at generalization and avoids overfitting.

Deep Feed Forward NN

A Deep Feed Forward Neural Network allows us to approximate a classifier while making no assumptions about our input data.


Convolutional NN

A Convolutional Neural Network allows us to take spatial structure of input data into account.

Data Analysis

Analysis heat maps of the kings for different positions, and the distribution of puzzles to gain insight on the makings of chess puzzles.


Final Results

The performance of each respective model.

Deep Feed Forward NN

This model accurately predicted its highest probability class over 94% of the time!

Support Vector Machine

This model performed at a 73% accuracy.

Convolutional NN

This model accurately predicted its highest probability class 76.4% of the time.

Questions?

Contact us to get more information on the project

Source Code