One-Hot-Kodierung

One-Hot-Kodierung

One-Hot-Kodierung ist ein Verfahren, das Kategorien wie „Hund", „Katze" oder „Vogel" in Zahlenreihen umwandelt, damit ein KI-Modell damit rechnen kann. Jede Kategorie bekommt dabei eine eigene Stelle in der Reihe, die mit 1 markiert wird – alle anderen Stellen bleiben 0.

KI-Modelle rechnen ausschließlich mit Zahlen. Wörter, Farben oder Kategorien wie « Montag » oder « Hund » müssen also erst in Zahlen übersetzt werden. Die One-Hot-Kodierung ist eine der einfachsten Methoden dafür. Man legt eine Liste aller möglichen Kategorien fest. Für jede Kategorie erstellt man dann eine Zahlenreihe, in der genau eine Stelle auf 1 gesetzt wird – alle anderen bleiben 0. Die 1 markiert die zutreffende Kategorie, die Nullen stehen für alle anderen. Bei drei Kategorien – zum Beispiel Hund, Katze, Vogel – sieht das so aus: Hund wird zu [1, 0, 0], Katze zu [0, 1, 0] und Vogel zu [0, 0, 1].

Warum Kategorien nicht einfach nummeriert werden

Der naheliegende Gedanke wäre, die Kategorien schlicht durchzunummerieren: Hund = 1, Katze = 2, Vogel = 3. Das klingt einfach, hat aber einen entscheidenden Haken. Das Modell würde die Zahlen wie echte Größen behandeln. Es würde rechnen, als wäre Vogel dreimal so viel wert wie Hund, oder als läge Katze genau zwischen beiden. Das stimmt aber nicht – die drei Tiere stehen in keiner solchen Rangfolge zueinander.

Die One-Hot-Kodierung umgeht dieses Problem vollständig. Jede Kategorie bekommt eine eigene Stelle in der Zahlenreihe, und alle Abstände zwischen den Kategorien sind gleich groß. Das Modell kann keine falsche Rangfolge hineinlesen, weil keine vorhanden ist. Das ist entscheidend für alles, was mit ungeordneten Kategorien arbeitet: Farben, Länder, Produkttypen, Wochentage.

Wie aus Kategorien Zahlenreihen werden

Der erste Schritt ist, das Vokabular festzulegen – also alle Kategorien, die vorkommen können. Angenommen, ein Modell soll Wetterlagen einschätzen: Sonne, Regen, Schnee, Bewölkt. Das Vokabular hat vier Einträge, jede One-Hot-Reihe ist also vier Stellen lang. « Regen » wird dann zu [0, 1, 0, 0], weil Regen an zweiter Stelle im Vokabular steht.

Das Verfahren ist deterministisch: Dieselbe Kategorie ergibt immer dieselbe Reihe, und zwei verschiedene Kategorien ergeben immer verschiedene Reihen. Es gibt keine Mehrdeutigkeit. Rechenoperationen, die das Modell intern durchführt, sind auf diesen Reihen direkt möglich – das war das eigentliche Ziel der Umwandlung.

Ein praktisches Problem entsteht bei großen Vokabularen. Wenn ein Textmodell 50 000 verschiedene Wörter kennt, ist jede One-Hot-Reihe 50 000 Stellen lang – und fast vollständig aus Nullen. Das ist extrem speicheraufwendig und rechnerisch ineffizient. Deshalb wird die One-Hot-Kodierung in der Sprachverarbeitung oft als erster Schritt genutzt, bevor die langen Reihen durch ein Lernverfahren in kürzere, dichtere Zahlenreihen – sogenannte Embeddings – umgewandelt werden.

One-Hot-Kodierung in Produkten und Datensätzen

In der Praxis begegnet man dem Begriff vor allem in zwei Zusammenhängen. Der erste ist die Datenvorbereitung: Wer einen eigenen Datensatz für ein Modell aufbereitet, muss kategorische Spalten – etwa « Bundesland » oder « Zahlungsmethode » – in Zahlen überführen. Viele Programmbibliotheken, die Datenanalysten täglich nutzen, haben One-Hot-Kodierung als eingebaute Funktion.

Der zweite Kontext ist die Ausgabe von Klassifikationsmodellen. Ein Modell, das Bilder in Kategorien einteilt – etwa ein Spamfilter oder eine Bilderkennung – gibt oft eine Zahlenreihe aus, die strukturell einer One-Hot-Reihe ähnelt. Statt harter Nullen und Einsen stehen dort dann Wahrscheinlichkeiten: etwa [0.02, 0.91, 0.07] für drei mögliche Klassen. Die Klasse mit dem höchsten Wert ist die Vorhersage des Modells. Dieser Vergleich mit der ursprünglichen One-Hot-Reihe aus den Trainingsdaten ist auch der Mechanismus, mit dem das Modell während des Trainings lernt, wie weit daneben seine Vorhersage lag.

Aktuelle News

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.