MLPR FAQ, Autumn 2019
Responses to Frequently Asked Questions (FAQs).
- Should I take this course? Do I have the right background / know enough maths?
As stated on the main page, this course is intended as an
introduction for those who want to move towards doing research in machine
learning. If you are really interested in using machine learning,
UG INFR10069) is a more appropriate choice.
If you do want to do research in this area, there are pre-requisites. Just
because machine learning is popular you shouldn't ignore them. We've done what
we can to outline what these pre-requisites are in the background section of the
notes. If there are parts that you think we can improve, please provide feedback
using the Hypothesis forum.
Ultimately you need to understand the course notes, so if the background notes
don’t make sense, taking this course is probably a bad idea.
- Why is the course so hard?
MLPR isn’t an especially hard course — the mark average tends to be
reasonable. However, the variance is large, which means more fail than we would
like, and some of the best students complain it is too easy. MLPR assumes a
reasonable level of mathematical experience. The level assumed isn’t
unreasonable for a course in an Informatics department. For example, all of the
undergraduates in this School study the maths that’s required, and the
level of mathematical sophistication is probably less than most of the theory
courses in the School and other excellent departments internationally.
- Why is the course so easy?
We're sorry if you find the course too easy. You will be in a small
minority, but that won’t make it any less frustrating. There are pointers
in the notes to material beyond the core material in the course. And we can try
to provide more pointers if you make specific requests. Using Hypothesis, you
can ask questions about any document that exists on the web, and you can also
discuss anything you like in office hours. What you get out of the
course is ultimately up to you.
- When is the exam? Why?
The exam will be in the December exam diet. Warning: don’t neglect
studying the course because of courseworks that are worth far less than this
exam! I don’t know any more about the precise date than what it says on the
The School decided to put the MLPR exam in December, to spread the load for all
students, and to give better feedback to MSc students. Some of you might have
preferred to have more time to absorb the material. Although hopefully
you’ll appreciate having made a push on it and got it out of the way when
another heavy course-load arrives in Semester 2.
- Will I cope with the programming?
We discuss the programming background that's required in the notes.
If you're not confident in the languages, then you'll need to self-study the
background so that you can follow the snippets in the notes, and explore
variants yourself. Then the assignments should be ok.
Some people get in a mess with all the different types of array/list/matrix you
can have in Python. It takes experience to untangle this mess, and write neat
code quickly. Reading examples isn’t enough, you’ll have to pull them apart,
write your own, and debug your code. That’s one of the reasons I suggest
practising porting from equations or Matlab — at least sometimes.
If you're worried about the programming, I strongly suggest getting together
with someone else to try out code. Pair coding often prevents small slips that
waste lots of time, and you rapidly learn things from other people that would
take a long time to pick up any other way.
- Why do you bother with Matlab at all? Or why don't you just stick to Python?
This question is answered
in the notes.
Roughly 20% of the class
use Matlab/Octave by choice in the assignment. For some people, depending on
their background and course choices, Matlab is an easier option. If you’re
using Python, I think it’s useful to learn to rapidly write
your own code based on some maths, or a snippet in a similar language. If
you’re finding porting Matlab snippets time consuming, that’s probably
because you could do with more NumPy practice. If you have any trouble, you can ask
for help on the forum.
- Why do you use Hypothesis? Now I have to create a login
for yet-another tool / It doesn't work well on mobile / I'd rather just
use a normal forum.
Before using Hypothesis, MLPR used a similar annotation system
called NB for several years. In
surveys, a large majority of my classes consistently reported that they liked
being able to ask questions directly on the notes. Partly they liked better
feedback from instructors: questions attached to the notes are usually easier to
answer, and directly help us to improve the notes.
In 2016 half a dozen annotation system alternatives were reviewed for MLPR, and
Hypothesis (while not perfect) seemed the best option. It supports formatting
(including code blocks) and maths, and has a better PDF viewer. Students used to
make lots of request to upload extra documents to NB. With Hypothesis there
is no need.
Hypothesis isn't perfect, and doesn't work well on mobile. Using a proper
workstation is definitely preferable, which is probably true for a lot of your
other course-related work too.
In previous mid-semester surveys a large majority (but not everyone) thought we
should keep using Hypothesis. We will continue to consult; reasonable people
will continue to have different opinions here.
- Can I get email updates from Hypothesis?
Hypothesis will email you when someone replies to one of your posts. However,
they don't support emailing updates every time there is an update to a group.
There are Atom and RSS feeds, which you could use to get updates.
Also, we provide an optional email digest of all posts made by us.
Another suggestion is to plan your work in batches. If you schedule time to look
over notes, including the Hypothesis stream, it may be more efficient than
getting interrupted with notifications all the time.
- Could you provide answers to more of the questions?
There will be detailed answers to the tutorial questions, and a few of the
questions in the notes. But we're not going to provide answers for every question
in the notes. What we will do is give you feedback if you post your answer, or
explain how far you can get with the question. At some point you need to be able
to explain your reasoning to other people, and be able to reason about what you
can and cannot be sure about. In your future jobs there won't be an oracle with
answers, and you will need to communicate. It’s also helpful for us to see
where people go wrong, so we can improve the course. We get no feedback on how
you’re doing if we provide answers to everything.
- Could you provide more questions?
We're doing what we can, and think is appropriate, and have added more questions
to the notes every year. Have you answered all the questions that are already
throughout the notes? There are already more questions than most
courses (and some popular
|Informatics Forum, 10 Crichton Street, Edinburgh, EH8 9AB, Scotland, UK
Tel: +44 131 651 5661, Fax: +44 131 651 1426, E-mail:
Please contact our webadmin with
any comments or corrections. Logging and Cookies
Unless explicitly stated otherwise, all material is copyright ©
The University of Edinburgh