Folie 1 Projekt-INF Entwicklung eines Testbed für den empirischen Vergleich verschiedener Methoden des maschinellen Lernens im Bezug auf die Erlernung von Produktentwicklungswissen
Folie 2 Inhalt Ziel des Projekts Unser Lösungsansatz WEKA Verwendete Algorithmen Verwendete Technologien Implementierung und Beispiel Zusammenfassung
Folie 3 Ziel des Projekts Entwicklung eines Testbeds, also einer Plattform Experimente Implementierung verschiedener Machine- Learning Algorithmen Vergleich der verwendeten Algorithmen
Folie 4 Unser Lösungsansatz Implementierung einer Webanwendung und Middleware in einer Java-Servlet-Umgebung Einfache Benutzeroberfläche mit grundlegenden Klassifizierungs- und Clusteringverfahren Evaluierung und Empfehlung eines Algorithmus für den Benutzer Nutzung bereits existierenden Werkzeuge (WEKA) und Algorithmen
Folie 5 WEKA Waikato Environment for Knowledge Analysis Freie Software für maschinelles Lernen sowie Data-Mining unter GPL-Lizenz, in Java geschrieben Enthält unter anderem Filter für Vorverarbeitung der Daten und Klassifizierungs-, Clusteringsowie Assoziations-Algorithmen
Folie 6
Folie 7 ARFF-Datenformat Für WEKA übliches Datenformat Besteht aus einem Header mit der Beschreibung der Attribute sowie dem Datenbereich Erinnert an CSV- Dateien
Folie 8 Verwendete Algorithmen Clustering Gruppierung der Daten auf Basis ihrer Gemeinsamkeiten Clusterzahl wird vom Benutzer vorgegeben Wichtiger Parameter: Abstand der Elemente im Cluster kleiner als der Elemente in verschiedenen Cluster Klassifizierung Teilt Datenbereich in vorgegebenen Klassen auf Klassen stellen gemeinsame Eigenschaften von Daten dar Klassifikation bedeutet Einordnen in die Eigenschaftsklasse oder in die Klasse mit den wenigsten Kosten
Folie 9 Klassifizierungsalgorithmen Naive-Bayes (NB): NB-Klassifikator hat das Ziel, zu einem gegebenen Datenpunkt zu schätzen, mit welcher Wahrscheinlichkeit er in eine Kategorie passt Setzt Unabhängigkeit der Attribute voraus daher naiv Liefert in der Praxis trotzdem gute Ergebnisse K Nearest Neighbour Training besteht aus simplen Abspeichern von Trainigsdaten Abstand zu allen Trainingsdaten berechnen k nächste Nachbarvektoren betrachten und die Kategorie bestimmen
Folie 10 Clusteringalgorithmus Bildquelle:Sapna Jain, M Afshar Aalam, M. N Doja: K-MEANS CLUSTERING USING WEKA INTERFACE, 2010
Folie 11 Verwendete Technologien Unsere Software läuft auf Java-Servlets Google App Engine Platform-as-a-Service von Google Bietet Zugriff auf andere Google-Dienste Eingeschränkte Servlet-Umgebung Tomcat-Server mit WEKA-Einbindung Übliche Webtechnologien, JQuery
Folie 12
Folie 13 Implementierung Unsere Implementierung besteht aus zwei Teilen: Der Frontend-Server läuft auf der Google App Engine, hier werden die Daten eingegeben und aus die Antworten des Backend-Servers verarbeitet Der Backend-Server nimmt die Daten entgegen und führt mit Hilfe der WEKA-Klassen die Algorithmen aus
Folie 14 Implementierung Die beiden Komponenten kommunizieren über ein von uns definiertes Protokoll, das wiederum HTTP verwendet Der Tomcat-Server führt eine Art Middleware aus. Die Algorithmen können hier z.b. ausgetauscht werden.
Folie 15
Folie 16 Ausblick und Erweiterungsmöglichkeiten Speichern von Ergebnissen in Google App Engine Visualisierung von Daten Bessere Dateneingabe, speziell für größere Datenmengen Vollständige Integration in Google App Engine
Folie 17 Fazit Anwender muss nur für korrekt formatierte Daten sorgen, durch Algorithmenempfehlung kann man sich ansonsten "durchklicken" Ermöglicht es allen möglichen Anwendern ohne Vorkenntnisse und Installation Machine- Learning Algorithmen zu nutzen Anpassungen an verschiedene Bedürfnisse und Fachrichtungen möglich
Folie 18 Fragen?