Deze cursus van 6 studiepunten biedt een uitgebreide inleiding tot aanbevelingssystemen, waarbij zowel de theoretische grondslagen als de praktische toepassingen aan bod komen. Studenten verdiepen zich in een breed scala aan aanbevelingstechnieken, variërend van kennisgebaseerde en inhoudsgebaseerde methoden tot collaboratieve filtering, hybride modellen en contextbewuste benaderingen, naast belangrijke onderwerpen zoals gebruikersmodellering, personalisatie, groepsaanbevelingen, vertrouwen en systeemevaluatie.
De cursus combineert hoorcolleges met praktijkgerichte sessies, waardoor studenten praktische ervaring opdoen met het bouwen en beoordelen van aanbevelingssystemen. Overwegingen op het gebied van ethiek, beveiliging en gegevensbeheer zijn in de hele cursus geïntegreerd. Aan het einde van de cursus zijn studenten in staat om aanbevelingssystemen te ontwerpen, te implementeren en kritisch te evalueren binnen diverse toepassingsgebieden, waaronder media, e-commerce, gezondheidszorg en landbouw.
Deze cursus van 6 studiepunten (IPM-24ATRSEG) biedt een grondige en uitgebreide inleiding tot aanbevelingssystemen, waarbij zowel de theoretische grondslagen, de algoritmische methoden als de praktische implementatie aan bod komen. De cursus wordt in het Engels gegeven aan de Faculteit Informatica van de ELTE en is bedoeld voor masterstudenten in Data Science en aanverwante opleidingen.
Inhoud en structuur
De cursus duurt 13 weken en behandelt de volgende reeks onderwerpen:
Week 1: Inleiding tot aanbevelingssystemen, cursusoverzicht; Soorten aanbevelingssystemen; Toepassingen in de praktijk; Uitdagingen
Week 2: Grondbeginselen, nutmatrix; Long-tail-probleem; Basisprincipes van datamining; Interactiegegevens tussen gebruikers en items
Week 3: Inhoudsgebaseerd filteren I, itemprofielen; TF-IDF-gelijkenis; Modellering van gebruikersvoorkeuren
Week 4: Inhoudsgebaseerd filteren II, filmaanbevelingssysteem met TF-IDF; Praktijksessie.
Week 5: Collaboratief filteren I, geheugengebaseerd CF; Gebruiker-gebruiker- versus item-item-benaderingen; Praktijksessie.
Week 6: Collaboratieve filtering II, op KNN gebaseerde itemgelijkenis; buurtmodellen; practicum.
Week 7: Latente-factormodellen I, matrixfactorisatie; SVD; NMF; practicum.
Week 8: Latente-factormodellen II, SVD++; Softmax DNN; deep learning voor RS; practicum.
Week 9: Kennisgebaseerde en op beperkingen gebaseerde aanbevelingssystemen, Voldoen aan beperkingen; Kritische beoordeling; Lab-sessie.
Week 10: Hybride en geavanceerde architecturen, Hybride modellen; Contextbewuste aanbevelingssystemen; Groepsaanbevelingen; Sociale modellen; Vertrouwen in aanbevelingssystemen.
Week 11: Evaluatie van aanbevelingssystemen, RMSE, MAE, Precision@K, Recall@K, NDCG, dekking; Lab-sessie.
Week 12: Ethiek, eerlijkheid en vooringenomenheid, algoritmische vooringenomenheid; filterbubbels; informatiecocons; technieken om vooringenomenheid te verminderen; verantwoorde AI.
Week 13: Toekomstige trends en projectpresentaties, grafische neurale netwerken (LightGCN); federatief leren; synergie tussen LLM en aanbevelingssystemen; presentaties van studentenprojecten
Aan het einde van de cursus zal de cursist in staat zijn om:
LO1: De fundamentele concepten, architecturen en toepassingsgebieden van aanbevelingssystemen uitleggen, waaronder de nutmatrix, het long-tail-probleem en belangrijke algoritmische families
LO2: Op inhoud gebaseerde filtertechnieken implementeren met behulp van TF-IDF-gelijkenismaten en het modelleren van gebruikersvoorkeuren in Python
LO3: Collaboratieve filtersystemen bouwen met behulp van zowel op geheugen gebaseerde (gebruiker-gebruiker, item-item) als op modellen gebaseerde (KNN, matrixfactorisatie) benaderingen
LO4: Latente-factormodellen toepassen, waaronder SVD, SVD++, NMF en deep learning-methoden, om verborgen patronen in interactiegegevens tussen gebruikers en items te ontdekken
LO5: Hybride, op kennis gebaseerde en op beperkingen gebaseerde aanbevelingssystemen ontwerpen die geschikt zijn voor complexe, praktijkgerichte toepassingsscenario’s
LO6: De prestaties van aanbevelingssystemen evalueren met behulp van standaardmetrieken zoals RMSE, Precision@K, Recall@K en NDCG, en de resultaten kritisch interpreteren
LO7: Ethische uitdagingen in aanbevelingssystemen beoordelen, waaronder algoritmische vooringenomenheid, filterbubbels, eerlijkheid en overwegingen inzake gegevensprivacy
LO8: Een origineel, op AI gebaseerd aanbevelingssysteemproject ontwikkelen met behulp van machine learning, deep learning of reinforcement learning, gericht op een probleem uit de praktijk
LO9: Gebruik industriestandaard tools en werkwijzen, waaronder Python, Jupyter Notebooks en versiebeheer via GitHub, om reproduceerbare pijplijnen voor aanbevelingssystemen te implementeren en te documenteren
L10: Bespreek opkomende trends in het vakgebied, waaronder grafische neurale netwerken, federated learning en de integratie van grote taalmodellen in aanbevelingspijplijnen
Er zijn geen formele toelatingseisen voor deze cursus. Van studenten wordt echter verwacht dat ze beschikken over:
– Basiservaring met programmeren, bij voorkeur in Python (variabelen, lussen, functies, bibliotheken)
– Basiskennis van gegevensanalyse, waaronder bekendheid met gegevensstructuren en statistische basisbegrippen (gemiddelde, variantie, gelijkenismaten)
– Basisbegrippen uit de lineaire algebra, waaronder vectoren, matrices en matrixbewerkingen (nuttig voor het begrijpen van latente-factormodellen)
Van studenten wordt bovendien verwacht dat ze:
– alle hoorcolleges bijwonen (verplicht) en niet meer dan vier practicumlessen missen
– een GitHub-account aanhouden en alle practicumopdrachten en projectcode indienen via de repository van de cursus
– vóór de vastgestelde deadline (week 2 van het semester) een onderwerp voor een individueel onderzoeksproject kiezen
Verplichte literatuur
[1] Ricci, F., Rokach, L., Shapira, B. (red.) Recommender Systems Handbook. Springer, 2e druk, 2015. ISBN: 978-1489976376. DOI: 10.1007/978-1-4899-7637-6
[2] Aggarwal, C. C. Recommender Systems: The Textbook. Springer, 2016. ISBN: 978-3319296579. DOI: 10.1007/978-3-319-29659-3
[3] Koren, Y., Bell, R., Volinsky, C. Matrix Factorization Techniques for Recommender Systems. IEEE Computer, Vol. 42, Nr. 8, pp. 30–37, 2009. DOI: 10.1109/MC.2009.263
Aanbevolen literatuur
[1] Jannach, D., Zanker, M., Felfernig, A., Friedrich, G. Recommender Systems: An Introduction. Cambridge University Press, 2010. ISBN: 978-0521493369
[2] Wang, Z., Pu, C., Wang, F. Deep Learning Recommender Systems. Cambridge University Press, 2025. ISBN: 978-1009447508
[3] Leskovec, J., Rajaraman, A., Ullman, J. Mining of Massive Datasets (Hoofdstuk 9: Aanbevelingssystemen). Cambridge University Press, 3e druk. Vrij toegankelijk via: http://www.mmds.org/
Aanbevolen overzichtsartikelen
[1] Zhang, S., Yao, L., Sun, A., Tay, Y. Deep Learning Based Recommender System: A Survey and New Perspectives. ACM Computing Surveys, jaargang 52, nr. 1, artikel 5, 2019. DOI: 10.1145/3285029
[2] Gao, C., Zheng, Y., Li, N., Li, Y., Qin, Y., Peng, J., Han, S., Chen, J., Ma, D., Jin, D., Li, Y. Een overzicht van grafische neurale netwerken voor aanbevelingssystemen: uitdagingen, methoden en richtingen. ACM Transactions on Recommender Systems, jaargang 1, nr. 1, artikel 1, januari 2023. DOI: 10.1145/3568022
[3] Zhang, Y., Chen, X. Verklarbare aanbevelingen: een overzicht en nieuwe perspectieven. Foundations and Trends in Information Retrieval, Vol. 14, Nr. 1, pp. 1–101, 2020. DOI: 10.1561/1500000066
[4] Wu, L., Zheng, Z., Qiu, Z., Wang, H., Gu, H., Shen, T., Qin, C., Zhu, C., Zhu, H., Liu, Q., Xiong, H., Chen, E.
Een overzicht van grote taalmodellen voor aanbevelingen.
arXiv-preprint, 2023, laatst herzien in juni 2024.
Cursusarchief (labnotitieboeken, datasets, projectsjablonen)
De cursus combineert wekelijkse hoorcolleges met praktische practicums, waarin studenten algoritmen voor aanbevelingssystemen in Python implementeren met behulp van Jupyter Notebooks en Google Colab. Al het practicummateriaal is toegankelijk via de GitHub-repository van de cursus.
Gedurende het hele semester lezen de studenten zelfstandig de toegewezen onderzoeksartikelen en hoofdstukken uit boeken, waardoor ze hun kritisch denkvermogen ontwikkelen en vertrouwd raken met de nieuwste stand van zaken. Dit komt direct van pas bij het afsluitende mondelinge examen, waarin theoretische kennis wordt gecombineerd met een bespreking van het eigen werk van de student.
De belangrijkste praktijkgerichte activiteit is een individueel onderzoeksproject, waarbij elke student een origineel, op AI gebaseerd aanbevelingssysteem ontwerpt en implementeert dat een probleem uit de praktijk aanpakt, en dat aan het einde van het semester formeel wordt gepresenteerd.
Cijferlijst