Machine Learning
    CAP5610, Spring 2016

Time: M/W 19:50 - 21:05
Place: PG6 115 (map)

Instructor: Ruogu Fang (
    Office: ECS 333
    Phone: (305)348-7982
    Office Hours: M 18:30 - 19:30

Machine learning is concerned with the question of how to make computers learn from experience. The ability to learn is not only central to most aspects of intelligent behavior, but machine learning techniques have become key components of many software systems. For examples, machine learning techniques are used to create spam filters, to analyze customer purchase data, to understand natural language, or to detect fraudulent credit card transactions.


This course will introduce the fundamental set of techniques and algorithms that constitute machine learning as of today, ranging from classification methods like decision trees, support vector machines and neural networks, over structured models like hidden Markov models, to clustering and matrix factorization methods for recommendation. The course will not only discuss individual algorithms and methods, but also tie principles and approaches together from a theoretical perspective, as well as the gaining fundamentals of applying machine learning techniques to real-world problems. In particular, the course will cover the following topics:
  • Supervised Learning
    • Classification
      • Discrminative Models
        • Instance-Based Learning
        • Decision Tree
        • Support Vector Machines
        • Neural Networks
      • Generative Models
        • Naiive Bayes
        • Hidden Markov Models
    • Regression
      • Linear regression
  • Unsupervised Learning
    • Clustering
      • K-means
      • Hiearchical Clustering
    • Anomaly Detection
  • Dimensionality Reduction
    • Principle Component Analysis
  • Machine Learning Experimentation
    • Cross-validation
    • Training/testing/real error
    • Attribute Selection
    • Overfitting
  • Learning Theory
    • PAC Learning
    • VC Dimension


This course will be self-contained; students do not need to have machine learning background. This course will assume a reasonable knowledge of linear algebra as a prerequisite. The programming assignments will be in MATLAB/Python, so a familiarity with these languages is essential.

Course Schedule

For lecture notes and schedule, please access the Moodle System:

Assignments and Exams

All assignments are due at the beginning of class on the due date. Assignments turned in late will be charged a 10 percentage point reduction of the homework grade for each period of 24 hours for which the assignment is late. No assignment will be accepted after the solution was made public, which is typically 3-5 days after the time it was due. You can submit late assignments in class or following the policy written on the homework handout.

Important Dates

Midterm: April 4
Project Proposal: March 21
Final Project Report: April 20
Final Project Presentation: April 25


The course assignments include projects and written homeworks. Projects will be designed to improve the critical analysis and problem-solving skills of students. Class attendance is mandatory. In addition, occasional quizzes will be given in class. Evaluation will be a subjective process, but it will be primarily based on the students' understanding of the course material. Final grades will be calculated as follows.
  • Mid-term: 30%
  • Final Project: 30%
  • 5 Homework: 30%
  • Attendance and Quizzes: 10%

The main textbooks for the class are:
  • Tom Mitchell, "Machine Learning", McGraw Hill, 1997.
Additional Reference
  • Christopher Bishop, "Pattern Recognition and Machine Learning", Springer, 2007
Academic Integrity

This course follows the Florida International University Code of Academic Integrity. Each student in this course is expected to abide by the Florida International University Code of Academic Integrity. Any work submitted by a student in this course for academic credit must be the student's own work. Violations of the rules will not be tolerated.