CS471-Machine-Learning

Course Description:

Machine Learning is concerned with computer programs that automatically improve their performance through experience (e.g., programs that learn to recognize human faces, recommend music and movies, and drive autonomous robots). This course covers the theory and practical algorithms for machine learning from a variety of perspectives. We cover topics such as decision tree learning, neural networks, statistical learning methods, unsupervised learning and reinforcement learning. The course covers theoretical concepts such as inductive bias, the PAC learning framework, Bayesian learning methods, and Occam’s Razor. Programming assignments and labs include hands-on experiments with various learning algorithms. This course is designed to give a graduate-level student a thorough grounding in the methodologies, technologies, mathematics, and algorithms currently needed by people who do research in machine learning.

Labs Description:

I have uploaded all the practice labs that I solved during this course. These labs provide hands-on experience focusing on the core concepts ,and anyone who is beginning his/her Machine Learning journey can benefit from these labs.

Lab content:

  • Lab_1: Python, data loading
  • Lab_2: Decision Trees
  • Lab_3: K-Nearest Neighbors
  • Lab_4: Model Selection and Experimental Design
  • Lab_5: Perceptron
  • Lab_6: Linear Regression
  • Lab_7: Stochastic Gradient Descent / Logistic Regression
  • Lab_8: Feature Engineering
  • Lab_9: Regularization
  • Lab_10: Neural Network
  • Lab_11: Back propagation
  • Lab_12: Naive Bayes
  • Lab_13: Kmeans