Definition

Was ist TPOT?

| Autor / Redakteur: Stefan Luber / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

TPOT ist ein Open Source Tool für automatisiertes maschinelles Lernen (AutoML). Aufgabe des Tools ist es, optimale Machine Learning Pipelines für die jeweilige Aufgabenstellung des maschinellen Lernens zu finden. Hierfür verwendet TPOT die sogenannte genetische Programmierung. Das Tool basiert auf der scikit-learn-Bibliothek.

Die Abkürzung TPOT steht für Tree-Based Pipeline Optimization Tool. Es handelt sich um ein an der University of Pennsylvania entwickeltes Tool für automatisiertes maschinelles Lernen (AutoML). Ziel der AutoML-Software ist es, das Erstellen der Machine Learning Pipelines zu automatisieren und optimale Kombinationen der verschiedenen Einzelaufgaben des maschinellen Lernens in Form einer Baumstruktur zu finden. Hierfür verwendet das Tool die sogenannte genetische Programmierung und stochastische Suchalgorithmen.

TPOT ist als Werkzeug gedacht, das Hilfestellungen für die Lösung konkreter Aufgabenstellung des maschinellen Lernens bereitstellen soll, indem es viele verschiedene mögliche Pipelines untersucht und die bestmöglichen Ergebnisse darstellt. TPOT kann für diese Aufgabe viele tausende verschiedene Pipelines untersuchen. Das Tool ist beispielsweise einsetzbar für Aufgaben der Klassifizierung oder für Regressionsanalysen und nutzt die auf Python basierende Bibliothek scikit-learn. TPOT selbst ist ebenfalls in Python programmiert. Die Software ist frei verfügbar (Open Source) und kann über GitHub bezogen werden. Die aktuelle Version der Software ist TPOT v0.11.1 (Stand Anfang 2020).

Grundsätzliches zum automatisierten maschinellen Lernen (AutoML)

Automatisiertes maschinelles Lernen (Automated Machine Learning), abgekürzt AutoML, soll den Workflow des maschinellen Lernens beschleunigen und vereinfachen. Dadurch sind Nutzer ohne spezifisches Know-how oder spezielle Programmierkenntnisse des maschinellen Lernens in der Lage, eigene Machine-Learning-Modelle und -Systeme zu erstellen. Je nach Umfang, Aufgabenstellung und Komplexität der Aufgabenstellungen können einzelne Prozessschritte oder komplette Machine-Learning-Prozesse automatisiert werden.

Beispielsweise lassen sich Prozessschritte wie das Aufbereiten der Daten, die Auswahl geeigneter Machine-Learning-Modelle und -Algorithmen oder das Deployment der Modelle automatisieren. Vor allem bei sehr komplexen Machine-Learning-Aufgabenstellungen und -Prozessen ist es schwierig, sämtliche Prozessschritte zu automatisieren. Einige Aufgaben wie das prinzipielle Verständnis der Problemstellung oder spezielle Abläufe des Data-Engineerings sind in diesen Fällen nach wie vor von Menschen zu erledigen. Für den Anwender ergeben sich mit AutoML die Vorteile, dass sich produktionsreife Machine-Learning-Modelle in kürzerer Zeit erstellen lassen, bessere Ergebnisse geliefert werden und kein Bedarf an Spezialisten wie an ML-Programmierern oder Datenwissenschaftlern besteht. TPOT ist ein Tool unter zahlreichen verfügbaren Lösungen für automatisiertes maschinelles Lernen.

Die Arbeitsweise von TPOT

Eine ML-Pipeline besteht aus verschiedenen Einzelschritten und bildet eine Art ausführbaren Workflow zur Lösung einer Machine-Learning-Problemstellung. Die verschiedenen Teilaufgaben werden in der Pipeline nacheinander abgearbeitet. Einen optimalen Workflow für bestmögliche Ergebnisse zu finden, ist eine aufwendige Aufgabe, die, manuell ausgeführt, viel Ressourcen und Zeit benötigt. Hier setzt das Tool TPOT an. TPOT basiert auf der Bibliothek scikit-learn und lässt sich auf einem Rechner wie ein Python-Modul importieren. Nach dem Import steht es dem Anwender zur Optimierung der ML-Pipelines zur Verfügung.

Zur Optimierung der Pipelines kommt die sogenannte genetische Programmierung zum Einsatz. Die genetische Programmierung gehört zu den evolutionären Algorithmen und ist von der Evolution natürlicher Lebewesen inspiriert. Sie stellt Funktionen in Form von Baumstrukturen dar und verfolgt das Ziel, optimale Strukturen zur Lösung einer Aufgabenstellung zu finden. Im Fall von TPOT kommt die genetische Programmierung zum Einsatz, um die am besten geeigneten und performantesten Pipelines eines Machine-Learning-Prozesses zu finden.

Genetische Suchalgorithmen finden die besten Parameter und Modell-Kombinationen, indem TPOT bestimmte Pipelines ausprobiert, deren Performance bestimmt und einzelne Prozessschritte der Pipeline verändert, um die Performance zu verbessern. TPOT besitzt die Fähigkeit, alle möglichen Arten von Pipelines und Kombinationen von Einzelschritten automatisiert zu evaluieren. Dieser Evaluierungsprozess nimmt jedoch eine gewisse Zeit in Anspruch. Vor allem bei großen Datasets müssen viele tausend unterschiedliche Pipelines untersucht und bewertet werden.

Typischerweise beträgt die Laufzeit einer TPOT-Optimierung bei großen Datasets einige Stunden bis mehrere Tage. Wird der Optimierungsprozess vorher unterbrochen, liefert TPOT das bis dahin beste Ergebnis. Das Tool ermöglicht es, einen angehalten Optimierungsvorgang an der unterbrochenen Stelle erneut zu starten und weiterzuführen. Ist TPOT vollständig durchgelaufen, lässt sich der Python Code für die optimale Pipeline exportieren.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

So automatisiert KI die Entwicklung von KI-Modellen

AutoML

So automatisiert KI die Entwicklung von KI-Modellen

Schon jetzt gibt es laut Bitkom nicht genügend Fachkräfte, um den steigenden Bedarf an Datenanalysen zu decken. Automatisierung kann hier der Schlüssel sein, der Data Scientists von wiederholenden und zeitaufwendigen Tätigkeiten befreit. Genau hier setzt die Idee an, Künstliche Intelligenz einzusetzen, um den gesamten Modellierungsprozess zu automatisieren und zu beschleunigen. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46362988 / Definitionen)