For all the examples, test programs and assignments
Each of the Lab-*
assignments contain their own README.md
file to describe
the assignment, our approach and the results obtained.
The problem statement about the assignments are provided with the assignments.
This repo can be useful for self learning and later reference about the algorithms and libraries.
-
We started with learning about Expectation Maximization and Maximization Likelihood Expectation.
-
We then learned about search algorithms and A-star and how we can create different heuristics for a give search problem.
-
Then we learned about Deduction Theorem and Knowledge Base. We learned how we can apply rules on our Knowledge Base to deduce new results. We learned Prolog as our logic programming language. Two different problems are given in assignment 3, one using Prolog and other using our hand made parser to read the logic expressions.
-
Then we learned about Fuzzy Logic and implemented a program in assignment 4 to control and balance a inverted pendulum by applying a current value of which is calculated using fuzzy logic.
-
In our 5th assignment, we learned about search algorithms other than A-star and implemented the code for problem statement which was same as that of assignment 2 but using Hill Climbing and Simulated Annealing.
-
We then learned about Decision Trees and different properties of decision trees. We solved the assignment 6 using C4.5 algorithm using scikit-learn library.
-
We then learned about Neural Networks and implemented some basic problems like implementation of XOR and then some problems which required a larger dataset. We used different libraries like pyTorch and Keras so that we can compare their results.
Links to all the datasets used and list of all the libraries are also provided.
We used Jupyter Notebook for most of the assignments with python3 and the use of the same is recommended.