Umsetzung von Algorithmen des maschinellen Lernens in SQL

Betreuer / Ansprechpartner

  • Hannes Grunert

    Charakter

      • Konzeption
      • Prototypische Implementierung

      Vorkenntnisse

        • Pflicht: Vorlesung Datenbanken I & Datenbankanwendungsprogrammierung
        • Optional: Vorlesung Datenbanken II

        Beschreibung

        Maschinelles Lernen, KI und Data Mining sind in der modernen Datenanalyse nicht mehr wegzudenken. Durch eine Vielzahl von Verfahren und Algorithmen werden wichtige Informationen und Erkenntnisse aus den Rohdaten gewonnen.

        Große Datenmengen werden in verschiedenen Datenbanksystemen, darunter auch klassische relationale DBMS, gespeichert. In vielen Data-Science-Anwendungen findet hier ein „Medienbruch“ statt: Aus der Datenbank werden die Daten mit einer einfachen „SELECT * FROM table“-SQL-Anfrage geladen und wahlweise in einer CSV-Datei gespeichert oder in einen pandas-DataFrame geladen. Dabei gehen die Vorteile des Datenbanksystems, wie beispielsweise Indexstrukturen, verloren.

        Der SQL-Standard sieht bereits einige Analyseverfahren, wie Korrelation und Regression vor, die auch in vielen DBMS unterstützt werden, jedoch werden moderne Verfahren, wie Neuronale Netze, Entscheidungsbäume und Clustering-Algorithmen nicht unterstützt bzw. es existieren keine einheitlichen Schnittstellen über mehrere DBMS hinweg.

        Im Rahmen dieser Bachelorarbeit sollen mehrere ML-Verfahren in SQL implementiert werden. Der Fokus liegt dabei auf der Untersuchung der Performance verschiedener Umsetzungsmöglichkeiten (reines SQL, Stored Procedures, UDFs).

        Arbeitsschritte

        • Einarbeitung in das Gebiet / Literaturanalyse / Stand der Technik
          • Häufig eingesetzte ML-Verfahren
          • Unterstützung von ML-Verfahren in DBMS
        • Konzeption
          • Auswahl geeigneter Verfahren
          • Schaffung einheitlicher Schnittstellen
        • Umsetzung der Verfahren in mehreren DBMS
        • Test und Validierung des Verfahrens

        Technologien

          • Programmiersprache: SQL

          Literatur

            • Maik Schmude: Systematische Untersuchung der Anfragekapazität verschiedener DBMS. Bachelorarbeit, Universität Rostock, 2016.
            • Uwe Lämmel und Jürgen Cleve: Künstliche Intelligenz: Wissensverarbeitung–Neuronale Netze. Carl Hanser Verlag GmbH Co KG, 2023.
            • Weitere Literatur wird zu Beginn der Arbeit bekannt gegeben.