Bericht MLUGS Treffen im Oktober 2016
20. October 2016
Protokoll
Vorstellungsrunde
- Andreas; Software-Entwickler; aexea
- Sebastian; arbeitet für 5Analytics
- Stefan; interessiert sich für ML; hat eine Firma
- Robin; techn. Biologe; interessiert, weil Bio
- Michael; Software-Entwickler
- Wilhelm; Software-Entwickler, privat ML
- Alexander; Software-Architect; sucht Anwendungsbereiche für ML
- @frankgerhardt ; selbständig; sucht die große BigData-Anwendung
- Götz; Qualtätskontrolle mit ML
- Uwe; R-Nutzer
- Phillip;
- Markus;
- ?
Meta
Neues Pad bei hackmd.io. Slide mode ist cool.
PSA bei Twitter @mlugs_de folgen!
R in Produktivumgebungen
Allgemeines
Vortrag von 5Analytics
Dr. Sebastian Klenk ist einer der Gründer von 5Analytics
Ziel: aus Daten Vorhersagen zu treffen.
Ziel seiner Plattform: Statistiker. Vereinfachung für den Statistiker
Produkt: Softwareplatform für KI-Anwendungen
In ihrem Umfeld ist der standard R.
Abgrenzung
(von oben nach unten: Action up, Insights down)
- Analytics
- pure Daten, Erkenntnisgewinn durch Mensch
- Advanced Analytics
- Clustering
- Teilinterpretation der Daten
- Predictive Analytics
- Model schon vorhanden. Ergebnis ist Handlungsempfehlung
- Artificial Intelligence
- wichtig ist hier vor allem die Handlung. autonome Handlung
- nicht unbedingt nachvollziehbar was die AI denkt oder warum sie etwas macht
Eine Art Application Server für R
Demo ist ein Schuh-Shop mit Recommendation Engine, dynamic pricing, Rabattempfehlungen, ….
Berechnung in dem Beispiel ist in 300ms in R für die Produktempfehlungen.
Code: recommenderlab und reshape2 als Libraries. UBCF (user based) für den Recommender. Die Webseite macht RPC-calls gegen die Recomender-Engine und bekommt die Prediction in JSON zurück.
Plus für R aus Sicht von Sebastian ist, dass man leicht neue Methoden in R schreiben kann.
Ziel in Unternehmen ist robuste Software. Deshalb Event-Based-Servermodel mit 1 Prozess und 3 Threads (Reader, Worker, Writer). Im Hintergrund R-Prozesse die vom Worker-Thread aus aufgerufen werden. Prediction ist super schnell. Deshalb geht das in diesem Model ohne Timeouts.
Architektur: - Streams eingehend und ausgehend - Pool von R Worker-Prozessen (Python ist in Arbeit) - Storage Worker mit Abstraktion der Daten (SQL, Elastic Search, MongoDB)
Aktuell wird wöchtentlich das ganze Model neu berechnet.
Mathematiker machen eher R. Informatiker eher Python. Deshalb kommt Python zur Plattform dazu.
5analytics macht auch die Modelle für die meisten Kunden dazu. Sie verkaufen also nicht nur den Server mit der Software as a Service.
Für das dynamic Pricing aus der Demo-Anwendung wird ein Cox Proportional Hazard Model verwendet. Die Baseline-Hazard-Function betrachtet Preis (x) und Wahrscheinlichkeit des Kaufs (y). Durch Änderung des Preises (Empfehlung für Rabatte oder auch für grundsätzlich höhere Preise) lässt sich die Kaufwahrscheinlichkeit beeinflussen ohne unnötige Rabatte zu geben.
harte Echtzeit: Antwort nach garantierter Zeit weiche Echtzeit: Antwort im vertretbaren Rahmen.
Verwenden keine Neuronalen Netze. Allerdings SVMs. SVMs haben eine schöne Theorie, bringen aber keinen Vorteil bzgl. der Performanz. Die zahlreichen Parameter erschweren das Tuning.
R
Uwe Sterr
Aufgabe eines Datascientist: Hole die Essenz aus dem Datenwust
Uwe zeigt Beispiele mit R.
Er verwendet shiny als Webserver.
Visualisierung für Kunden, in Python mit Bokeh, zum Selbstexplorieren.
Take Away
https://www.youtube.com/watch?v=6S9r_YbqHy8
GOTO 2012 • The R Language The Good The Bad & The Ugly • John Cook
A most completly chart of Neural Networks
Kaggle
interessante Aufgaben:
-
https://www.kaggle.com/c/melbourne-university-seizure-prediction
-
https://www.kaggle.com/c/leaf-classification
wer bei einer Aufgabe in einem mlugs-Team mitmachen möchte: schreibt bitte auf Twitter an @mlugs_de