Welcome to my collection of AI projects from the Harvard Artificial Intelligence with Python course. These projects demonstrate my proficiency in various AI concepts, algorithms, and problem-solving techniques, showcasing practical applications of artificial intelligence using popular libraries such as Scikit-Learn, Pandas, and TensorFlow.
This repository contains 12 projects, each focusing on different aspects of artificial intelligence, including machine learning, natural language processing, search algorithms, and more. Below is a brief description of each project and the AI concepts it explores.
-
Attention: Implementation of an attention mechanism to enhance model performance in various tasks, such as text generation and translation.
-
Crossword: A backtracking algorithm to solve crossword puzzles, demonstrating constraint satisfaction problems (CSP).
-
Degrees: Uses breadth-first search (BFS) to find the shortest path (degrees of separation) between actors in the IMDB dataset.
-
Heredity: Bayesian network implementation to predict the likelihood of a person having a genetic trait based on family history.
-
Knights: A logic-based puzzle solver using propositional logic to solve the "Knights and Knaves" puzzle.
-
Minesweeper: An AI agent that plays Minesweeper using probabilistic reasoning and logical inference.
-
Nim: Implementation of a Q-learning agent that learns to play the game of Nim through reinforcement learning.
-
PageRank: Simulation of the PageRank algorithm, the foundation of Google's search engine ranking system, using random walk and matrix factorization methods.
-
Parser: A natural language processing (NLP) parser using context-free grammars to parse and understand sentence structures.
-
Shopping: A machine learning model that predicts customer shopping behavior, including classification tasks to identify potential buyers.
-
TicTacToe: Implementation of a minimax algorithm for playing Tic-Tac-Toe, ensuring the AI plays optimally against human opponents.
-
Traffic: A convolutional neural network (CNN) trained to recognize and classify traffic signs from images using TensorFlow and Keras.
- Scikit-Learn: Used extensively for building and evaluating machine learning models, including classification, regression, and clustering tasks.
- Pandas: Utilized for data manipulation, cleaning, and analysis, making it easier to handle datasets and extract meaningful insights.
- TensorFlow: Implemented for deep learning tasks, particularly for constructing and training neural networks, such as in the
Traffic
project for image classification.
- Comprehensive AI Techniques: Each project demonstrates a different AI technique, providing a wide-ranging overview of artificial intelligence capabilities.
- Well-Documented Code: All projects include comments and explanations to aid understanding and demonstrate coding practices.
- Scalable: The projects are designed to be scalable, allowing for further development and exploration.
- Practical Applications: Each project focuses on solving real-world problems, making the theoretical knowledge of AI applicable.