"Künstliche Intelligenz" ist derzeit ein dynamisches Gebiet, dem eine hohe Auswirkung auf fast alle
Lebensbereiche und insbesondere Branchen der Wirtschaft zugesprochen wird. Von mehr praktischer
Relevanz ist das Teilgebiet Machine Learning- jene Disziplin, in der automatisierbare statistische Mittel
entwickelt werden, um aus Data Mining zu betreiben, d.h. aus Daten Informationen zu gewinnen. Seit einiger Zeit sind Large Language Models (LLMs) allgemein bekannt und werden vermehrt auch von Leuten eingesetzt, welche keine Programmierkenntnisse haben. In diesem Modul geht es darum, wichtige Konzepte des Machine Learning (ML) nicht nur kennenzulernen, sondern aktiv anzuwenden. Die Möglichkeiten von Large Language Models wie chatGPT gehören da ebenso dazu wie Neuronale Netze ("Deep Learning") im Allgemeinen oder traditionellere ML-Instrumente wie Entscheidungsbäume. Neben diesen statistischen Modellen im engeren Sinne geht es in diesem Modul hauptsächlich um die Entwicklung praxisnahen Kompetenzen, um Muster in Daten zu erkennen, Modelle zu trainieren (oder ein prompt Engineering durchzuführen) und deren Performanz im Hinblick auf einen konkreten Anwendungsfall zu evaluieren. "Praxisnah" bedeutet, dass in einer gemeinsamen Projektarbeit alle wichtigen Aspekte eines Machine Learning Projekts durchgespielt werden: Nach einer Schilderung der Problemsituation und des Lösungsansatzes (Business Understanding) erarbeiten wir dann (individuell oder im Kollektiv) über 13 Wochen eine Lösung (Modelling). Abschliessend stellen wir unsere Ergebnisse gemeinsam und in (bewerteten) Einzelpräsentationen dem Kunden vor (Evaluation).
Es besteht Raum für unterschiedliche Niveaus von Programmier-Vorkenntnissen: Ein Basiscode für Bilderkennung in Python ist bereits weit entwickelt und kann auch fast ohne Programmierkenntnisse verwendet werden, auch für LLM-Anwendungen sind Vorlagen vorhanden. Es besteht viel Raum für die individuelle Weiterentwicklung von Programmierkenntnissen aber auch für prompt Engineering sowie für Management-Level Projekt- und Kommunikationsarbeit.
Workload [h]
Vorlesung: 28
Übungen: 28
Selbststudium: 64
Total: 120
Fachkompetenzen:
Die Teilnehmenden können:
• Das methodische Vorgehen bei Machine Learning/Knowledge Discovery in Databases (KDD-) Projekten aus eigener Erfahrung erklären.
• in allen Phasen eines KDD-Projekts Entscheidungsoptionen nennen und an Hand eigener Erfahrung erläutern welche Auswirkungen diese haben.
• Die Grundzüge der wichtigen Klassen von statistischen Verfahren erklären, und intuitiv begründete Entwicklungsentscheide beim Prototypenbau fällen
Methodenkompetenzen:
Die Teilnehmenden können:
• angeleitet Programmieren und die wichtige Softwareengineeringaufgaben selbständig durchführen
• Anforderungen eines Kunden in Anforderungen und Massnahmen für ein KDD-Projekt übersetzen
• Die Zweckmässigkeit von Methoden der Textanalyse und -klassifikationen in konkreten Situationen beurteilen
Selbstkompetenzen:
Die Teilnehmenden können:
• den aktuellen Stand eines KDD-Projekts beurteilen und daraus individuelle Massnahmen für das weitere Vorgehen ableiten.
• Verantwortung übernehmen für Teilfunktionalitäten in der Erarbeitung einer Data Mining-Software für einen Kunden
• eine Deadline zur Produktfinalisierung einhalten
Sozialkompetenzen:
Die Teilnehmenden können:
• sich mit Mitstudierenden Abstimmen im Hinblick auf ein gemeinsames Entwicklungsziel
• kritisch die Leistung einer Data Mining-Lösung beurteilen und angemessen (vereinfacht) dem Kunden gegenüber darlegen.
Die Durchführung von Machine Learning bzw. KDD-Projekte erfordert nebst fachlichem Wissens und Programmierfähigkeiten mit Data Mining-Werkzeugen insbesondere die Fähigkeit, in einem längeren Entwicklungsprozess laufend datenbasiert Kleinstentscheide zu fällen. Iterativ erstellte Machine Learning Projekte müssen laufend auf die aktuelle Eignung des bestehenden Prototyps, die Ursache eines Programmfehlers oder die Unangemessenheit eines Feature Engineeringentscheids, der Wahl eines Hyperparameterwerts oder der Bedeutung einer Performanzvisualisierung hin analysiert werden, um daraus einen Entscheid für das weitere Vorgehen zu treffen.
Dieses Modul spielt mit den Studierenden einen Anwendungsfall der Stadt St.Gallen durch, um möglichst viele dieser Kleinstkompetenzen im Gesamtkontext eines KDD-Projekts zu beleuchten. Dabei liegt, ausgehend von dem Vorwissen der Studierenden, ein Schwerpunkt auf dem Erwerb von Fähigkeiten in der Nutzung von Programmier- und Softwareentwicklungswerkzeugen (Python, git, virtualenv), ein zweiter auf den konzeptionellen Themen des maschinellen Lernens (statistisches Lernen, Overfitting, Spezifika der Phasen des KDD-Prozesses)
Pflichtliteratur wie Skript, Bücher:
Aurélien Géron, Praxiseinstieg Machine Learning mit Scikit-Learn, Keras und Tensorflow, O'Reilly, 2020
Weiterführende Literatur (Empfehlung an Studierende)
Annalyn Ng, Kenneth Soo, Data Science- was ist das eigentlich?! Springer, 2018
Durchführung gemäss Stundenplan