• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Online course: Machine Learning (Andrew Ng, Stanford/Coursera)

 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Anybody else doing the Machine Learning course with Andrew Ng (Stanford) this time around?

I've been meaning to do this for the last year or so, as it has a great reputation and I've seen lots of positive comments from former students. But it always seemed to clash with other courses I also wanted to do e.g. this time I'd already signed up for Mining Massive Datasets, another Stanford course which is taught by the guys who wrote the book.

Unfortunately, I don't think my maths can cope with MMD - it looks like a great course but quite demanding. So I bailed out of MMD, which means now I'm free to do ML after all.

Machine Learning is already in Week 2, but I worked through the material for Week 1 yesterday and managed to complete the compulsory assignment questions OK. I'm hoping to catch up on Week 2 in the next few days. So far, it's really interesting, good fun and sufficiently challenging for my ageing brain.

There's still time to join in if you're quick!


 
Sheriff
Posts: 5555
326
IntelliJ IDE Python Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A friend of mine took that course when it was run previously a couple of months ago. He enjoyed it greatly. Hope you're getting on well with it Chris.
 
chris webster
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks, Tim.

So far it's going pretty well and I'm enjoying the course. Admittedly, I'm struggling a bit to keep up with the work, due to other commitments, but the workload itself is roughly as I expected i.e. around 8 hours a week in my case (they predict 5-7 hours but I'm always slower!). The course materials are very good, and the choice of topics is well-structured and interesting. The exercises are also well-structured and pitched at a reasonable level. You have to code in Octave, which is new to me, but tutorials are provided and it seems like a good choice for this kind of work. The forums are active and - importantly - actively monitored by the teaching assistants, who are really excellent on this course e.g. one of the TAs (Tom Mosher) provides lots of extra material around each week's programming exercises, which is very helpful.

We're about halfway through the course right now, so I'll come back with more info when I've finished. But based on what I've seen so far, I'd definitely recommend this course.
 
chris webster
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Well, I just finished my last exercise for this course so I thought I'd come back and update my comments.

This was a really good course, with a good mix of materials covering a range of ML concepts, algorithms and real-world topics. Each week's material consists of a set of video lectures presenting a pretty thorough exploration of that week's topics at an introductory level, plus a set of "review questions" i.e. online quiz on the week's topics. These are graded immediately, and you can take the quiz as many times as you like, although obviously the point is to try and get the questions right first time if you can.

There is also a practical programming exercise each week (except in the final week), which typically involves implementing various parts of the algorithms or techniques covered by the week's videos. You are normally provided with a set of Octave scripts and data to support this exercise, so you only have to complete specific parts of the process. The instructions for each exercise usually guide you towards a traditional iterative (loop-based) implementation, but in many cases it is easier and more efficient to use vector-based arithmetic in Octave, and one of the teaching assistants (Tom Mosher) provided a set of tutorials to help with this approach for the first few weeks. The programming exercises are fairly challenging, because you need to have a reasonable understanding of what you are trying to achieve, but you can often complete the implementation in just a few lines of code, especially if you use the vector-based approach.

You have to complete several steps in the processing for each programming assignment, and each step can be submitted for grading in turn via the Octave command-line interface. You can re-submit as many times as you like, up to the course deadline. Each week's exercise has a due date (usually two weeks ahead), and there is a "hard deadline" about 2 weeks after the final week of the course. If you submit your exercises after the relevant due date (but before the hard deadline), your submission score will be penalized 20%. This grading policy is more generous than some Coursera courses, where you can only re-submit work a couple of times (if at all) and you lose 50% or more if you submit your work late.

There is also a set of tutorials for Octave, which are to be completed as part of the first week or two, and these obviously provide a foundation for subsequent weeks.

The maths content is fairly straightforward, even for a liberal arts graduate like me, and there is a quick introductory session on linear algebra to help you get to grips with the use of vectors/matrices in Octave. The main problem I found was simply reading the various algorithms, as the notation involves a lot of superscripts/subscripts to keep track of the various elements being processed. It's often much easier to read the Octave code that uses vectors/matrices instead. But conceptually it's all pretty straightforward and very well explained, so you should be able to understand what's going on at each stage.

Most of the algorithms were for supervised learning, but we also looked at clustering for unsupervised learning. There was plenty of good advice on how to organise your machine learning "pipeline", how to decide the size of your training/cross-validation/test data-sets and validate/evaluate your results etc, and other useful techniques e.g. ceiling analysis to help decide where to invest effort in improving your machine learning process. Various application areas were looked at e.g. recommender systems, OCR, image processing etc, which helped to relate the maths to real-world practice.

I had very little knowledge of ML before I started the course, so I learned a lot, at least in general terms. I would probably have to work hard to implement a given algorithm from scratch, but I have a much better understanding of how to select a suitable algorithm from an ML library (such as Apache Spark's MLlib or Python's scikit-learn) for a given application, and about the many other issues to consider when designing an ML pipeline.

I would highly recommend this course to anybody who's curious about the world of Machine Learning and its applications in the age of Big Data.
 
Ranch Hand
Posts: 10198
3
Mac PPC Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I did register for this one this time around, but due to other commitments, I was not able to do it. One of my friend who did this course also gave a positive review. I will definitely do it the next time.
 
reply
    Bookmark Topic Watch Topic
  • New Topic