Suche
Wahrscheinlich oder nicht wahrscheinlich

AMIDST: Eine Java-Toolbox für skalierbares, probabilistisches Machine Learning

Melanie Feldmann

© Shutterstock / Zapp2Photo

 

AMIDST ist ein Open Source Machine Learning Tool in Java 8, das Funktionale Programmierung einsetzt, um Parallelverarbeitung auf Mehrkern-Prozessoren zu nutzen. Das Tool bietet Funktionen und Algorithmen für das Lernen mit statischen und dynamischen Bayesschen Netzen mit Streaming-Daten.

AMIDST ermöglicht es Entwicklern, ihre Probleme mit einer flexiblen, probabilistischen Sprache zu modellieren, die auf grafischen Modellen basiert. Im zweiten Schritt lassen sich diese Modelle mit Daten füttern, die einem Bayes-Ansatz folgen, um mit Unsicherheiten in der Modellierung umzugehen. AMIDST analysiert bei der spanischen BCC-Bank das Risiko von Kreditoperationen. Bei Daimler kommt es für das Erkennen der Intentionen hinter den Manövern von Autos zum Einsatz.

Dass Tool bietet sowohl parallele als auch verteilte Implementierungen von Bayes-Parametern-basiertem Lernen für Batch- und Streaming-Daten. Der parallele Ansatz basiert auf Streams in Java 8. Für die verteilte Datenverarbeitung nutzt das Tool Apache Flink. Damit laufen die AMIDST-Algorithmen auf Hadoop und einer Yarn-Architektur auf Amazon Elastic MapReduce. Dieser Teil der Software befindet sich aber noch in der Entwicklungsphase und ist noch nicht öffentlich verfügbar.

Das AMIDST Framework arbeitet mit zwei Arten von Daten: mit den so genannten DataStreams, also Daten dir kontinuierlich in hoher Frequenz eintreffen, und DataOnMemory aus statischen Datenbanken. Als Datenformat unterstützt das Framework ARFF von Weka. Die Modelle lassen sich aktualisieren, wenn neue Daten vorhanden sind. Damit eignet sich das Tool vor allem für das Lernen mit sehr großen Datenmengen.

Entwickler können ihre Modelle mit probabilistischen Grafikmodelle mit latenten Variablen und zeitlichen Abhängigkeiten spezifizieren. Das Framework enthält bereits mehrere vordefinierte Modelle für latente Variablen. Dazu gehören für statische Modelle Naive Bayes, Bayesian Linear Regression oder Factor Analysis, für dynamische Modelle Kalman Filter, Hidden Markov Model oder Dynamic LCM.

Amidst liegt momentan in der Version 0.6.2 vor und ist auf GitHub verfügbar. Es steht unter der Apache-2.0-Lizenz. Ein Getting Started Guide hilft beim Einstieg.

Verwandte Themen:

Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.