This is a undergraduate-level introductory course in machine learning (ML) which will give a broad overview of many concepts and algorithms in ML, ranging from supervised learning methods such as support vector machines and decision trees, to unsupervised learning (clustering and factor analysis). The goal is to provide students with a deep understanding of the subject matter and skills to apply these concepts to real world problems. The course is taught by Erkut Erdem - the teaching assistant is Necva Bolucu.
Lectures: Mondays at 16:00-16:50 and Wednesdays 09:00-10:50 (Zoom)
Tutorials: Tutorials: Fridays at 16:00-18:00 (Zoom)
Policies: All work on assignments must be done individually unless stated otherwise. You are encouraged to discuss with your classmates about the given assignments, but these discussions should be carried out in an abstract way. That is, discussions related to a particular solution to a specific problem (either in actual code or in the pseudocode) will not be tolerated.
In short, turning in someone else’s work, in whole or in part, as your own will be considered as a violation of academic integrity. Please note that the former condition also holds for the material found on the web as everything on the web has been written by someone else.
The course webpage will be updated regularly throughout the semester with lecture notes, presentations, assignments and important deadlines. All other course related communications will be carried out through Piazza. Please enroll it by following the link https://piazza.com/hacettepe.edu.tr/spring2021/bbm406.
BBM406 is open to third/fourth-year undergraduate students. Non-CENG graduate students should ask the course instructor for approval before the add/drop period. The prerequisites for this course are:
Grading for BBM406 will be based on
Grading for BBM409 will be based on
Date | Topic | Notes |
Feb 22 | Course outline and logistics, An overview of Machine Learning [slides] | Reading: The Discipline of Machine Learning, Tom Mitchell Video 1: The Master Algorithm, Pedro Domingos Video 2: The Thinking Machine Tutorial: Python/numpy |
Feb 24 | Machine Learning by Examples, Nearest Neighbor Classifier [slides] | Reading: Barber 1,14.1-14.2 Demo: k-Nearest Neighbors |
Mar 1 | Kernel Regression, Distance Functions, Curse of Dimensionality [slides] | |
Mar 3 | Linear Regression, Generalization, Model Complexity, Regularization [slides] | Assg1 out Reading: Bishop 1.1, 3.1, Stanford CS229 note Demo: Curve fitting |
Mar 8 | Machine Learning Methodology | |
Mar 10 | Learning Theory, Basic Probability Review | |
Mar 15 | Statistical Estimation: MLE | |
Mar 17 | Statistical Estimation: MAP, Naïve Bayes Classifier | Assg1 due |
Mar 22 | Logistic Regression, Discriminant vs. Generative Classification | |
Mar 24 | Linear Discriminant Functions, Perceptron | Assg2 out |
Mar 29 | Multi-layer Perceptron | |
Mar 31 | Training Neural Networks: Computational Graph, Back-propagation | Course project proposal due |
Apr 5 | Introduction to Deep Learning | |
Apr 7 | Deep Convolutional Networks | Assg2 due |
Apr 12 | Support Vector Machines (SVMs) | |
Apr 14 | Soft margin SVM, Multi-class SVM | Assg3 out |
Apr 19 | Midterm review | |
Apr 21 | Midterm exam | |
Apr 26 | Kernels, Kernel Trick for SVMs, Support Vector Regression | |
Apr 28 | Decision Tree Learning | Assg3 due |
May 3 | Ensemble Methods: Bagging, Random Forests | |
May 5 | Ensemble Methods: Boosting | Project progress reports due |
May 10 | Clustering: K-Means | |
May 12 | No class | |
May 17 | Clustering: Spectral Clustering, Agglomerative Clustering | |
May 19 | No class | |
May 24 | Dimensionality Reduction: PCA, SVD, ICA, Autoencoders | |
May 26 | Project presentations, Course wrap-up | Final project reports due |