Data Analytics

Sparse Coding

Um ihre Daten besser zu verstehen, ist es meistens ein guter Ansatz die Daten in ihre integralen Bestandteile zu zerlegen. In diesem Beispiel, welches Sparse Coding entspricht, wurden Bildausschnitte (rote Rechtecke) in diese Bestandteile zerlegt. Die Ansammlung an Bestandteilen entspricht den Ecken und Kanten aus denen die Objekte in der Bilddatenbank bestehen.

Eine gewichtete Kombination dieser Bestandteile kann nun das Original-Signal, in diesem Fall einen Bildausschnitt, wieder herstellen. Diese ist der Grundgedanke hinter Sparse Coding.

Eine genaue Untersuchung der Bestandteile des Eingangssignal eröffnet oft einen neuen Blick auf die Daten, mit dessen Hilfe sich nun neue, bessere, Algorithmen entwickeln lassen, welche des volle Potential der Daten ausschöpfen. 

Ein solcher Ansatz erlaubt einen neuen, meist noch nicht in Betracht gezogenen, Blick auf einen Prozess, zum Bsp. einen Business-Prozess. In diesem Fall würden andere, bessere, Entscheidungen anhand der neuen Informationen getroffen werden.

Deep Generative Models

Generative Deep Belief Networks oder Deep Belief Models, zum Beispiel Restricted  Boltzmann Machines und andere, so genannte, Auto Encoder-Decoder Modelle modellieren die verfügbaren Daten. Implizit lernen solche Modele die Wahrscheinlichkeitsverteilung der Daten und eröffnen damit die Möglichkeit zu entscheiden ob neue, vorher ungesehene, Daten dieser Art sind oder einer anderen Gruppe zugeordnet werden.

Außerdem ermöglichen es solche Modelle Stichproben zu "entnehmen". Das Model hat damit die Möglichkeit zu zeigen welche Daten es "mag" und es welche es nicht "sehen möchte". 

Diese Modelle eröffnen außerdem die Möglichkeit gegebene, aber verrauschte, Datensignale wieder herzustellen indem sie, einfach gesprochen, den nächsten "Nachbarn" des verrauschten Datensignals suchen. 

Diese Art von Modellen, wie auf der linken Illustration gezeigt, bauen oft auf einer hierarchischen Struktur auf und ermöglich so einen Einblick in die Grundbausteine der Daten. 

Lernen von Distanzmaßen

Um Daten besser Analysieren zu können, hilft es oft Distanzmaße zu lernen.

In der Regel wird dabei darauf geachtet, dass während des Lernens die Distanz zweier gleicher Instanzen (im Bild auf der linken Seite die Zahl 2) eine kurze Distanz haben und zu allen anderen Zahlen eine große Distanz haben. 

Diese Art des Deep Learning ermöglicht es auf relativ einfache Art und Weiße einen Überblick über die Daten zu bekommen. Im linken Beispiel wurde ein Distanzmaß so gelernt, dass die Daten in einer zweidimensionalen Darstellung erkennbar gemacht werden können. Wie man gut erkennen kann haben sich um die verschiedenen Zahlen Cluster (Ansammlungen) gebildet. 

Das Beispiel lässt sich auf eine Vielzahl von Daten übertragen, darunter Bild-, Video- und Audiodaten aber auch Dokument- oder Metadaten oder einer Kombination mehrerer Datenquellen.

Lernen mit Mannigfaltigkeiten

Meist stellen wir uns die vorhandenen Daten anders vor als sie tatsächlich verteilt sind -- zum Beipsiel als Datenpunkte in einem hochdimensionalen Raum. Leider ist die menschliche Vorstellung der Verteilung der Daten in diesem Raum meist falsch. 

Daten liegen sehr oft nah beeinander, wobei es logisch erscheint das ähnliche Dateninstanzen auch eine geringe Nähe haben. Verschiedene Transformationen der Daten (bei Bildaten zum Beispiel Skalierung oder Drehung), ändern die Position der Datenpunkte auf bestimmte Art und Weise.

Durch die verschieden möglichen Transformationen die ein Datenpunkt unterlaufen kann bilden sich Manigfaltigkeit. Grob gesagt sind dies Teilräume in denen die Daten liegen. 

Durch das Erkennen dieser Manigfaltigkeiten kann ein entsprechender Algorithmus, zum Beispiel durch die Definition eines Distanzmaßes welches die Manigfaltigkeit respektiert, optimiert werden und liefert letztendlich bessere Ergebnisse.