Hello and welcome to EE104 or CME107.
This is the course, uh,
Introduction to Machine Learning at Stanford University Spring 2020.
My name is Sanjay Lall.
I am the instructor of this class.
This class was written by myself and Professor Stephen Boyd of Stanford,
over the past three years.
Uh, we are, as you know,
in the middle of a coronavirus outbreak.
And, um, as a result,
much of the university is closed and many of you are working at home.
Um, the course is therefore going to be entirely online.
All of the lectures will be pre-recorded and
we will not have any live lectures unfortunately.
Uh, we are aware that many of you are- are
watching this- these lectures from a variety of different time zones,
and we will do our best to, uh, accommodate that.
Uh, we will post new lectures every Tuesday and Thursday morning,
and we will hold office hours, uh, via Zoom.
All right, due to the current situation,
there will be no exams in this class.
Uh, all classes in the School of Engineering are
going to be credit and- or no credit only,
and this class is no exception.
Um, uh, but there will be homework.
Uh, it will be, uh, given out weekly.
The homework will be about half programming
and the other half will be conceptual questions,
maybe a little bit of mathematics.
Um, the programming questions we'll be using Julia for those.
Uh, Julia is, uh, a- a- a modern language which is developed
primarily for numerical computing and machine learning in particular.
It's very fast.
It's got a very nice syntax which makes it, uh,
very simple to write sophisticated programs.
You do not need to have a very sophisticated understanding
of the Julia Programming Language.
Uh, most of the coding that we will do in this class is very short scripts.
We will be using the Flux machine learning package,
that is a- a package that sits on top of Julia.
They're some prerequisites in this class and in particular linear algebra.
We will be using a lot of the notation of linear algebra and we will need you to, uh,
be familiar with things such as least squares and
a basic understanding of eigenvalues and eigenvectors later in the class.
Oh, we don't need anything more sophisticated than that,
so any first class in linear algebra will cover enough.
Similarly for programming, we do need you to be able to write code, uh,
but very simple code will suffice where they said
we're going to- already going to be writing short scripts.
Uh, but you do need to be familiar with how to bring data in,
how to generate plols,
how to understand what data types are.
You don't need to have any understanding of complex data structures
or object-oriented programming or anything like that.
Uh, probability is a co-requisite, not a prerequisite.
So, uh, any basic class in probability will do.
Uh, you can, uh,
if you haven't taken it up until now,
you can take it concurrently with the class and that's fine.
We won't be using probability for the first few weeks, um,
but after that we'll start to use the, both
the language and some of the ideas and methods of probability as well.
And that brings me to the end of the mechanics section of, uh, the class.
Uh, I hope you enjoy EE104.