Graph Theoretical Label Propagation for Image Classification

Graph Theoretical Label Propagation for Image Classification

graph theory

weak supervision

image classification

Python

Key-words

Resources

GitHub

Overview

This project was realized in the contex of the course 'Statistical Machine Learning' taught by Guillaume Obozinski at EPFL. We investigate a type of semi-supervised learning algorithm designed to efficiently tackle binary and multi-classification problems with a very low proportion of labeled data. More precisely, we introduce and study the functioning of label propagation via diffusion on a graph. We evaluate the introduced model by interpreting new results based on the problem of classifying hand-written digits. This work will strengthen the a priori supposition that this label propagation method proves promising when compared to other models, in the case where only a small amount of labeled data is available.

Approach

We make use of almost no external libraries for the graph label propagation algorithms, as the scope was to make a from-scratch implementation of those. For comparing with other methods, we use standard libraries, including scikit-learn. Finally, plotly is used for everything that is visualisation-related.