MLPR 2017
| Notes
| Log
| Forum
| Tutorials
| Assignments
| FAQ
| Feedback
MLPR FAQ, Autumn 2017
Responses to Frequently Asked Questions (FAQs). A theme in several of these
questions is that there are trade-offs behind the choices I make for the class.
and I have widely consulted in the past. If you don’t like an answer —
which can be entirely reasonable — please avoid excessive advocacy such as
“all of my friends on the class agree...”, or “X would
obviously be better...”. Your individual opinions and arguments matter,
and I’ll listen to them. However, I will also continue to revisit these
perennial questions by consulting the whole class, and discussing with
colleagues and external examiners.
- How hard is this course? Do I have the right background / know enough maths?
These questions are tricky. A lot of incoming MSc students are worried about
their studies. I don’t want to add unnecessary worry. However, because
Machine Learning is a popular area, lots of people try to take the class without
having the pre-requisites, and it would be irresponsible of me not to provide
warnings about what is required.
It’s hard for me to give individual advice, because I don’t know or
understand your exact background and current skills. I've done what I can to
outline the pre-requisites in the background section of the notes.
If there are parts that you think I can improve, please provide feedback
using the Hypothesis forum.
Ultimately you need to understand my 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 was typical
for an Informatics course last year, and some of the best students were
complaining it was too easy. However, MLPR does assume 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?
I’m 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 I 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 with me in my 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
official pages.
Every year there are vocal groups of students that want the exam for a
Semester 1 course in either December (if it’s in May), or May if
it’s in December. This year the School decided to put the exam in
December, to spread the load for all students, and to give better feedback to
MSc students. I appreciate that some of you would have preferred to have more
time to absorb the material. These decisions are made at School-level and
feedback is best made through the class reps.
- Why do you bother with Matlab at all? Or why don't you just stick to Python?
I tried to anticipate this question in the
notes, but I still get lots of queries. Last year roughly half the class
used Matlab/Octave by choice in the assignment. For some people, depending on
their background and course choices, Matlab is an easier option. If you want to
use Python for everything that's fine, but 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, I 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 getting rapid
feedback from me, which I’m happier to do with these systems than a
traditional forum. I find that questions attached to the notes are usually
easier to answer, and directly help me to improve the notes.
In 2016 I did a review of half a dozen annotation system alternatives, and
Hypothesis (while not perfect) seemed the best option. It supports formatting
(including code blocks) and maths, and has a better PDF viewer. I also used to
get lots of request to upload extra documents to NB. With Hypothesis there is no
need.
I know having to use yet another web service is annoying. On balance I think the cost is
worth it. I haven’t pushed other staff to use Hypothesis as I do have to
work quite hard in the background to deal with its rough edges. I’ve
been giving feedback to Hypothesis, in the hope it will become easier to use in
education, and we can adopt it more broadly.
I know Hypothesis doesn’t work well on mobile. Last year, I had quite a
difficult time responding to queries during the revision period: I was in a tent
while on holiday. Using a proper workstation is definitely preferable, which is
probably true for a lot of your other course-related work too.
Better mobile support would be nice of course, but sadly it’s not there yet.
In a mid-semester survey last year, a small but vocal minority wanted me to
use something other than Hypothesis. However, a large majority thought I should
keep using it. I will continue to consult. I’m sure 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. Last year a
student used the Hypothesis API and pythonanywhere to create email updates for
themselves. I have the code. If anyone would like to support such a service for
the class this year, get in touch.
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 I'm not going to provide answers for every question
in the notes. What I 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 me to see
where people go wrong, so I can improve the course. I get no feedback on how
you’re doing if I provide answers to everything.
- Could you provide more questions?
I’m doing what I can, and am actively adding more questions to the notes
as I update them. Have you answered all the questions that are already
throughout the notes?