COSC-575: Machine Learning

Spring 2017



Where, When, Who

Class Time: MW 9:30–10:45 AM
Classroom: REI 264
Instructor: Mark Maloof
Office: 325 St. Mary's Hall
Mailbox: 329A St. Mary's Hall
Office Hours: In-person (325 STM): TR 11:00 AM–12:00 PM; online: M 10:30–11:30 AM and W 3:00–4:00 PM; or by appointment. Send me an email to get the Zoom link for online office hours.


This graduate lecture surveys the major research areas of machine learning. Through traditional lectures and programming projects, students learn (1) to understand the foundations of machine learning, (2) to design and implement methods of machine learning, (3) to evaluate methods of machine learning, and (4) to conduct empirical evaluations of multiple methods of machine learning. The course compares and contrasts machine learning with related endeavors, such as statistical learning, pattern classification, data mining, and information retrieval. Topics include Bayesian decision theory, instance-based approaches, Bayesian methods, decision trees, rule induction, density estimation, linear classifiers, neural networks, support vector machines, ensemble methods, learning theory, evaluation, and applications. Time permitting additional topics include genetic algorithms, unsupervised learning, semi-supervised learning, outlier detection, sequence learning, and reinforcement learning. Students complete programming projects using Java.

Prerequisites: Students should have taken undergraduate courses in computer science through data structures; at the very least, students must be able to implement trees and graphs in a high-level object-oriented programming language. Students should have also taken undergraduate courses in mathematics, such as calculus, linear algebra, and probability and statistics.

Primary Text:

Learning Goals

By the end of the semester, students will be able to:



  1. Introduction: Definitions, Areas, History, Paradigms
  2. Bayesian Decision Theory
  3. Instance-based learning: k-NN, kd-trees
  4. Probabilistic learning: MLE, Bayes' Theorem, MAP, naive Bayes, Bayesian naive Bayes
  5. Density estimation: Parametric, Non-parametric, Bayesian
  6. Evaluation: Train/Test Methodologies, Measures, ROC Analysis
  7. Decision Trees: ID3, C4.5, Stumps, VFDT
  8. Rule Learning: Ripper, OneR
  9. Midterm Exam
  10. Neural Networks: Linear classifiers, Perceptron
  11. Neural Networks: Multilayer networks, Back-propagation
  12. Support Vector Machines: Perceptron, Dual representation
  13. Support Vector Machines: Margins, Kernels, Training, SMO
  14. Ensemble Methods: Bagging, Boosting
  15. Ensemble Methods: Random Forests, Voting, Weighting
  16. Hidden Variables: k-means, Expectation-Maximization

Materials: Readings, Videos, and Links

Assignments and Grading

String Grades::getLetterGrade()
  if (grade >= 94)
    return "A";
  else if (grade >= 90)
    return "A-";
  else if (grade >= 87)
    return "B+";
  else if (grade >= 84)
    return "B";
  else if (grade >= 80)
    return "B-";
  else if (grade >= 67)
    return "C";
    return "F";
} // Grades::getLetterGrade

Other Interesting Links

Copyright © 2019 Mark Maloof. All Rights Reserved. This material may not be published, broadcast, rewritten, or redistributed.