Lernende Maschinen

Stell dir vor, wir wären eine Welttankstelle. Wir verkaufen jede Sorte Treibstoff, die jemals irgendwo entwickelt, benannt und angeboten wurde, jeweils an einer eigenen Zapfsäule. Bei uns tanken deutsche Autofahrer Diesel, Super und Super Plus, Spanier 95 sin plomo und gasóleo, Japaner Hai-oku und Keiyu.

Stellenmarkt
  1. Senior Software Developer (m/w/d)
    Allianz Technology SE, Stuttgart
  2. UX Designer / Interaction Designer (w/m/d)
    ING Deutschland, Frankfurt am Main
Detailsuche

Unsere Tankstelle ist riesig und unübersichtlich. Wie schicken wir jeden Fahrer mit seinem jeweiligen Fahrzeug an die richtige Säule? Wir könnten unsere Kunden nach ihren Wünschen fragen, aber dazu müssten wir all ihre Sprachen sprechen. Manche Kunden wüssten auch gar nicht, was sie tanken wollen, weil sie gerade in einem geliehenen Fahrzeug sitzen oder weil sie vergesslich sind oder weil ihre robuste russische Technik alles schluckt, was flüssig ist und brennt.

Unsere Kunden hätten zudem unterschiedliche Präferenzen, die teils mit ihren Fahrzeugen zusammenhängen, teils aber auch nicht. Während Mutti ihren Kleinwagen immer genau so betanken möchte, wie es ihr der nette Mann in der Werkstatt schon dreimal erklärt hat, ist das Verhalten von Topverkäufer Johannes E. komplizierter. Gewohnheitsmäßig kippt er Super++ in seinen Audi, geht eh auf Spesenrechnung und man gönnt sich ja sonst nichts. Ist er aber spät dran und ein Kunde wartet, nimmt er die erstbeste freie Säule, an der er sein Auto nicht kaputt macht. Dann ist 95 sin plomo eine Alternative zur Schlange an der Super++-Säule, das kennt er aus seinem Urlaub auf Mallorca. Wenn du mit Johannes E. redest, wirst du davon allerdings nichts erfahren, weil ihm das selbst nicht so bewusst ist. Seine Bedürfnisse zeigen sich erst, wenn du sein Verhalten beobachtest. Seine Verhaltensmuster können sich übrigens jederzeit ändern, zum Beispiel weil Johannes E. die Firma und damit den Firmenwagen gewechselt hat. Plötzlich sitzt Johannes E. in einem Mercedes und ein anderer in seinem Audi.

Eine Datenbank hilft uns nicht

Eine klassische Datenbank hilft uns in dieser Situation wenig. Führen wir sie über Fahrzeuge oder Fahrezeugtypen, verlieren wir die Fahrerpräferenzen; führen wir sie über Fahrer, bekommen wir deren Wechsel vom Diesel zum Erdgas nicht mit. Bilden wir Paare von Auto und Fahrer, haben wir lauter Spezialfälle in der Datenbank und scheitern jedes Mal, wenn eine unbekannte Paarung vorfährt, etwa weil Johannes E. eine Panne hatte und heute einen Mietwagen betankt. Was wir stattdessen haben wollen, ist ein Klassifikator, der fast immer die richtige Entscheidung trifft und dabei vorhandene Informationen generalisiert. Außerdem möchten wir, dass sich unser Klassifikator anpasst, wenn sich die Welt verändert. Wir möchten ihm nicht jede Woche die neuesten Gerüchte aus der Auto Bild und deren Auswirkungen auf seine Tätigkeit einprogrammieren, das soll er schön selbst lernen.

Merkmalsextraktion

Golem Karrierewelt
  1. Hands-on C# Programmierung: virtueller Zwei-Tage-Workshop
    13./14.09.2022, virtuell
  2. IT-Sicherheit für Webentwickler: virtueller Zwei-Tage-Workshop
    27./28.09.2022, Virtuell
Weitere IT-Trainings

Solch einen Klassifikator können wir bauen, und wir können ihn lernfähig machen. Dazu überlegen wir uns zunächst, welche beobachtbaren Merkmale ein Auto nebst Fahrer hat: Farbe, Kennzeichen, Abmessungen, Motor- und Fahrgeräusche, Felgen- und Reifentyp, Anhängerkupplung, Dachgepäckträger, Sauberkeit, Anzahl der Türen, Spoiler, Spracheinstellung des Navigationssystems, eingestellter Radiosender; beim Fahrer Körpergröße, Haarschnitt, Gesichtsbehaarung, Kleidung, Gesichtsausdruck und so weiter. Wir sammeln also erst mal alle Merkmale ein, die wir messen können. Welche dieser Daten wir am Ende wirklich brauchen, wissen wir noch nicht genau, voraussichtlich von allen ein bisschen.

Jedes messbare Merkmal liefert uns eine Dimension in einem vieldimensionalen Raum. Fährt ein Auto an unserer Tankstelle vor, können wir es in allen Dimensionen messen und danach als Punkt in diesem Raum darstellen. Kleine Abweichungen, zum Beispiel durch den Wechsel von Winter- zu Sommerreifen, führen zu kleinen Verschiebungen im Raum. Große Unterschiede, etwa zwischen Muttis Kleinwagen und Bennos Umzugslaster mit ihren jeweiligen Fahrern, führen zu großen Abständen.

  • Repräsentanten der Klassen Diesel und Super im vereinfachten Merkmalsraum. Datenpunkte - durch Kreuze dargestellt - lassen sich anhand ihrer Entfernung zu den Repräsentanten einer Klasse zuordnen. Ein roter Kleinbus mit Anhänger würde an der Diesel-Säule landen.
  • Merkmalsraum in den Dimensionen Farbe und Länge mit Datenpunkten für einige Fahrzeuge. In Wirklichkeit würde man die Farbe als Hue/Saturation/Value darstellen und zur Länge noch die Breite und die Höhe nehmen. Das wären bereits sechs Dimensionen und immer noch ein vereinfachtes Modell.
Merkmalsraum in den Dimensionen Farbe und Länge mit Datenpunkten für einige Fahrzeuge. In Wirklichkeit würde man die Farbe als Hue/Saturation/Value darstellen und zur Länge noch die Breite und die Höhe nehmen. Das wären bereits sechs Dimensionen und immer noch ein vereinfachtes Modell.

Merkmalsraum in den Dimensionen Farbe und Länge mit Datenpunkten für einige Fahrzeuge. In Wirklichkeit würde man die Farbe als Hue/Saturation/Value darstellen und zur Länge noch die Breite und die Höhe nehmen. Das wären bereits sechs Dimensionen und immer noch ein vereinfachtes Modell.

Unser Klassifikator soll uns zu jeder Eingabe - einem Punkt im Raum, der unsere Messwerte zu einem Fahrzeug repräsentiert - eine oder mehrere wahrscheinlich passende Zapfsäulen ausgeben.

Feedback

Wenn unsere Kunden mitdenken und ohne Einweisung oder nach einer falschen Empfehlung selbständig eine für sie richtige Zapfsäule aufsuchen, können wir ihr Verhalten beobachten und daraus lernen. Jedes Mal, wenn jemand bei uns tankt, bekommen wir ein Datensample, einen Punkt im Raum und die für diesen Punkt richtige Entscheidung. Diese Samples sammeln wir sortiert nach richtigen Entscheidungen. Diese Sammlung könnten wir uns noch als Datenbank vorstellen, in der für jede Zapfsäule sämtliche Merkmale der dort beim Tanken gesehenen Auto-Fahrer-Paare hinterlegt sind. Das sind aber nur Rohdaten und wir werden gleich sehen, dass wir sie gar nicht auf Vorrat in einer Datenbank speichern müssen.

Automatische Verallgemeinerung

Unser Klassifikator soll diese Rohdaten generalisieren können, das heißt auch für solche Datenpunkte gute Entscheidungen treffen, für die bisher keine Beobachtungen vorliegen. Repräsentiert unser Datenraum alle oder die meisten für die Klassifikation relevanten Merkmale, so bilden die Rohdaten zu jeder möglichen Entscheidung einen Cluster: Sie liegen näher beieinander als bei den Datenpunkten anderer Cluster. In den Randbereichen kann es zu Überschneidungen kommen. Das liegt entweder an verrauschten Daten aufgrund von Messfehlern, oder an fehlenden Merkmalen. Beispielsweise könnten uns einige Parameter fehlen, die das Verhalten unseres Tankchaoten Johannes E. erklären würden, weil wir seinen Terminkalender nicht kennen.

Die maßgebliche Nachbarschaft zwischen den Datenpunkten eines Clusters besteht dabei oft nur in ausgewählten Merkmalsdimensionen, da nicht alle Merkmale gleichermaßen relevant sind. Welche Dimensionen das sind, kann sich von Cluster zu Cluster unterscheiden. Wir könnten an unserer Tankstelle zum Beispiel beobachten, dass rote deutsche Sportwagen fast immer Super tanken, während Lkws sowie silbergraue und schwarze Mittelklassewagen Diesel bevorzugen. Dieser Cluster ließe sich mit den Merkmalen Farbe und Größe recht genau beschreiben. Gleichzeitig könnten wir beobachten, dass Japaner unabhängig von Autotyp und Farbe stets die Säule Hai-oku bevorzugen, weil es ihnen als unhöflich gilt, öffentlich billigen Diesel zu tanken. Daraus ergibt sich wiederum für die anderen Cluster, dass dort das Merkmal Nationalität eine Rolle spielt, und sei es nur die, Japaner aus dem Cluster auszuschließen.

Repräsentanten für Cluster

Damit unser Klassifikator gut funktioniert, benötigt er Beschreibungen der einzelnen Cluster, ihrer Clustergrenzen und gegebenenfalls der Überschneidungen mehrerer Cluster. Um einen Datenpunkt zu klassifizieren, also eine Entscheidung zu treffen, müssen wir ihn dem passendsten Cluster zuordnen. Erweist sich eine Klassifikation als falsch, so wollen wir außerdem die betroffenen Clusterbeschreibungen anpassen, ohne uns jedoch von einzelnen Ausreißern unsere Statistik kaputtmachen zu lassen. Anstelle der Rohdaten im Datenbankformat verwendet man dafür Repräsentanten: Für jeden Cluster bestimmt man einen Satz von Punkten, der diesen Cluster gut repräsentiert. Diese Repräsentanten liegen irgendwo zwischen den Rohdatenpunkten; ihre Anzahl ist in der Regel geringer.

Für das Beispiel von eben bekämen wir als Repräsentanten des Clusters zur Zapfsäule Hai-Oku gemittelte Erkennungsmerkmale japanischer Fahrer, für Super die gemittelten Merkmale von Sportwagen mit Fahrern, in deren Land Sportwagen Super tanken, und für Diesel gemittelte Merkmale von Lastern sowie von langweilig kolorierten Mittelklassewagen. Die Cluster können komplizierte Formen haben und müssen nicht zusammenhängen, deswegen mehrere Repräsentanten.

  • Repräsentanten der Klassen Diesel und Super im vereinfachten Merkmalsraum. Datenpunkte - durch Kreuze dargestellt - lassen sich anhand ihrer Entfernung zu den Repräsentanten einer Klasse zuordnen. Ein roter Kleinbus mit Anhänger würde an der Diesel-Säule landen.
Repräsentanten der Klassen Diesel und Super im vereinfachten Merkmalsraum. Datenpunkte - durch Kreuze dargestellt - lassen sich anhand ihrer Entfernung zu den Repräsentanten einer Klasse zuordnen. Ein roter Kleinbus mit Anhänger würde an der Diesel-Säule landen.

Um einen neuen Datenpunkt zu klassifizieren, suchen wir uns den oder die nächstgelegenen Repräsentanten zu diesem Punkt und bestimmen daraus die Wahrscheinlichkeit der Clusterzugehörigkeit. Wir schicken das Fahrzeug an die Zapfsäule, deren Cluster die höchste Wahrscheinlichkeit hat. Erweist sich die Entscheidung als falsch, analysieren wir den Fehler und berechnen Korrekturen für die betroffenen Repräsentanten. Diese Korrekturen halten wir klein, Repräsentanten werden nur ein Stückchen in die richtige Richtung verschoben. Das macht unseren Klassifikator robust gegen einzelne statistische Ausreißer. Erst wenn systematische Fehler auftreten, akkumulieren sich viele gleichartige Korrekturen zu einer nennenswerten Verschiebung der Repräsentanten und Clustergrenzen. Beginnen können wir mit zufällig verteilten Repräsentanten; unser Klassifikator wird dann anfangs viele Fehler machen und schnell lernen.

Die Nutzerdaten werfen wir weg

Die ursprünglich erfassten Rohdaten, die gemessenen Merkmalswerte, können wir nach Verwendung wegwerfen. Dass Mutti beim Betanken ihres Kleinwagens immer eine Aldi-Tüte mit Einkäufen auf dem Beifahrersitz liegen hat, geht vielleicht als Merkmal in die Klassifikation ein - steht am Ende aber in keiner Datenbank. Wir brauchen diese Information nicht, unseren Klassifikator interessiert nur, ob der das Merkmal Aldi-Tüte berücksichtigen muss und falls ja, was es über die Clusterzugehörigkeit aussagt.

Wer genauer wissen möchte, wie statistische Inferenz und maschinelles Lernen funktionieren und sich von Formeln nicht abschrecken lässt, findet im Buch Information Theory, Inference, and Learning Algorithms von David MacKay eine hervorragende und umfangreiche Einführung; das komplette Buch mit seinen 600 Seiten gibt es online als PDF-Datei.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Statistisches CrowdsourcingDaten besiegen die Logik 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9.  


Tamashii 22. Nov 2013

Doch, natürlich kann auch solch eine Gesellschaft manipuliert werden! Stell Dir einfach...

samy 16. Mär 2012

Nun ja Gott missbraucht seien Datensammlung aber nicht. Bei Google bin ich mir da nicht...

BabylonXL 14. Mär 2012

Du willst also eine Suche benutzen, die gerade deshalb so gut funktioniert, weil sie...

samy 10. Mär 2012

Der Mensch wurde vermutlich von google dafür bezahlt...



Aktuell auf der Startseite von Golem.de
Einsparverordnungen
So sollen Verwaltung, Bürger und Firmen Energie sparen

Reduzierte Raumtemperaturen und ungeheizte Swimmingpools: Die Regierung fordert eine "nationale Kraftanstrengung" wegen des Gasmangels.

Einsparverordnungen: So sollen Verwaltung, Bürger und Firmen Energie sparen
Artikel
  1. Bildverkleinern in C#: Eine Windows-App zur Verkleinerung von Bilddateien
    Bildverkleinern in C#
    Eine Windows-App zur Verkleinerung von Bilddateien

    Wir zeigen mit Visual Studio, wie Drag-&-Drop funktioniert, klären, ob unter Windows runde Fenster möglich sind, und prüfen, wie aufwendig eine mehrsprachige Bedienungsoberfläche ist (ziemlich).
    Eine Anleitung von Michael Bröde

  2. Geheimgespräche: Apple wollte angeblich Anteil an Facebooks Werbeeinnahmen
    Geheimgespräche
    Apple wollte angeblich Anteil an Facebooks Werbeeinnahmen

    Apples höherer Datenschutz macht Facebook inzwischen das Leben schwer. Zuvor soll es geheime Gespräche über eine Umsatzbeteiligung gegeben haben.

  3. Nachhaltigkeit: Thüringens Reparaturbonus weiter stark nachgefragt
    Nachhaltigkeit
    Thüringens Reparaturbonus weiter stark nachgefragt

    Der Reparaturbonus wird in Thüringen weiter gut genutzt. Eine Stärkung der Gerätereparatur in ganz Deutschland wird noch geprüft.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • LG 38WN95C-W (UWQHD+, 144 Hz) 933,35€ • Sharkoon Light² 180 22,99€ • HyperX Cloud Flight 44€ • BenQ Mobiuz EX3410R 499€ • MindStar (u. a. AMD Ryzen 5 5600X 169€, Intel Core i5-12400F 179€ und XFX RX 6800 XT 699€) • Weekend Sale bei Alternate (u. a. AKRacing Master PRO 353,99€) [Werbung]
    •  /