Recommender-Systeme

Recommender-Systeme aggregieren Meinungen, um Entscheidungsprozesse durch personalisierte Empfehlungen zu unterstützen. Sie werden sehr erfolgreich im Online-Handel, bei Social Media oder Unterhaltungsdiensten eingesetzt. Amazon hat binnen eines Jahres durch den kosequenten Einsatz seinen Umsatz um rund 30% gesteigert. 80% der bei Netflix konsumierten Inhalte werden durch Empfehlungen ausgelöst.

Angesichts exponenziellen Datenwachstums und damit explodierender Optionenvielfalt wird automatisierte Entscheidungsunterstützung immer wichtiger. Recommender-Systeme sind der Schlüssel, um Inhalte angepasst an Nutzerbedürfnisse, Kontext und Platformbedürfnisse auszuspielen.

Wir erarbeiten gemeinsam die Grundlagen moderner Recommender-Systeme und implementieren verschiedene Ansätze am Beispiel von Filmempfehlungen.

Vorkenntnisse

Dieses Training richtet sich an alle Interessierten, die wissen, was Matrizen, Skalarprodukte und Ableitungen sind. Da die Beispiele bzw. Lösungen in Python programmiert werden, sind Grundlagen erforderlich, um selbst etwas zu implementieren und dabei hands-on zu lernen. Optional und optimal sind Packages wie NumPy, Pandas und Scikit-Learn sowie JuPyter Lab bzw. Notebooks bekannt.

Lernziele

Die Teilnehmer/-innen des Trainings
* verstehen die Motivation und lernen Use-Cases für Recommender kennen,
* erlernen das Grundvokabular für Recommender,
* implementieren verschiedene Recommender-Ansätze und erfahren dabei deren Stärken und Schwächen,
* vestehen grundsätzliche Problemen bei Personalisierung,
* bekommen einen Eindruck über aktuelle Trends bei Recommender-Systemen.

Agenda

Motivation und Grundlagen:

  • Die drei Grade der Personalisierung und warum der Trainer Personalisierung durch Recommender für unverzichtbar hält.
  • Alles zu users, items, feedback, relevance, context, similarity und Co. – das Grundvokabular für Recommender.

Collaborative Filtering: Wieso das, was andere tun, für mich relevant ist

  • Neighborhood-based Algorithmen – Wir nähern uns dem Problem intuitiv und bauen unseren ersten Recommender.
  • Model-based Algorithmen – Wir generalisieren, werden abstrakter, aber auch besser (für Mathe-Nerds: Wir faktorisieren eine Matrix).
  • Rating Prediction vs. Learning-to-Rank – Ordnung ist das halbe Leben

Content-based Filtering: Wie gehen wir eigentlich mit Attributen wie Genre oder Alter um – aka was tun wir, wenn's kalt wird?

  • Hybride Recommender-Architekturen – viel hilft viel.
  • Herausforderungen bei Recommender-Systemen: cold-start, bias, diversity, long tail, usw. – alles, was unseren Job schwieriger aber dafür auch interessanter macht.
  • Aktuelle Trends bei Recommender-Systemen: Kontextsensitivität, Sequenz- und Graphen-basiert, Deep und Reinforcement Learning – hier ist für jeden ein Buzzword dabei.

 

Technische Anforderungen

Spätestens eine Woche vor der Veranstaltung wird an dieser Stelle das öffentliche GitHub-Repository mit allen Beispielen und einer Dokumentation verlinkt. Ich empfehle die Nutzung der üblichen Anaconda-Python-Distribution bzw. Miniconda. Für die Beispiele werden wir JuPyter-Notebooks verwenden. Entsprechend sollten das Repo, Python und die entsprechende Environment auf einem eigenen Laptop mit funktionierendem Browser vorbereitet werden. Ggf. wird Colaboratory verwendet.

Speaker

 

Marcel Kurovski
Marcel Kurovski arbeitet als Data Scientist für inovex. Zu seinen Spezialgebieten zählen Deep Learning, Reinforcement Learning und vor allem Recommender-Systeme. Unter dem Thema "Data Science to Production" beschäftigt er sich auch mit den Schritten von der Exploration bis zum Deployment von Modellen und deren kontinuierlicher Weiterentwicklung. Während seines Studiums des Wirtschaftsingenieurwesens am KIT hat er einen quantitativen Fokus auf Machine Learning, Simulation und Operations Research gesetzt.

M3-Konferenz-Newsletter

Sie möchten über die ML Essentials
auf dem Laufenden gehalten werden? Dann abonnieren Sie den Newsletter der zugehörigen Konferenz Minds Mastering Machines (M3).

 

Anmelden