Will
we have live meetings? Is this course synchronous or asynchronous?
This course has both synchronous and asynchronous components:
- We will have a live, in-person “chalk talk” meeting every week.
- You will also have to watch pre-recorded video of a “Python
notebook” session every week.
How
can I get help or ask questions about the course material?
There are two ways to get help outside of class:
- Post a question on the Q&A forum for this course.
- Attend an office hours session with the instructor or course
assistants. Office hours are held on Zoom.
Note that you can ask questions anonymously on the
Q&A forum, if you feel more comfortable that way.
How will my work
in this course be evaluated?
Your mastery of the course material will be evaluated by your
performance on:
- Homework problem sets: Almost all questions on the
problem sets are computer-graded, and you’ll have instant feedback as
you work, so you’ll know whether your answers are correct or not. If you
manage your time well, you’ll be able to get help or ask clarifying
questions so that you can improve your understanding on questions you
did not answer correctly, and re-submit a corrected answer for
credit.
- “Lab” assignments: Some modules include a “lab”
assignment that expands on the technique you learned that week. You’ll
be given a Python notebook with some cells missing; you’ll have to fill
in code or answer questions in the missing cells. These assignments are
partly computer-graded with instant feedback, and partly manually
graded.
- Exams: The course will include a midterm exam and a
final exam.
The relative weight of each of these components will be shared via
the course syllabus in the first week of the semester.
What should I expect
from the course exams?
Each exam will have the following four sections:
- Basics of ML models: these questions will typically
ask you to do some computations involving a machine learning model. This
section will also include one question where you will be given some
data, and you will have to use it to fit a specific model, and then make
predictions.
- Real world usage: this section is for evaluating
your understanding of practical concerns we have discussed, that apply
when using ML models with real data to solve real problems. Typical
questions in this section might ask you to select the most appropriate
approach for a particular machine learning problem, or might ask you
about case studies that we discussed during the course.
- Short questions/no computation: these questions are
about the intuition and the fundamental concepts underlying the machine
learning models we have discussed. Be prepared to answer questions about
any derivations we worked through in class, and about the visualizations
and examples from the Colab lessons.
- Coding question: each exam will include one
“substantial” coding problem, in the last section. This question is
likely to require a much deeper understanding of ML and ML programming
than the “basic” question asked in the first section.
During the exam, you will be permitted to use a (limited-size)
reference sheet that you have prepared, and the official API
reference pages for: scikit-learn, numpy, pandas, keras, tensorflow.
How much
time should I expect to spend on this course?
This is a 3-credit course. During a fall or spring semester, the
median student should spend at least 3 hours/week/credit → 9 hours/week
for a 3 credit course.
A typical week will include the following:
- pre-lecture reading (some weeks) or study time (30-60 minutes)
- a “chalkboard lecture” (in person) about 120 minutes long
- a “Python notebook” video about 90-120 minutes long
- a homework problem set (estimated time: 1-2 hours)
- a lab assignment (estimated time: 2-3 hours)
A student who is not very comfortable with the prerequisites may have
to spend more time than the estimated 9 hours/week in order to do
well.
What are the
prerequisites for this course?
This course is mathematically oriented, and undergraduate-level
knowledge of probability and linear algebra is required.
If you want to brush up, you can review:
- Review of
probability theory
(http://cs229.stanford.edu/section/cs229-prob.pdf)
- In Boyd &
Vandenberghe “Introduction to Applied Linear Algebra”
(http://vmls-book.stanford.edu/vmls.pdf), these sections:
- Section I, Chapter 1 (Vectors): vectors, vector addition,
scalar-vector multiplication, inner product (dot product)
- Section I, Chapter 3 (Norm and distance): Norm of a vector,
euclidean distance
- Section II, Chapter 5 (Matrices): matrix notation, zero and identity
matrices, sparse matrices, matrix transposition, matrix addition,
scalar-matrix multiplication, matrix norm, matrix-vector
multiplication
- Section II, Chapter 8 (Linear equations): systems of linear
equations
- Section II, Chapter 10 (Matrix multiplication): matrix-matrix
multiplication
- Section II, Chapter 11 (Matrix inverses): Inverse, solving a system
of linear equations
- Also a quick optimization review: Appendix C (Derivatives and
optimization)
There will be a significant programming component to this course, and
class and homework exercises will be in Python. You do not need to know
Python a priori if you feel comfortable picking it up as you go, but you
should know basic programming concepts and have experience programming
in some programming language. We will review some important Python
basics in the first week of the course.
Do
I need previous experience with machine learning for this course?
This is an introductory graduate level course and no prior machine
learning knowledge will be assumed. If you already have significant ML
experience, there is no need to take this class.
Do
I need a computer with a GPU? Will I have to install some software on my
computer?
In this course, we will use the Google Colab environment for
practical programming demos and exercises. Colab is a free browser-based
environment for Python programming. You don’t need to install anything
to use Colab - you’ll just need a browser.
Do I need a textbook for
this course?
You won’t need to buy a textbook - all of the materials you’ll need
will be posted on the course site.
What topics will be included?
Here is a rough outline of the course content (subject to
change):
- Intro to ML, Python + numpy, exploratory data analysis
- Linear regression
- Gradient descent, bias-variance tradeoff
- Model selection and regularization
- Logistic regression for classification
- K nearest neighbor
- Decision trees, ensembles
- Support vector machines, kernels
- Neural networks
- Deep learning, convolutional networks, transfer learning
- Deploying machine learning systems
- Unsupervised learning
- Reinforcement learning (optional, not on exam)
Other important policies
Inclusion
The NYU Tandon School values an inclusive and equitable environment
for all our students. I hope to foster a sense of community in this
class and consider it a place where individuals of all backgrounds,
beliefs, ethnicities, national origins, gender identities, sexual
orientations, religious and political affiliations, and abilities will
be treated with respect. It is my intent that all students’ learning
needs be addressed both in and out of class, and that the diversity that
students bring to this class be viewed as a resource, strength and
benefit. If this standard is not being upheld, please feel free to speak
with me.
Disability
If you are student with a disability who is requesting
accommodations, please contact New York University’s Moses Center for
Students with Disabilities (CSD) at 212-998-4980 or mosescsd@nyu.edu.
You must be registered with CSD to receive accommodations. Information
about the Moses Center can be found at www.nyu.edu/csd. The Moses Center
is located at 726 Broadway on the 3rd floor.
Note for those who require accommodations for timed assessments: the
midterm exam and final exam will be timed exams.
Illness or other
exceptional situation
If you are experiencing an illness or any other situation that might
affect your academic performance in a class, please contact the student
advocate:
https://engineering.nyu.edu/life-tandon/student-life/student-advocacy
The student advocate can reach out to your instructors to make
arrangements on your behalf, and can help connect you to other resources
for support.
In particular, if you need an extension on an assignment or need to
miss an exam due to illness or personal circumstances, use the form in
the “Excused Absences” section of the Student Advocacy website.