New Jersey Institute of Technology
Ying Wu College of Computing
Computer Science Department
Machine Learning
Code: DS675
Mode: Face-to-Face
Location: 101 Hudson St, 36th floor
Instructor: Ioannis Koutis
Office: GITC 4105 and Jersey City
Email: ikoutis+cs675@njit.edu
Office Hours: Jersey City, Thursday 4:30-5:30, before class You can also make an online appointment. Pick a slot on this calendar link or email me- please try to reserve at least a few hours before.
Note: Your messages will be answered by the end of the next day. Grades for all items will be getting posted during the week after their due date. For issues with your grades, contact the grader and cc the instructor.
Grader: TBD
Tutoring. NJIT provides a tutoring
service. Please contact one of the available tutors. Their availability and
contact information can be found here.
Course Description
[From NJIT catalog]: This course is an introduction to machine learning and contains both theory and applications. Students will get exposure to a broad range of machine learning methods and hands-on practice on real data. Topics include Bayesian classification, perceptron, neural networks, logistic regression, support vector machines, decision trees, random forests, boosting, dimensionality reduction, unsupervised learning, regression, and learning new feature spaces. There will be several programming assignments, one course project, one mid-term and one final exam.
[Instructor’s description]: Machine Learning develops computer programs that can improve their performance by tapping into existing data and taking feedback from the environment. Systems based on ML have already exceeded human performance in several tasks, including image medical image classification and games like Chess and Go. ML has also made leaps in even more complicated tasks, like Natural Language Processing or self-driving vehicles, and it has even produced art that imitates the style of human artists! This course offers an intense introduction to the fundamental ML concepts and algorithms that constitute the core of these spectacular developments. It takes you on a tour from the basic mathematical notions and algorithms to some of the recent developments, e.g. Deep Networks or Recurrent Networks. You will gain exposure to cutting-edge ML development tools such as Scikit-learn and PyTorch via hands-on assignments and projects that will instill a working and immediately applicable knowledge of ML methods and will prepare you for more advanced ML courses.
Prerequisites
The course does not have other course prerequisites.
Background on some basic calculus,
linear algebra, probability and programming ability is required. The following
free online materials are recommended for reviewing this background:
·
Mathematics
for Machine Learning
Course Textbooks
There is no required course textbook. The course will
draw material from several sources, including the instructor’s own notes. Some
optional resources include:
·
A course in Machine Learning
Online
book
Haul Daume III
·
Hands-on Machine Learning
with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools and Techniques to Build
Intelligent Systems (2nd Edition)
Aurelien Geron.
(ISBN-13: 978-1492032649)
·
Python Machine Learning: Machine
Learning and Deep Learning with Python, scikit-learn, and TensorFlow 2, (3rd
edition)
S. Raschka, V. Mirjalili, Packt Publishing, ISBN-10:
1789955750
·
The Elements of Statistical
Learning, (2nd Edition)
T. Hastie, R. Tibshirani, J.
Friedman
Learning
Outcomes
By the end of
the course, you will be able to:
a. Identify the main types of Machine Learning (ML)
b. Evaluate the quality of online resources related to ML
c. Recognize problems amenable to ML methods
d. Describe and explain a wide variety of ML algorithms
e. Apply various ML algorithms in novel situations
f. Evaluate the performance of ML models
g. Modify ML models in order to improve their performance
h. Adapt ML algorithms and models to the given data and application
Coursework, Assessment and Related Outcomes
Hands-On Assignments [25%]. Six hands-on assignments of equal grading weight. The weakest of the six grades is dropped from the calculation. [Outcomes: c,e-h]
Short Theory Reviews [5%]. Weekly Canvas quizzes reinforcing the material of each module. No browser restrictions, open books/notes/web. [Outcomes: a,d]
Class Participation [10%]. You are expected to participate in weekly Canvas discussions prompted by the instructor, with meaningful questions and answers related to the week’s topics or assignments [Outcomes: a-d]
Midterm exam [15%]. In-person exam, 90 minutes. Students are
expected to bring a fully charged laptop, as the exam will be on Canvas with LockDown browser. Each student is allowed to bring at most
5 pages of notes. In the event the exam has to take place online, Respondus Monitor will be used for proctoring. [Outcomes: a,d,e]
Final exam [15%]. Cumulative, 120 minutes. Otherwise, similar to midterm exams. [Outcomes: a,d,e]
Mini-Project [30%]. The project will consist of four milestones with the following weights: [8%, 10%, 2%, 10%] [Outcomes: b,c,e]
Grading Scheme and Letter Grades. The conversion of raw total scores to letter grades will be based on grouping the scores into clusters and then assigning a letter grade to each cluster. Projected letter grades will be communicated after the midterm exam and will be constantly updated throughout the rest of the semester, to reflect the underlying clusters. The final letter grade assignment will always be in accordance with the graduate grade legend.
Grading Feedback. Assignment marks will be accompanied with solutions and general feedback summarizing common mistakes. Individual grading feedback will be given whenever possible. Further clarifications can be provided via direct communication with the instructor and the course grader.
Late Work Policy. In the case when a student is unable to complete an assignment or other serious reasons, these must be communicated and documented promptly. In any other case, each hour of delay after the due date will incur a 2% score reduction. No extensions will be granted. However, the lowest programming score and the two lowest quiz assignments scores for each student will be dropped.
Course Topic Schedule
Week 1 |
1. Introduction 2. Nearest neighbors and key notions |
Week 2 |
3. Linear regression, polynomial regression, feature engineering |
Week 3 |
4. Linear separability, perceptron |
Week 4 |
5. The sigmoid neuron, logistic regression 6. Regularization |
Week 5 |
7. Support Vector Machines, Kernels 8. Decision Trees, Random Forests |
Week 6 |
9. Validation and Hyperparameter Tuning |
Week 7 |
11. Ensembles and Boosting |
Week 8 |
12. A probabilistic perspective (midterm week) |
Week 9 |
13. Dimensionality reduction, Kernel PCA 14. Unsupervised Clustering |
Week 10 |
15. Introduction to Artificial Neural Networks 16. MLP classifiers |
Week 11 |
17. Autoencoders 18. Computation with GPUs, Automatic differentiation |
Week 12 |
19. Convolutional Neural Networks |
Week 13 |
20. Recurrent Neural Networks |
Week 14 |
21. Reinforcement Learning or selected project presentations |
Assignment Due Dates
Each course module is associated with a 10-minute theory review
quiz which is due on the end of the week when the topic is presented (*) . All other due assessment items are due at the end of the week
indicated in the following schedule:
Assignments [25%] |
Project Milestones [30%] |
Interview-style Quizzes [20%] |
#1: Week-2 #2: Week-4 #3: Week-6 #4: Week-8 #5: Week-10 #6: Week-12 |
#1: Week-3 #2: Week-7 #3: Week-9 #4: Week-13
|
Mid-semester: Week-8 End-semester: TBD |
(*) All items are due on Sunday at 23:55.
Course Policies
Email
Use of your NJIT email or Canvas inbox is strongly
encouraged.
Grade Corrections
Check the grades in course work and report errors
promptly. Please try and resolve any issue within one week of the grade
notification.
Exam and Proctoring Policy
See the NJIT
Online Course Exam Proctoring page for
information on proctoring tools and requirements.
Incomplete
A grade of I (incomplete) is given in rare cases where work cannot be completed during the semester due to documented long-term illness or unexpected absence for other serious reasons. A student needs to be in good standing (i.e. passing the course before the absence) and receives a provisional I if there is no time to make up for the documented lost time; an email with a timeline of what is needed to be done will be sent to the student. Note that an I must always be resolved by the end of the next semester.
Collaboration
and External Resources for Assignments
Some homework problems will be challenging. You are advised to first try and solve all the problems on your own. For problems that persist you are welcome to talk to the course assistant or the instructor. You are also allowed to collaborate with your classmates and search for solutions online. But you should use such solutions only if you understand them completely (admitting that you don't understand something is way better than copying things you don’t understand). Also make sure to give the appropriate credit and citation.
Requesting
Accommodations
If you need an accommodation due to a disability please contact Scott Janz, Associate Director of the Office of Accessibility Resources and Services, Kupfrian Hall 201 to discuss your specific needs. A Letter of Accommodation Eligibility from the office authorizing student accommodations is required.
NJIT Services for
Students, Including Technical Support
Please follow this link.
Canvas Accessibility
Statement
Please
follow this link.
Academic Integrity
Academic Integrity is the cornerstone of higher education and is central to the ideals of this course and the university. Cheating is strictly prohibited and devalues the degree that you are working on. As a member of the NJIT community, it is your responsibility to protect your educational investment by knowing and following the academic code of integrity policy that is found a this link. Please note that it is my professional obligation and responsibility to report any academic misconduct to the Dean of Students Office. Any student found in violation of the code by cheating, plagiarizing or using any online software inappropriately will result in disciplinary action. This may include a failing grade of F, and/or suspension or dismissal from the university. If you have any questions about the code of Academic Integrity, please contact the Dean of Students Office at dos@njit.edu