Maschinelles Lernen - LinkFang.de





Maschinelles Lernen


Maschinelles Lernen ist ein Oberbegriff für die „künstliche“ Generierung von Wissen aus Erfahrung: Ein künstliches System lernt aus Beispielen und kann diese nach Beendigung der Lernphase verallgemeinern. Das heißt, es werden nicht einfach die Beispiele auswendig gelernt, sondern es „erkennt“ Muster und Gesetzmäßigkeiten in den Lerndaten. So kann das System auch unbekannte Daten beurteilen (Lerntransfer) oder aber am Lernen unbekannter Daten scheitern (Überanpassung).

Aus dem weiten Spektrum möglicher Anwendungen seien hier genannt automatisierte Diagnose­verfahren, Erkennung von Kreditkartenbetrug, Aktienmarkt­analysen, Klassifikation von Nukleotidsequenzen, Sprach- und Texterkennung und autonome Systeme.

Das Thema ist eng verwandt mit „Knowledge Discovery in Databases“ und „Data-Mining“, bei dem es jedoch vorwiegend um das Finden von neuen Mustern und Gesetzmäßigkeiten geht. Viele Algorithmen können für beide Ziele verwendet werden, und insbesondere kann „Knowledge Discovery in Databases“ verwendet werden, um Lerndaten für „maschinelles Lernen“ zu produzieren oder vorzuverarbeiten, und Algorithmen aus dem maschinellen Lernen finden beim Data-Mining Anwendung.

Symbolische und subsymbolische Systeme

Beim maschinellen Lernen spielt Art und Mächtigkeit der Wissensrepräsentation eine wichtige Rolle. Man unterscheidet zwischen symbolischen Systemen, in denen das Wissen – sowohl die Beispiele als auch die induzierten Regeln – explizit repräsentiert ist, und subsymbolischen Systemen wie neuronale Netze, denen zwar ein berechenbares Verhalten „antrainiert“ wird, die jedoch keinen Einblick in die erlernten Lösungswege erlauben; hier ist Wissen implizit repräsentiert.

Bei den symbolischen Ansätzen werden aussagenlogische und prädikatenlogische Systeme unterschieden. Vertreter der ersteren sind ID3 und sein Nachfolger C4.5. Letztere werden im Bereich der induktiven logischen Programmierung entwickelt.

Algorithmische Ansätze

Die praktische Umsetzung geschieht mittels Algorithmen. Verschiedene Algorithmen aus dem Bereich des maschinellen Lernens lassen sich grob nach diesem Schema einteilen:[1]

Überwachtes Lernen (engl. supervised learning)
Der Algorithmus lernt eine Funktion aus gegebenen Paaren von Ein- und Ausgaben. Dabei stellt während des Lernens ein „Lehrer“ den korrekten Funktionswert zu einer Eingabe bereit. Ziel beim überwachten Lernen ist, dass dem Netz nach mehreren Rechengängen mit unterschiedlichen Ein- und Ausgaben die Fähigkeit antrainiert wird, Assoziationen herzustellen. Ein Teilgebiet des überwachten Lernens ist die automatische Klassifizierung. Ein Anwendungsbeispiel wäre die Handschrifterkennung.
Teilüberwachtes Lernen (engl. semi-supervised learning)
Nur für einen Teil der Eingaben sind die dazugehörigen Ausgaben bekannt.[2]
Unüberwachtes Lernen (engl. unsupervised learning)
Der Algorithmus erzeugt für eine gegebene Menge von Eingaben ein Modell, das die Eingaben beschreibt und Vorhersagen ermöglicht. Dabei gibt es Clustering-Verfahren, die die Daten in mehrere Kategorien einteilen, die sich durch charakteristische Muster voneinander unterscheiden. Das Netz erstellt somit selbständig Klassifikatoren, nach denen es die Eingabemuster einteilt. Ein wichtiger Algorithmus in diesem Zusammenhang ist der EM-Algorithmus, der iterativ die Parameter eines Modells so festlegt, dass es die gesehenen Daten optimal erklärt. Er legt dabei das Vorhandensein nicht beobachtbarer Kategorien zugrunde und schätzt abwechselnd die Zugehörigkeit der Daten zu einer der Kategorien und die Parameter, die die Kategorien ausmachen. Eine Anwendung des EM-Algorithmus findet sich beispielsweise in den Hidden Markov Models (HMMs). Andere Methoden des unüberwachten Lernens, z. B. Hauptkomponentenanalyse verzichten auf die Kategorisierung. Sie zielen darauf ab, die beobachteten Daten in eine einfachere Repräsentation zu übersetzen, die sie trotz drastisch reduzierter Information möglichst genau wiedergibt.
Bestärkendes Lernen (engl. reinforcement learning)
Der Algorithmus lernt durch Belohnung und Bestrafung eine Taktik, wie in potenziell auftretenden Situationen zu handeln ist, um den Nutzen des Agenten (d. h. des Systems, zu dem die Lernkomponente gehört) zu maximieren. Dies ist die häufigste Lernform eines Menschen.
Aktives Lernen (engl. active learning)
Der Algorithmus hat die Möglichkeit für einen Teil der Eingaben die korrekten Ausgaben zu erfragen. Dabei muss der Algorithmus die Fragen bestimmen, welche einen hohen Informationsgewinn versprechen um die Anzahl der Fragen möglichst klein zu halten.[3]

Des Weiteren unterscheidet man zwischen Batch-Lernen, bei denen alle Eingabe/Ausgabe Paare gleichzeitig vorhanden sind und kontinuierlichem (sequentiellen) Lernen, bei dem sich die Struktur des Netzes zeitlich versetzt entwickelt.

Außerdem unterscheidet man zwischen off-line Lernen, bei dem alle Daten gespeichert sind und somit wiederholbar zugreifbar sind, und on-line Lernen, bei dem die Daten nach einmaligen Ausführen und Gewichte anpassen verloren gehen. Batch Training ist immer off-line, on-line Training ist immer inkrementell. Inkrementelles Lernen kann jedoch on-line oder off-line erfolgen.[4]

Lernkategorien

Aufgrund folgender Kategorien kann eine Maschine lernen:

  • Parameter
  • Strukturen
  • versteckte Konzepte

Übersicht über wichtige Ansätze

  Deep Learning Shallow Learning
(Surface Learning)
Überwacht
(Supervised Learning, Input: Daten + Klassifikation)
Unüberwacht
(Unsupervised Learning, Input: nur Daten)

Die Schnittmenge der beiden Ansätze Unsupervised oder Supervised nennt sich Semi-supervised oder Self-supervised.

Software

  • ELKI ist eine in Java programmierte Open-Source-Software mit Schwerpunkt auf unüberwachtem Lernen und mit Index-Unterstützung zur Beschleunigung von Algorithmen.
  • Deeplearning4j ist eine in Java programmierte Open-Source-Software[5], die ein künstliches neuronales Netz implementiert.
  • GNU R ist eine auf vielen Plattformen verfügbare, freie Statistik-Software mit Erweiterungen zum maschinellen Lernen (z. B. rpart, randomForest) und Data-Mining.
  • KNIME - Open-Source-Datamining-, Workflow- und Data-Pipelining-Software.
  • OpenNN ist eine Programmbibliothek geschrieben in C++, die ein künstliches neuronales Netz implementiert.
  • RapidMiner ist eine operatorbasierte graphische Oberfläche für maschinelles Lernen mit kommerziellem Support aber auch einer Community-Edition.
  • Shogun ist eine Open-Source-Toolbox für Kernel-Methoden.
  • WEKA ist eine auf Java basierende Open-Source-Software mit zahlreichen Lernalgorithmen.
  • Das seit 2008 entwickelte Encog ist ein Framework zum maschinellen Lernen für Java, C++ und .NET. Die Stärken befinden sich bei Algorithmen für neuronale Netze.[6]

Literatur

Siehe auch

Weblinks

Einzelnachweise

  1. ftp://ftp.sas.com/pub/neural/FAQ.html#questions
  2. Ralf Mikut: Data Mining in der Medizin und Medizintechnik, Verlag KIT Scientific Publishing, 2008, ISBN 978-3-86644-253-5 S. 34 [1]
  3. Paul Fischer: Algorithmisches Lernen, Springer-Verlag, 2013, ISBN 978-3-663-11956-2, S. 6-7 [2]
  4. ftp://ftp.sas.com/pub/neural/FAQ2.html#A_styles
  5. Deeplearning4j on Github
  6. http://www.heatonresearch.com/encog

Kategorien: Maschinelles Lernen | Klassifizierung | Neuroinformatik | Multivariate Statistik

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Maschinelles Lernen (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.