Stellenausschreibung studentische Hilfskraft / Student assistant
Student assistant interested in working on Explainable Artificial Intelligence (XAI) / Interpretable Machine Learning (IML).
The chair of Artificial Intelligence and Machine Learning by Prof. Eyke Hüllermeier is currently searching for motivated student assistants interested in working on Explainable Artificial Intelligence (XAI) / Interpretable Machine Learning (IML). As a new and growing chair at LMU, we offer you the opportunity to work on open research questions, supporting the team by investigating current research papers, and developing research experiments or prototypes.
- You should be proficient with python programming and be able to work and debug experimental (and yes sometimes buggy) code artifacts.
- You can work remotely from home or come into our office (Akademiestraße 7, 1st floor) and enjoy the occasional coffee with colleagues.
Please send your application to Maximilian Muschalik (Maximilian.Muschalik@lmu.de) directly.
Your application should contain:
- a short motivation,
- your current transcript of records,
- and a solution to the following coding exercise (".py" or ".ipynb" file and "requirements.txt").
- As a small coding exercise, please train an incremental model of your choice on the "adult" dataset (version 2) which you should fetch from OpenML (make use of the openml.datasets.get_dataset() function provided in the openml python package).
- Train any model implemented in the river (https://riverml.xyz/0.11.1/) python online learning framework.
- Training should be done incrementally. You might need to transform your dataset from openml into a data stream. The river package makes this step and the incremental training quite easy.
- After you trained the model you should explain any random instance of the data set with the (now famous) shap (https://shap.readthedocs.io/en/latest/index.html) explanation framework.
- Unfortunately, models implemented in river expect input data as a dictionary and the shap package likes its inputs as a numpy/pandas/list data format.
- Moreover, river models do not implement a ".predict(X)" function but only a ".predict_one(x_i)" function that predicts the ouput of a single instance (given this dictionary of feature: value pairs).
- So you may need to write a small "model function" (e.g. f(X)) that takes a numpy/pandas/list object (like the one shap expects) and returns the prediction of the whole prediction set "X" given the river model you selected.
- Don't forget to state your file's requirements in a "requirements.txt" file, as it's a good practice for working with python in teams.
The positions are to be filled as soon as possible. Applications are welcome until they are filled.
Don't hesitate to contact us (Maximilian Muschalik) if you have any questions about the positions or the coding exercise!
We hope to hear from you!
PS.: If you send an email with a .py/.ipynb attached to it to Maximilian, your mail might (certainly) be flagged as spam and, thus, might get lost. So please send another mail with a small heads-up that you are about to or already have sent an application. Maximilian is monitoring his spam folder, but this is safer.