
Introduction to Machine Learning for Coders: Launch - nafizh
http://www.fast.ai/2018/09/26/ml-launch/
======
jph00
Jeremy from fast.ai here - I teach this course. Let me know if you have any
questions about it (or else head over to
[http://forums.fast.ai](http://forums.fast.ai) for the dedicated course forum
if it's a more specific technical question).

~~~
avinassh
Hey Jeremy, thanks for this new course. I have some questions:

1\. How exactly it is different from Andrew NG's course, other than
Octave/Matlab vs Python? As someone who is new to ML and wants an
introduction, I am now confused which course I should do.

2\. What are the math prerequisites? Do you also cover them in the course or
is there any list materials available to prep?

~~~
jph00
The biggest difference is that Andrew's teaching style tends to be more
bottom-up and math-first, whereas mine is top-down and code-first. They both
should give you a thorough foundation if you complete the course. Why not
watch the first lesson of each and see which presentation suits you best?

Sometimes I'll assume some understanding of basic linear algebra or
probability distributions when explaining why something works. Particularly
for the naive Bayes section.

The first half of the course assumes only high school math. If you get to a
bit where I mention some math you're less confident of, just search for that
term on Khan Academy for a lesson. Or just skip that explanation in the course
- it won't stop you from being able to apply the concepts even if you don't
always follow the math.

------
shamino
Just wanted to chime in - you mentioned Andrew Ng's Machine Learning Coursera
lectures are outdated. I want to say that while this could be true, the reason
he does everything in Octave is because he finds that students learn faster
when programming in Octave. He's aware that Python is the leading practical
machine-learning tool. His focus is on learning the fundamentals and gaining
an intuitive feel for the algorithms. I greatly enjoyed using Octave, which I
felt was actually faster than if I had done everything in Python.

With that said, I'm so excited to learn from your new course, and can't wait
to start.

~~~
jph00
Andrew's new deep learning courses
([http://www.deeplearning.ai](http://www.deeplearning.ai)) all use Python.
When I last spoke to him he was no longer enthusiastic about using
Octave/Matlab for teaching.

~~~
shamino
I also saw that his new _deep learning_ courses are in Python. He may have
changed his mind about teaching in Octave for his traditional Machine Learning
courses, but I still learned a great deal and I feel like I have a strong
intuition of how ML algorithms (and neural nets) work.

There is some truth to Octave having a faster turnaround than Python, if
you're new to programming. I feel like with Deep Learning you really have to
bite the bullet, but his courses are just fine with Octave/Matlab - with
respect to getting an intuitive feel for the algorithms.

~~~
jph00
Yes I do think his ML course is still wonderful, as I said in the post :)
However I don't think that Octave is better than Python for teaching or
understanding machine learning concepts.

~~~
shamino
I just don't think his courses deserve a knock, or that your course will be
better because it uses Python. Both courses can be great :)

------
leesec
Just wanted to say the quality of your previous courses has been fantastic and
thank you for all the work that you and Rachel do.

------
jlelonm
Jeremy, you're awesome. Thanks for all your continued high-quality work.

Slightly OT question: At some point after DL1 pt 2 was released and before DL2
pt 1 was released, I recall you saying it was probably better to wait on
starting the DL series since the new DL series (at the time) was going to be
completely revamped with just PyTorch.

Would you say something similar about what I presume to be DL3 pt 1 coming out
soon-ish? If so, when would you say that threshold is (i.e. if you start
before this date, do DL2 pt 1, if you start after, wait for DL3 pt 1 to come
out).

Hopefully that made sense.

~~~
jph00
v3 of the DL course, which should be out early in 2019, will largely be a
superset of the current course, but updated for the release version of the
fastai library (coming out very soon). Pytorch hasn't changed too much in the
interim. So I'd just go ahead and start with the current course, rather than
waiting.

------
siscia
Lesson 1 is a decision tree, isn't a little too advanced?

Shouldn't we start we something like linear regression?

~~~
jph00
Linear regression is a tricky algorithm to use effectively. Many courses have
started with this algorithm, but we think it's a mistake. We cover it later in
the course.

Decision trees are much easier to use correctly, and can be easily implemented
from scratch without relying on any external libraries (as we do in a later
lesson).

~~~
skadamat
Completely agree with this. To really learn linear regression, you need to be
comfortable with linear algebra (for OLS) and calculus (gradient descent).

I actually wrote most of the machine learning content at Dataquest (where I
work) and I started with k-nearest neighbors because it's way more
approachable ([https://www.dataquest.io/course/machine-learning-
fundamental...](https://www.dataquest.io/course/machine-learning-
fundamentals)). Little math, very visual, easy to program, etc. I used this
easier-to-approach algorithm to teach the key other ideas in ML (test/train,
cross validation, error metrics, etc).

Happy to chat more about different pedagogical approaches to teach machine
learning!

~~~
jph00
> I actually wrote most of the machine learning content at Dataquest (where I
> work) and I started with k-nearest neighbors because it's way more
> approachable

That's a great idea. It's actually what I did in an earlier version of the USF
course. It worked great. Especially because a decision tree is basically just
KNN with a different distance measure (loosely defined) so it can flow well

However it turned out that jumping straight to decision trees worked out well
too, so I'm happy with the change.

~~~
skadamat
Makes a lot of sense actually. Decision trees are also incredibly visual and a
lot more intuitive to understand.

------
ultrasounder
Been watching the course from the sideline, but now I am very eager to jump in
as I am currently finishing up the Andrew Ng course on Coursera. My learning
objective would be grok PyTorch so that I can leverage it in my Medical
Imaging work. Many Thanks from the bottom of my heart.

~~~
jph00
You'd almost certainly be better off with the deep learning course
([http://course.fast.ai](http://course.fast.ai)) then, not the machine
learning course discussed in this post. I spent quite a bit of time in medical
imaging, and lots of radiologists and medical imaging researchers have done
the DL course and are using it now. (Actually at the recent SIIM conference on
medical image computing I gave the keynote, and asked if anyone had done our
DL course - about half the audience put their hands up, much to my surprise!)

~~~
ultrasounder
Thank You!. I am actually doing the deeplearning.ai, specialization(on the
first course) and will be doing this in parallel. Thanks again for your advice
and also your community service by offering Free, Quality education for all of
us!.

------
foobarbecue
I totally read this as "Introduction to Machine Code for Learners"

