Machine Learning with Text Modul-Nr./ Code S 112 Semester Fünftes Studienhalbjahr Dauer des Moduls Ein Semester Art des Moduls Wahlpflichtmodul (Pflicht, Wahl, etc.) Häufigkeit des Angebots des Moduls Einmalig Zugangsvoraussetzungen Grundlagen Linearer Algebra (vorausgesetzte Inhalte / Programmieren in einer imperativen, objektorientierten Sprache (z.B. Java, Module) Python, MATLAB und R) Verwendbarkeit des Moduls für andere Studiengänge Modulverantwortlicher Prof. Dr. Dirk Frosch-Wilke Name des/der Hochschullehrer Nils Witt Unterrichts-/Lehrsprache Vorlesung: Deutsch (auf Wunsch Englisch) Unterrichtsmaterial: Englisch Zahl der zugeteilten ECTS-Credits 5 (basierend auf dem Arbeitspensum) Gesamt-Workload des Moduls (aufgeteilt in versch. Lernbzw. Arbeitsformen) Vorlesung: 20h Laborübungen: 20h Projektarbeit: 90h Vorbereitung Präsentation: 20h Semesterwochenstunden SWS 2 SWS Vorlesung 2 SWS Laborübungen Art der Prüfung/ Voraussetzung für die Vergabe von Leistungspunkten Die Studierenden werden im Laufe des Semesters selbstständig ein Projekt durchführen. Der Leistungsnachweis wird durch einen Projektbericht sowie eine Präsentation der Ergebnisse erbracht. (Lernkontrolle / Leistungsüberprüfung auch Dauer der Prüfung) Gewichtung der Note in der Gesamtnote 5 / 165 Qualifikationsziele des Moduls Python Neben R dominiert die Programmiersprache Python in der Machine Learning Praxis. Daher werden zunächst die Grundlagen und Eigenheiten dieser einfach zu erlernenden Sprache vermittelt. Dazu gehört: Programmieren in Python Interaktives Programmieren Exploratives Programmieren Core Libraries für Machine Learning Machine Learning Anschließend werden einige Grundlagen des Maschine Learnings vermittelt. Dabei werden folgende Aspekte beleuchtet: Allgemeine Machine Learning Grundlagen Textbasiertes Machine Learning Datenrepräsentationen Machine Learning Praxis Implementierung von Machine Learning-Algorithmen Weiteres Visualisieren großer, vieldimensionaler Datensätze Präsentation der Ergebnisse Schnittstellendesign Geeignete Abstraktionen finden und erkennen Effiziente Teamarbeit Inhalt des Moduls Python Grundlagen Syntax Datenstrukturen Kontrollstrukturen Funktionen OOP Python protocols/Duck Typing Iteratoren und Generatoren Python libraries Numpy Matplotlib Gensim Scikit-learn Pandas Machine learning Text Vorverarbeitung Text Repräsentationen Bag of Words TF/IDF Word Embeddings Supervised Learning Classification und Regression Logistic Regression Naive Bayes classifier SVM Decision Trees und Random Forests Neuronale Netzwerke Unsupervised Learning Dimensions Reduktion PCA t-SNE Clustering k-Means DBSCAN Topic Modelling LDA pLSA Lern- und Lehrmethoden des Moduls Machine Learning Praxis Train/Test-Split Cross Validation Machine Learning Pipeline Automatisierte Hyperparameter Suche (Gridsearch) Datensatzerstellung (z.B. Webcrawler) Versionskontrolle mit git Vorlesung Gemeinsames exploratives Programmieren Laborübungen Selbstständiges Bearbeiten eines Projektes Besonderes (z.B. OnlineAnteil, Praxisbesuche, Gastsprecher etc.) Empfohlene Literaturliste (Lehr- und Lernmaterialien, Literatur) “Fluent Python” von Luciano Ramalho, URL:http://file.allitebooks.com/20151216/Fluent%20Python.pdf ”Natural Language Processing with Python” von Steven Bird, Ewan Klein & Edward Loper, URL:http://victoria.lviv.ua/html/fl5/NaturalLanguageProcessingWithPython.pdf