Machine Learning

Was ist maschinelles Lernen?

Beim maschinellen Lernen geht es darum einen Algorithmus zu schreiben, der mit Daten lernt, was relevant ist. Der Algorithmus kennt also eine allgemeine Struktur, wo er Teile anpassen kann, sodass eine Aufgabe „möglichst gut“ erfüllt wird. Was „möglichst gut“ bedeutet, muss der Programmierer festlegen.

Tom Mitchel hat maschinelles Lernen wie folgt definiert:

„A computer program is said to learn from experience EE with respect to some class of tasks TT and performance measure PP, if its performance at tasks in TT, as measured by PP, improves with experience EE.“

Ein Beispiel:

Angenommen man hat eine Schwertlilie. Es ist klar, dass es eine Schwertlilie ist, aber es könnte entweder eine Iris Setosa, eine Iris Virginica oder eine Iris Versicolor sein. Man muss nun ein Programm schreiben, welches die 3 Arten von einander unterscheiden kann. Der Einfachheit halber werden diese im Folgenden als Klasse I, II und III bezeichnet.

Biologen haben für je 50 konkrete Pflanzen (Instanzen der drei Arten) vier Größen gemessen:

Kelchblatt: Länge und Höhe, in cm.
Kronblatt: Länge und Höhe, in cm.

Wie kann man diese Information nun nutzen um zu lernen, was eine Iris Versicolor von einer Iris Virginica unterscheidet?

Der einfachste Ansatz wäre die Daten für einfache Klassifikatoren zu betrachten. Vielleicht hat Klasse I ja immer eine deutlich kleinere Kelchblattgröße. Oder vielleicht ist das Verhältnis zwischen Kelchblattlänge und Kelchblattbreite deutlich unterschiedlich bei den Arten.

Das wäre eine einfache Lösung für dieses Klassifikationsproblem.