Systemintegration und Business Analyse ist Schaufenster für maschinelles Lernen. Hier rechnen neuronale Netze im Kontext von Zeitreihen. Werte aus der Vergangenheit werden in die Zukunft extrapoliert. Bessere Prognosen versprechen bessere Entscheidungen zur Steigerung von Umsatz und zur Senkung von Kosten.
Zeitreihen
Als Beispiel seien historische Nachfragen nach einem beliebigen Produkt gegeben. Kenne ich den Bedarf der folgenden Periode bzw. den Nachfragetrend, so kann ich entsprechend planen (z.B. Lagerbestände und Produktionskapazitäten). Je besser die Prognose, desto akkurater die Planung.
Maschinelles Lernen
Hier geht es zum TSMLTC (Time Series Machine Learning Test Center).
Es stehen Funktionen zum Anlegen beliebiger Zeitreihen zur Verfügung. Zu jeder Zeitreihe kann eine Regressionsgerade berechnet werden, die neben der quadratischen Abweichung von der Zeitreihe auch einen Prognosewert für den nächsten Zeitpunkt liefert.
Ferner können Trainingseinheiten eines neuronalen Netzes konfiguriert und ausgeführt werden. Hierbei bestimmen Lernrate, Anzahl der Iterationen und Größe des Trainingsdatensatzes die Ergebnisse. Neben der quadratischen Abweichung wird ein Prognosewert für den nächsten Zeitpunkt berechnet, so dass ein direkter Vergleich mit der Regression ermöglicht wird.
Werkzeuge
Das neuronale Netz wurde in JAVA ohne Verwendung von Machine Learning Bibliotheken aus-programmiert. Insbesondere die Signalweiterleitung, die Fehlerberechnung, die Signalrückspeisung, die Gewichtsaktualisierung sowie die dafür notwendigen Matrizenmultiplikationen wurden ausgeschrieben. Der Source Code findet sich unter GPL hier.
Der TSMLTC wurde mit Angular (Type Script), Spring Boot (Java), Hibernate/JPA (objekt-relationales Mapping), PostgreSQL (relationale Datenbank) und Apache Kafka (Messaging) entwickelt. Das neuronale Netz und die Regression werden als REST Service und über Apache Kafka aufgerufen. Zeitreihen, Regressionsgeraden und Netzprognosen werden mit plotly (Java Script) visualisiert.