Skip to content

michail-p/AI-Masters-Projects

Repository files navigation

AI Masters Projects

A collection of academic projects completed during the AI Masters program at Umeå University.


📁 Projects Overview

Project Description Technologies
Answer Set Programming Logic programming for argumentation frameworks ASP, Clingo, Python
Deep Learning 1 CNN-based facial emotion recognition on AffectNet with training and evaluation scripts Python, TensorFlow, Keras
Deep Learning 2 Manual backpropagation and gradient descent in JAX for regression and classification models Python, JAX, matplotlib
Machine Learning 1 Supervised learning assignment with classification and regression Python, scikit-learn, Jupyter
Machine Learning 2 Neural networks, PCA, and clustering across California Housing, Wine, and MNIST Python, scikit-learn, TensorFlow, Jupyter
Machine Learning 3 Human activity recognition with classical models and raw-signal deep learning Python, scikit-learn, TensorFlow, Jupyter
Fashion Article Classification Image classification using k-NN and neural networks Python, scikit-learn, TensorFlow
Othello Game AI engine with Alpha-Beta pruning Python, Minimax, IDS
Reinforcement Learning Bandit benchmarking and multi-agent Pong with Q-learning Python, pytest, ma-gym
Spin the Wheel Full-stack web application prototype Spring Boot, Angular, Firebase
Statistics Statistical inference analysis R, tidyverse
LLM Backend FastAPI backend for educational game with LLM-powered hints Python, FastAPI, Hugging Face

📂 Project Details

Course: AI-2 (5DV181) – Logic Programming

Implementation of argumentation semantics using Answer Set Programming (ASP). Includes conflict-free sets, admissible sets, stable extensions, and preferred extensions. Features both declarative ASP encodings and an imperative Python solver for performance comparison.

Course: Deep Learning

Facial emotion recognition using a Convolutional Neural Network (CNN) trained on the AffectNet dataset. Includes:

  • Custom CNN architecture implemented in Keras
  • Four-class emotion recognition: Happy, Sad, Surprised, and Mad
  • Training, validation, and test evaluation on AffectNet emotion data
  • Visualization of loss and accuracy curves
  • Provided environment YAML for reproducibility

Model file: affectnet_emotion_cnn.keras

Course: Deep Learning (5DV236)

Backpropagation assignment implemented with JAX and the course jaxon library. The project focuses on composing layer Jacobians into full gradients and then training models with manual gradient descent.

  • Manual backpropagation through model layers
  • Gradient descent for a linear regression example
  • Gradient descent for a feed-forward multiclass classifier
  • Learning-curve generation and written report

Course: Machine Learning

Classification of fashion items from the Fashion-MNIST dataset using:

  • Custom k-Nearest Neighbors (k-NN) implementation
  • Dense Neural Network (Multilayer Perceptron)
  • Hyperparameter tuning and model evaluation

Course: Machine Learning (5DV238)

Foundational supervised learning assignment covering:

  • Classification on the Breast Cancer Wisconsin (Diagnostic) dataset
  • Regression on the California Housing dataset
  • Model training, evaluation, and comparison using scikit-learn

Course: Machine Learning

Second machine learning assignment covering neural network regression on California Housing, PCA on Wine and MNIST, and custom/scikit-learn K-Means clustering analysis.

Course: Machine Learning (5DV238)

Third machine learning assignment focused on human activity recognition using the UCI HAR smartphone dataset. The project compares classical models on engineered features with raw inertial-signal experiments, including a 1D CNN for sequence modeling.

♟️ Othello

Course: Artificial Intelligence (5DV243)

A competitive Othello (Reversi) game engine featuring:

  • Alpha-Beta pruning with iterative deepening search
  • Custom position-weighted heuristic evaluation
  • Transposition tables and move ordering optimizations
  • Time-controlled search within specified limits

Course: Reinforcement Learning

Hands-on reinforcement learning project with two parts:

  • Multi-armed bandit evaluation against an epsilon-greedy reference baseline
  • Multi-agent Pong (PongDuel-v0) using a tabular Q-learning style agent
  • Optional rendering, recording, and GIF export for episode analysis

Course: Software Engineering / Prototype Development

A full-stack "Spin the Wheel" application with:

  • Backend: Spring Boot 3.x REST API with OpenAPI documentation
  • Frontend: Angular 19 SPA with slot machine UI components
  • Firebase integration for data persistence

Course: Statistics for Engineers

Statistical analysis investigating the impact of structured micro-breaks on workplace productivity. Includes hypothesis testing, paired t-tests, effect size calculations, and data visualization.


🛠️ General Requirements

  • Python 3.10+ (for ML, ASP, and Othello projects)
  • Java 17+ (for Spin the Wheel backend)
  • Node.js 18+ (for Angular frontend)
  • R 4.x (for Statistics project)
  • Clingo 5.x (for ASP project)
  • Gym/ma-gym + Pillow (for RL Pong environment and GIF export)

👤 Author

Michail Pettas
Umeå University – AI Masters Program


📄 License

These projects are academic assignments. Please respect academic integrity policies if referencing this work.


Standalone Project

Backend API for an educational game platform, built with FastAPI. Provides endpoints for curriculum, game logic, user modeling, and AI-powered hint generation using large language models (LLMs) via Hugging Face. Designed to support a frontend for interactive learning experiences.

  • RESTful API for game and curriculum management
  • Integration with Llama-3-8B-instruct via Hugging Face Inference API
  • In-memory session storage for local development
  • Docker and local run support

See project README for API details and usage instructions.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors