These are all the Python programs I wrote for my AI class assignments. These were all written in Google Colab, so if you try to run these yourself, you'll have to change the file import lines so that it's looking for the files in the right place.
This assignment is all about using search algorithms to find a path from a start node to a goal node on a graph such as this one:
It has implementations of Depth First Search, Breadth First Search, and A* Search with two different admissable heuristics. Additionally, there are three different graphs of increasing size.
This assignment focused on implementing three different machine learning algorithms: linear regression with basis functions, naive bayes, and k-means clustering for image compression. The following images show the final results of linear regression with first, second, third, fourth, and fifth order polynomial basis functions.
And the follwing images show the output of the k-means clustering algorithm for k=2, k=3, k=10, k=25, and k=50.
There's not really any cool outputs for the naive bayes algorithm, and although I implemented it correctly, it didn't work very well for the example problem given.
This assignment was all about convolutional neural nets and finding optimal parameters for them. We were tasked with training networks to recognize hand written digits from the MNIST dataset as well as evaluating the performance of the LeNet architecture on the CIFAR-10 dataset. See the notebook for more details.