This post has been written months ago. And then just so much happened. I would still love to share the story with you, albeit a bit outdated.
If you are following my blog, you might have noticed I disappeared for a little while without a warning. Let me tell you how it happened. It all started with a friend P., a professor at Leuphana Universität Lüneburg, asking me one day out of the blue: “wanna teach with us?”. Of course I do!
Machine Learning… For non-Computer Scientists
For future Bachelors in Media Studies, to be precise. Not sure how the choice of subject happened, yet it felt like a good challenge: improve ML knowledge and skills, improve teaching skills, visit Hamburg few times - sure, why not? Right now the course is close to conclusion and I am asking myself so many questions, one louder than all the others: was it worth doing?
An Evolutionary Course
The allocated time consisted of five 8-hour sessions, from 9:45 to 17:30 each. Thus, a challenge: to cram as much material as possible into each slot, yet keep students alive and participating at all times. With a lack of course program and little prior knowledge about the skills in the audience, creating entire agenda upfront and setting it in stone was not an option.
Thus, the program was revised every session. Started with a vague definition and a collection of reference materials, updated every time I got feedback from the students, direct or not. Originally, first three sessions were aming to give theoretical basis for a conversation, yet be 50-50% practice oriented - with exercises following lecture blocks. Last two sessions aimed to be fully practice oriented, with some time dedicated to examination and feedback session.
As an examination, students were given a project: take one of UCI datasets, perform exploratory analysis and run several models, collecting model metrics and performing basic model performance assessment.
Here is how program looked at the end:
|Introduction, Tools, Concepts||Tools:
|Regression Models Primer||Linear and polynomial regression, KNN regression. Model flexibility and quality of fit. Training and test errors and common scores. Building and validating models with
|Model Selection Primer||Bias and variance. Validation strategies and Cross-Validation. Inference and model interpretability. Model selection strategies. Business-driven Machine-Learning project workflow.|
|Classification Primer||Classification problem. Common models and assessment metrics. Project work.|
|Project Session||Project work, final project presentation. Q&A and Feedback.|
Experiences Along The Way
Whether it was worth or not, the bottom line is: I was blessed with some six students that were eager and unafraid to explore the world of Machine Learning, even though it was an experiment for me, as much as it was for them. Among non-technical scholars, I certainly got the most technically inclined ones. Teaching them was fun and I have learned a lot myself.
Learning Things, Express Path
Having taken courses on Machine Learning during my undergraduate studies, and a limited practical experience using it at work, I felt largely uncomfortable teaching even basics without deeper understanding. Thus, I had to resort to reading as much as I could in a short period of preparation time and trying to structure the information as well as I could. My choice fell on few popular books, all of which are proving excellent and invaluable source of knowledge:
- Introduction to Statistical Learning
- Elements of Statistical Learning
- Deep Learning Book
- Machine Learning and Pattern Recognition
Later on, another book joined the party, as Andrew Ng started publishing chapters of “Machine Learning Yearning”, few pages at a time (and he still does).
By the time of writing I managed to read in total about 2.5 books out of the five, and only realized that the field is so huge that there is no way I could keep this all in head unless I work with it every day. Along with it, I realized that I need to improve on my Probability Theory skills and Linear Algebra (it’s been a while…). So, a lot to remind myself of in the months to come. However.
Teaching Is Harder Than Learning
Teaching interdisciplinary subjects or students makes process even harder. All of a sudden, I realized:
- Cost of misinformation is very high. If I make a mistake, it is unlikely to be spotted, and if this knowledge is used later on, it will lead to a mistake in turn.
- Math does not help neither to clarify concepts, nor to simplify material. It does help when you have years of applied mathematics background, but it hardly does if you have never seen a summation character or haven’t computed derivatives since 10th grade. What math does do quite effectively - it scares the hell out of students. Lesson: be very careful when including math into a course for humanities students, always state the obvious, start small and don’t go big, no matter how beautiful it looks like.
- Lack of material for the course was a challenge of its own. There are plenty of courses on Machine Learning on the web right now, but only few (if any) are focusing on practical aspects, with limited detail, for humanities students. It took ages to create material for the course. It would have taken even more time if not for the Authors of ISLR and ESL books, who generously allowed to use figures from their books in teaching.
- Keeping everone engaged and using time efficiently posed a problem too. Rule of a thumb: leave simpler things and practical exercises for the end of the day, and talk to the guys, a lot. And by “talk” I do mean a dialogue: only engaging everybody in a conversation could ensure that everybody (myself included) stays awake.
- Optional attendance, optional examination: In the University I studied at, attendance was mandatory. We were given largely no choice in disciplines that were taught and failing to pass exam on any of them within a given (~3 month long) period of time meant dropping out of the year. Here, attendance was optional, along with taking the examination, and there were plenty of alternatives to chose from. This resulted in two observations from my side: first, I’ve never seen more relaxed students, and second - more dedicated (two, of course, not necessarily intersecting sets).
- Importance of Examination, the way I see it, is not that high if one knows why they are studying something. The value of a course, is always in knoweldge obtained, not in a certificate or examination grade. However, the presence of examination, and its format were crucial to recieve engagement from the students. Not at all obvious for me at first, after completion I realized how important the examination was. It forced students to reiterate on the information they obtained, prepare, ask questions and share their problems.
So Was It Worth It?
Totally! Combined with a fact that I was able work on ML project at work at the same time, this resulted in synergy effects beyond my expectations. And of course, it felt good to get positive feedback from the students, feeling that I might have made an influence on somebody’s career or even life. Will I do it again? I would need to think rather. One thing understood for sure - teaching without being an expert is extremely challenging, but then - it takes you one step closer to being one. So, maybe. Maybe yes.