/AI-CourseProjects

Primary LanguageJupyter Notebook

Artificial Intelligence Course Spring 2024

This repository contains a collection of AI projects completed as part of the AI Course SP2024 University of Tehran (CEUT). Each project covers different aspects of artificial intelligence, from genetic algorithms to reinforcement learning. Below are the details of each project.

Project Descriptions

  1. CA1: Genetic Algorithm
  2. CA2: Hidden Markov Model (HMM)
  3. CA3: Clustering
  4. CA4: Machine Learning
  5. CA5: Neural Networks (NN)
  6. CA6: Reinforcement Learning (RL)

Description: This project involves building a genetic algorithm to solve a fractional knapsack problem with additional constraints such as minimum value and a range of items to choose from.

Features:

  • Genetic algorithm implementation
  • Custom constraints for knapsack problem

Results:

Genetic Algorithm Results Different Methods

Genetic Algorithm Results Hyper Prameters

Description: In this project, we trained a Hidden Markov Model (HMM) to predict the voice of a person saying a certain number and to recognize the exact number said by the person.

Features:

  • HMM training for voice prediction
  • Number recognition using HMM

Results:

HMM Results Number

HMM Results Person

Description: This project involves using various clustering algorithms (K-means and DBSCAN) to categorize different pictures of flowers into groups. Dimensionality reduction techniques were also applied to see the impact on the clustering results.

Features:

  • Clustering with K-means and DBSCAN
  • Dimensionality reduction and analysis

Results:

Clustering Results

Description: This project involves using various machine learning algorithms to predict house prices in Boston. The process includes data exploration, preprocessing, and application of multiple methods such as regression, KNN, decision trees, random forest, XGBoost, and SVM.

Features:

  • Data exploration and preprocessing
  • Application of multiple machine learning algorithms
  • Comparative analysis of different models

Results:

Model Performance Regression

Model Performance DTree

Description: This project involves training a Convolutional Neural Network (CNN) model to detect suicidal tweets using Word2Vec for word embeddings and CNN for classification.

Features:

  • Word2Vec embeddings
  • CNN model for tweet classification

Results:

CNN Model Performance Accuracy

CNN Model Performance Confusion Matrix

Description: In this project, we trained a snake model to compete in a 1v1 scenario using approximate Q-learning. The method involves defining a feature set and updating weights based on the game's progress.

Features:

  • Approximate Q-learning implementation
  • Feature set definition and weight updates

Results:

RL Model Performance

Contributing

Feel free to fork this repository, open issues, or submit pull requests. Any contributions are welcome!