An interview with Christoph Molnar, Interpretable Machine Learning Researcher

Sayak Paul
7 min readNov 13, 2019

Our interviewee today is Christoph Molnar. You might already be knowing him from his critically acclaimed book Interpretable Machine Learning, a seminal book on the topic of Machine Learning Interpretability. Christoph is currently pursuing a Ph.D. from Ludwig-Maximilians Universität München on Interpretable Machine Learning. He blogs about a number of topics and they can be found here. You can know more about Christoph from here.

I would like to wholeheartedly thank Christoph for taking the time to do this interview. I hope this interview serves a purpose towards the betterment of data science and machine learning communities in general :)

An interview with Christoph Molnar, Interpretable Machine Learning Researcher

Sayak: Hi Christoph! Thank you for doing this interview. It’s a pleasure to have you here today.

Christoph: Hi Sayak. Thanks a lot for the opportunity.

Sayak: Maybe you could start by introducing yourself — what is your current research all about and what are your responsibilities over there?

Christoph: I am currently doing a Ph.D. in interpretable machine learning. This means that I am researching how to get insights into the decision-making process of machine learning models. A big part of what I do is consolidation: I have summarized many methods in my book “Interpretable Machine Learning” and implemented many interpretation methods in the R package iml. Furthermore, I investigate the limitations of machine learning interpretability. Model-agnostic interpretation methods are supposed to work for any machine learning model, no matter how complex the model is. The problem is that the more complex the model or the data structure, the more unreliable model interpretation becomes. I study how problematic these limitations are and when they occur. In addition, I teach university classes. In the last semester, we held a seminar on the limitations of interpretable machine learning methods. In this semester, we are supervising data science projects for sustainability and climate change.

Sayak: Wow! So many interesting aspects. That must be great, Christoph! How did you become interested in pursuing machine learning?

Christoph: The short answer is that I like to “play in everyone’s backyard”. The long answer: After school, I wasn’t sure what to study and tried a few different things. Finally, I studied Statistics in Bachelor and Master. Statistics appealed to me because I did not have to decide whether I wanted to work in medicine, ecology or something completely different afterward. The ability to analyze and model data is a powerful skill and allows you to work in any field.

Sayak: I really second your last statement, Christoph. When you were starting in the field what kind of challenges did you face? How did you overcome them?

Christoph: I remember my first Kaggle challenge in 2012: I only knew how to work with linear models. I tried a generalized additive model (GAM) and ended up in 463rd place out of 699 participants. I knew then that I needed to learn more about machine learning, model evaluation, and feature engineering. There is Kaggle and then there are real-life projects. I worked in a startup during my studies where we trained a document classifier, among other things. I could use my model building skills, but it quickly became clear that there were more obstacles: How should we integrate the model into the product? Does the training data set have the same distribution as the data that the model will see in the application? How do we update the model? For these difficult questions, you can’t simply watch a Youtube video, read a paper and be done with it. You have to gain experience by working on real machine learning projects.

Sayak: Could not be truer, Christoph! Thanks for sharing your experience with this level of detail. What were some of the capstone projects you did during your formative years?

Christoph: A lot of experience comes from before I started with machine learning. During my studies, I did statistical consulting. The focus was less on “How well can we predict Y from X” but more on “How can we answer our research question with our data”. Sometimes the answer was a predictive model, sometimes a visualization, sometimes that the data was insufficient. One consulting project was about virtual teams, where I trained a logistic regression model to predict power and status for individuals in a virtual team. The most work was data preparation and translating the research question into a prediction task. The model itself was more or less straight forward. I participated in many Kaggle challenges, which helped me become fast in data preparation and training models. But many difficult parts are excluded from the challenges, such as deployment, data collection, translating business questions into prediction tasks, and so on.

Sayak: I am in 100% agreement with you regarding Kaggle challenges. They are areally great for enhancing a number of important data science skills but it also does not include many important steps in the CRISP-DM pipeline. What motivated you to write the book Interpretable Machine Learning? What was your thought process when you were writing the book?

Christoph: In 2017 I had an 80% job and used my day off for learning new things. I read the popular LIME paper and liked the idea of extracting knowledge from any machine learning model. I wanted to learn more about interpretable machine learning, but could not find any good resources. So I decided to read papers and collect what I had learned in the form of an online book. After I had a few chapters, I decided to share it online and got a lot of positive feedback. This motivated me to add more and more chapters. Since I enjoyed reading papers and writing so much, I decided to quit my job and pursue a Ph.D. I finished the first version of the book this year and I am currently working on a second edition.

Sayak: Ah! That came as a surprise. I will be looking forward to reading the second edition, Christoph. What are the arguments/topics in Machine Learning Interpretability that you consider extremely important to solve now and of course in the near future? (This question has been contributed by my friend Alessio from FloydHub)

Christoph: Since 2017, research interest in Machine Learning Interpretability has exploded. This is great, but it can also be suffocating. We need more consolidation of methods, rigorous testing and comparisons of different approaches. We have to figure out what the limitations of the interpretability methods are: When can we trust the interpretations and when not? The issue with evaluating interpretability is that we have no ground truth to which we can compare the explanations. There is no “correct” interpretation. When you develop new machine learning methods, you can show that they outperform other models in a benchmark, but for interpretability, we are still working on measures for interpretability. I believe that interpretability has many facets. Some examples are the number of features used in the explanation (sparseness), how well the explanation matches the model outcome (fidelity) and how much the explanation helps the practitioner to work with the model.

Sayak: This reminds of the section from your book where you discussed the validating an interpretability method. Being a practitioner, one thing that I often find myself struggling with is learning a new concept. Would you like to share how do you approach that process?

Christoph: First I try to get an overview of the concept, a superficial understanding. For this, I try to find a blog or video that explains the method on a high level. To get a deeper understanding of the details, I read the original paper or source code of the concept. It’s easy to feel confident after this, but usually, I still have some gaps in understanding. True learning comes from putting the knowledge to a “test”. For me, this means implementing the method in code and teaching it. Teaching can be done through blogging, for example.

Sayak: For me, as well. When I get a good grasp of a new technique/concept I try to present it at a meetup/conference or even write a blog on it. It helps me to battle test my understanding. Any advice for the beginners?

Christoph: Balance theory and practice. Some people only master the practice but don’t know how the methods work and make mistakes they don’t understand. Some people only master the theory, but they are not grounded in reality and it’s easy to get lost in details that have no real relevance.

Create outcomes for your projects. Let’s say you want to learn xgboost: you read the paper and try out some examples with the Python package. You can either stop there, and move on to the next thing, or you can force yourself to make a short video explaining xgboost, for example. While this costs more time, you get lots of benefits. You get credibility, so instead of saying “I know xgboost because I played around with it”, you can say “I know xgboost and here’s a video where I explain it”. You get better learning effects since you have to learn the method more deeply and you can come back to your own material years later. An outcome can be a blog post that explains the method you just learned, it can be a Kaggle kernel, it can be a talk at a meetup. It requires more work, but it pays off.

Sayak: I strongly reciprocate with this! Thank you so much, Christoph, for doing this interview and for sharing your valuable insights. I hope they will be immensely helpful for the community.

Christoph: It was a pleasure. Thank you!

Summary

It was interesting to know how Christoph’s background in Statistics helped him to be more liberal about his choice of domains to work with. Christoph is a published author and he shared a number of very useful pointers on creating content that can go a long way. I found this especially useful for people looking to build their portfolio.

I hope you enjoyed reading this interview. Watch out this space for the next one and I hope to see you soon. This is where you can find all the interviews done so far.

If you want to know more about me, check out my website.

--

--