1. MLUGS Treffen im Januar 2017

    Unser sechstes Treffen ist am Dienstag, dem 17.01. in der Marienstrasse 23 bei aexea.

    Themen:

    • Andreas Werner: Vorhersage von Rinderkrankheiten mit Milchspektraldaten
    • (Vorschläge sind willkommen)

    Wann:

    17. Januar 2017 um 18:30

    Wo:

    Marienstrasse 23, Stuttgart-West, aexea (1. OG)

    Bitte meldet euch an unter:

    https://www.letsmeet.click/c/machine-learning-user-group-stuttgart

  2. Bericht MLUGS Treffen im November 2016

    Protokoll

    Vorstellungsrunde

    • Andreas, bei aexea, Software-Entwicker
    • Stefan, IT-Firma, interessiert an ML
    • Stefan, Gründer 5analytics
    • Christian, Daimler, Data-Scientist
    • Alex, Software-Architekt
    • Wilhelm, Software-Entwickler, privat ML
    • Robin, System-Biologe
    • Andreas, Daimler, IT, Datamining
    • Wolfgang, Matlab
    • Uwe, Raumfahrt, Laser, will ML+Laserkommunikation machen
    • Andreas, ML in der Landwirtschaft

    • 6 Nachzügler

    image

    Uwe Sterr - H2O

    • http://www.h2o.ai/
    • Uwe macht Kaggle und H2O kommt eben auch mit großen Daten zurecht
    • auch gute Parallelisierung
    • H2O ist java
    • H2O hat apis zu Python, R, Scala und eine Web-API
    • H2O macht eine Vorhersage wie lange es dauert
    • der Workflow ist im browser und geführt / aber eher zum rumspielen
    • H2O kann aus einer sequenz/liste die besten parameter finden. durchprobieren.

    Featureengineering

    • https://www.kaggle.com/c/melbourne-university-seizure-prediction
    • FFT -> rausfiltern von 0ern. Fenster von 10s mit 50% overlap

    Anwendungsbeschreibungen

    • Predictive Instandhaltung (Daimler)
    • Prozessoptimierung - "Erwartetes Produktionsergebnis erfüllt?" (Daimler)

    "Self-Driving Car Engineer"-Kurs

    3 Anwesende machen bei https://www.udacity.com/drive mit. Start Dezember 2016

    Robin Garcia: Inverse Probleme

    Direktes Problem: Ursache -> Wirkung

    Bei einem Indirekten (Inversen) Problem: Wirkung -> Ursache

    Treten auf: - ist eine indirekte Wirkung - kann nicht direkt gemessen werden

    Im ML: - Parameterschätzung als inverses Problem - Parameter über kleinste-Quadrate-Schätzung (KQS) bestimmen - Problem: viel Daten/wenig Rauschen oder wenig Daten/viel Rauschen

    • Tikhonov-Regularisierung zum Annähern der Parameter
    • Vorteil: eindeutige Lösung
    • Nachteil: systematischer Fehler

    • https://en.wikipedia.org/wiki/Tikhonov_regularization

    • https://en.wikipedia.org/wiki/Lasso_(statistics)

    nächster Termin

    1. Januar 2017
  3. MLUGS Treffen im November 2016

    Unser fünftes Treffen ist am Dienstag, dem 15.11. in der Marienstrasse 23 bei aexea.

    Themen:

    • Uwe Sterr: H2O
    • Robin Garcia: Inverse Probleme - https://de.wikipedia.org/wiki/Inverses_Problem

    Wann:

    15. November 2016 um 18:30

    Wo:

    Marienstrasse 23, Stuttgart-West, aexea (1. OG)

    Bitte meldet euch an unter:

    https://www.letsmeet.click/c/machine-learning-user-group-stuttgart

  4. Bericht MLUGS Treffen im Oktober 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

  5. MLUGS Treffen im Oktober 2016

    Unser fünftes Treffen ist am Dienstag, dem 18.10. in der Marienstrasse 23 bei aexea.

    Themen:

    • R in Produktivumgebungen - Wie man R in Unternehmensprozesse integrieren kann

    R ist dem Experimentierstadium entwachsen und wird zunehmend in produktiven Umgebungen eingesetzt. Das bedeutet, dass die von Data Scientists erstellten Scripte nicht nur zur Erzeugung von Statistiken und Grafiken für Berichte genutzt werden, sondern im Batch- oder sogar Echtzeit-Betrieb unternehmenskritische Aufgaben erledigen. Das bedeutet aber auch, dass die von Data Scientists erstellten R-Skripte nicht mehr lokal auf dem Rechner des Entwicklers laufen, sondern auf einem Server irgendwo im Rechenzentrum oder in der Cloud und dort auch angesprochen werden können.

    5Analytics hat sich darauf spezialisiert R in Unternehmensprozesse zu integrieren. Im Rahmen dieses Vortrags stellen wir unsere 5Analytics AI Platform vor und zeigen anhand von Beispielen wie man R nutzen kann um Entscheidungen in Echtzeit zu treffen.

    URL: http://www.5analytics.com/

    Wann:

    18. Oktober 2016 um 18:30

    Wo:

    Marienstrasse 23, Stuttgart-West, aexea (1. OG)

    Bitte meldet euch an unter:

    https://www.letsmeet.click/c/machine-learning-user-group-stuttgart

  6. Bericht MLUGS Treffen im September 2016

    Protokoll

    Vorstellungsrunde

    • Andreas;ax-semantics;Software-Entwickler
    • Frank;eigene Firma
    • Michael;ax-semantics;Software-Entwickler
    • Christian;Daimler;Senior-Data-Scientist
    • Stefan;hat Firma;interessiert an ML
    • Andreas;Luft- und Raumfahrttechniker;macht was mit Lasern

    TensorFlow.Learn Hands-On

    • Tensor: mehrdimensionale Matrix
    • Flow: Graphen, die lazy ausgewertet werden
    • Learn: von sklearn http://scikit-learn.org/

    • TensorFlow.Learn (früher skflow): TensorFlow in sklearn

    • Alternative: TFLearn http://tflearn.org/

    • Zwei Docker-Container

    • 1x Jupyter, 1x Tensorboard
    • Container teilen sich Volume

    • Tutorial für TensorFlow.Learn: https://www.tensorflow.org/versions/r0.10/tutorials/tflearn/index.html#tf-contrib-learn-quickstart

    • Datenset von Otto auf Kaggle: https://www.kaggle.com/c/otto-group-product-classification-challenge

    • TensorBoard zum Graph zeigen und Events (z.B. accuracy/loss) plotten

    Andreas Hornig: Sucht Satelliten-Dinge

    • versucht mit Signalverarbeitung CubeSats zu finden
    • sein Problem, der Code ist auf dem RaspberryPi3 ca. 3x langsamer als Echtzeitverarbeitung
  7. MLUGS Treffen im September 2016

    Unser viertes Treffen ist am Dienstag, den 20.9. in der Marienstrasse 23 bei aexea.

    Themen:

    • Andreas Madsack - TensorFlow.Learn Hands-On (Aus Daten ein einfaches NN mit TensorFlow/TensorBoard erstellen)
    • (Vorschläge sind willkommen)
    • Lightningtalks:
      • Andreas Hornig - Irgendwas mit Raumfahrt/Satelliten/Signalverarbeitung
      • (auch hier könnt ihr gerne weitere Vorschläge machen)

    Wann:

    20. September 2016 um 18:30

    Wo:

    Marienstrasse 23, Stuttgart-West, aexea (1. OG)

    Bitte meldet euch an unter:

    https://www.letsmeet.click/c/machine-learning-user-group-stuttgart

  8. Bericht MLUGS Treffen im Juli 2016

    Protokoll

    Vorstellungsrunde

    • Andreas;ax-semantics;Python-Entwickler
    • Frank;eigene Firma
    • Götz;Machinenbauer;macht predictive Maintenance;hält nachher Vortrag dazu
    • Alex;Systemigenieur;noch nichts mit ML gemacht;eingelesen und interessiert
    • Frank;ax-semantics;CVO - interessiert an business cases
    • Andreas;Milchanalyse und -auswertung;in R
    • Uwe;Raumfahrt;Simulationstechnik, sucht business cases für Raumfahrt
    • Armin;Kaufland IT;BI
    • Johannes;Kaufland IT;BWLer, hält Vortrag nachher;will Prozesse mit ML beeinflussen
    • Stefan;hat Firma;interessiert an ML
    • Christian;Daimler

    +1 Nachzügler

    Johannes Heischmann - Diskussion zu Business-Cases für Machine-Learning

    Folien: https://github.com/mlugs/jupyter/blob/master/slides/Use_Cases_MLUGS_final.pdf

    Artikel in der Harvard Review: https://hbr.org/2016/02/companies-are-reimagining-business-processes-with-algorithms

    Weg von Prozessen hin zu regelgetriebenen Aktivitäten

    Regeln wurden aus einem All-in-one-System rausgebaut. Software-Oriented-Architecture

    Wissen -> Lernen -> Regeln -> Methoden -> Prozess

    Prozesse sind effizient; aber eben starr

    die Verbesserung ist, dabei die Regeln zum steuern zu verwenden, und keine Methoden/Prozesse daraus zu machen

    Beispiel: wo kommt ein Artikel ins Regal? Diese Regeln immer wieder nachvalidieren.

    Viele der Regeln bei Kaufland werden aktuell von Menschen entschieden (ca. 30 Personen).

    Diskussion: Preisänderung innerhalb eines Tages. vielleicht sogar stündlich.

    SAP F&R für Planung aktuell. und Blue Yonder für Fleisch. Ziel möglichst wenig wegwerfen.

    Menschliche Disponenten machen manchmal Fehler. Maschinen dürfen weniger Fehler machen, weil man das von ihnen erwartet.

    Blackbox Machine-Learning hat ein ggü Menschen Argumentationsproblem.

    A/B-Test zwischen neuronalem Netz und menschlichen Disponenten

    Wenn am Sonntag viel nach Eis gegooglet wird, dann wird am Montag mehr Eis verkauft.

    Will man die Disponenten wirklich komplett ersetzen? Sicher erstmal nicht.

    Diskussion: Ethik von ML. Der Algorithmus performt besser, wenn die kranke Kuh früher geschlachtet wird.

    Du musst ggü. dem Betriebsrat beweisen, dass damit keine Mitarbeiter überwacht/gemessen werden.

    Es wird um mögliche Betriebsratsprobleme herumimplementiert.

    Götz Bräuer - Business Case in der Zeitungsproduktion bei Freiburger Druck. Aus der Sicht des Qualitätsmanagemts berichten wir über Condition Monitoring bei Druckmaschinen mit dem Ziel Predictive Maintenance.

    seine Firma ist bringQ - Qualitätsmanagement

    wasserloses Druckverfahren bei Freiburger Druck

    heute ist QM wichtig, weil man keine Ausfälle möchte

    Ziel dabei auch mehr die Fehler monitoren und protokollieren.

    Ziel: lernende Mitarbeiter; lernende Maschinen; lernende Produktion; lernende Organisation

    Erfassen der Fehler mit 8D-Report: W-Fragen, ...

    Ableitung der Fehlerbäume

    Auswertung mit Qlik Sense (kostenfrei bis zu 5 User)

    Ausblick: Audioaufnahmen, ob die Druckmaschine richtig arbeitet.

    Messen vs. einfach ausbauen nach X Durchläufen.

    Resultat inzw. 99.991% Zuverlässigkeit ... dadurch weniger leute im Support; vor allem nachts. Mitarbeiter jetzt anders eingesetzt.

    Möglicher (anderer) Businesscase: Rechner mitverkaufen, um die Anlage zu überwachen und besser festzustellen ob noch alles ok ist.

    Gerold Hafner - Lebensmittel retten!

    ISWA, Uni Stuttgart

    Thema: (kein) Müll - Lebensmittelverschwendung

    http://www.green-cook.org / http://refowas.de

    Ziel: Prognose der Nachfrage in Supermärkten und in Großküchen / Monitoring Lebensmittelverlust in Bayern

    Größtes Potential sind vermeidbare Lebensmittelabfälle schon beim Kunden. Viel mehr Abfälle als im Handel.

    Bayern möchte eine App für Großküchen, Gastronomie, Bäckereien, Online-App; Zentrale Datenbank für Monitoring Bayern

    Hinterlegung von Benchmarks / Referenzwerten

    aktuell: Windowssoftware mit Waage in der Küche

    mögliche Lösung: Bildverarbeitung / Videoverarbeitung

    sucht Enwickler für neue verbesserte Lösung

  9. MLUGS Treffen im Juli 2016

    Unser drittes Treffen ist am Dienstag, den 19.7. in der Marienstrasse 23 bei aexea.

    Themen:

    • Wolfgang Kraus / Johannes Heischmann - Diskussion zu Business-Cases für Machine-Learning
    • Götz Bräuer - Business Case in der Zeitungsproduktion bei Freiburger Druck. Aus der Sicht des Qualitätsmanagemts berichten wir über Condition Monitoring bei Druckmaschinen mit dem Ziel Predictive Maintenance.
    • Gerold Hafner - Lebensmittel retten! ISWA, Uni Stuttgart
    • (weitere Vorschläge sind willkommen)
    • Lightningtalks:

      • (auch hier könnt ihr gerne Vorschläge machen)

    Wann:

    19. Juli 2016 um 18:30

    Wo:

    Marienstrasse 23, Stuttgart-West, aexea (1. OG)

    Bitte meldet euch an unter:

    https://www.letsmeet.click/c/machine-learning-user-group-stuttgart

  10. Bericht MLUGS Treffen im Juni 2016

    Protokoll

    Vorstellungsrunde

    • Andreas; ax-semantics; Software-Entwickler
    • Frank; IoT/Maschinenbau-Software-Entwicklung
    • David; arbeitet sich in ML rein; arbeitet Bücher durch
    • Viktor; Software-Architekt bei softwareinmotion; embedded/web. inzw. ML; verwendet F#
    • Michael; Kaufland; Datamining
    • Armin; Kaufland; Data-Warehousing
    • Wolfgang; Kaufland; Innovation-Management, auch Kaufland-IT macht cooles Zeug
    • Robin; Technische Biologie-Student; shack
    • Stefan; hat eine Firma; Java/ERP

    +1 Nachzügler

    Dr. Frank Gerhardt - Machine Learning with PySpark

    wurde schon als Workshop auf der PyData in Berlin gehalten.

    https://hub.docker.com/r/gerhardt/pyspark-workshop/

    Die Idee hinter PySpark: Apache Spark ist ein Framework um Kollektions beliebiger Größe verarbeiten zu können. Massiv parallel.

    Macht quasi map/reduce.

    Frank würde eher Cassandra verwenden. Und nicht Hadoop.

    Spark arbeitet komplett im RAM. Und verwendet eine Datenbank/Festplatte.

    Hat sehr viele ML-Funktionen fertig implementiert dabei.

    Idee: mit spark macht man aus vielen servern nach aussen hin einen Server.

    Integrierte Fehlertoleranz. Wenn ein Knoten ausfällt, werden die Jobs neu verteilt.

    PySpark redet über socket/pipes mit Spark/JVM.

    DataFrame als basis der Daten hat ein Schema. Das Schema wird abgeleitet aus den Daten. Das Schema sollte sich dann nicht mehr ändern.

    PySpark hängt immer etwas hinterher in der Entwicklung, weil eben erst Java und Scala entwickelt werden.

    DataFrame ist in Scala, Python, R und SQL gleich schnell.

    Zusammenfassung: Spark kann Collections berechnen und ist dabei nicht durch den RAM beschränkt.

    Todo jetzt: Datensammeln!! Später kann man dann modelle darauf rechnen. Wenn man keine Daten hat, dann kann man kein ML machen!

    Diskussion

    Wie beeinflusst ML Nutzer und wie verändern Nutzer ihr Verhalten, um den richtigen Effekt zu bekommen (und "tricksen" damit den Algorithmus aus).

    Privacydiskussion. Wenn der Laden den Nutzer auf Basis der Mac-Adresse im Wifi trackt.

    alternativer Mitschrieb zum Vortrag

    Spark

    • große Datenmengen, die nicht nach oben begrenzt sind (nur Plattenplatz/memory ist limitierend)
    • Streamverarbeitung:

    findspark # Hilft beim auffinden

    sc=pysparc.SparkContext()
    sc.parallelize(range(1,1000),4).map(lambda x: 1/x)
    

    Cluster aus NUCs, gemeinsame Nutzung von Hauptspeicher, HD etc.

    What is spark
    • implementiert in Java/
    Spark SQL Sparc streaming real-time MLlib machine learning GraphX graph processing
    sparc
    Scheduler YARN Mesos

    MLlib: machine learning lib pyspark.ml

    Spark driver
        -> 
        Cluster master
            -> Cluster worker
    
    main concept: RDD
    • RDD: resilient distributed dataset
    • resilient: recover from failures
    • distributed
    • dataset: can be large (much larger than RAM)

    RDD metadata

    • partitions (eher viele, 10000)
    • dependencies
    • compute function
    • preferred locations
    • partitioner

    RDD creation from persistent storage: files, HDFS, Cassandra, HBAse python collection * ...

    RDD caching

    • memory
    • mem+disk
    • disk (seldom used)
    rdd1=sc.range(1,12345)
    rdd2=rdd1.map(lambda x: x+1)
    rdd2.collect()
    # rdd2.cache() # otherwise result needs to be recomputed if needed later
    

    transformations and actions

    • Aufbau eines Execute-Graphen

    Demo word-count im jupyter notebook

    pysparc

    Cluster

    • Spark Worker on JVM
      • <- Pipe -> Python
    • Spark Worker on JVM
      • <- Pipe -> Python

    Local

    • Py4J
      • Spark Context -> Local file system -> ...

    Data frame

    • DF has schema
    • not as lazy as RDDs are

    Data Sets

    • wegen fehlender Typisierung: not available yet
    Pointer
    • Advanced Analytics with Spark: Patterns for Learning from Data at Scale http://shop.oreilly.com/product/0636920035091.do
    • https://github.com/gerhardt-io

    Lightningtalks

    Andreas Madsack - TensorFlow auf dem Raspberry PI 3

    https://github.com/mlugs/jupyter/blob/master/notebook/Lightning%20Talk%20-%20Tensorflow%20on%20RaspberryPi%203.ipynb

    Ähnlich sinnvolle Anwendung von ML: http://joelgrus.com/2016/05/23/fizz-buzz-in-tensorflow/

    Andreas Madsack - Parsey McParseface and SyntaxNet

    https://github.com/mlugs/jupyter/blob/master/notebook/Lightning%20Talk%20-%20Parsey%20McParseface%20and%20SyntaxNet.ipynb

    Martin Weis - Data Mining

    Herbologie an der Uni-Hohenheim.

    Schnelldurchlauf über Data-Mining.

    hilfreich: deviation plot (mittelwert/std-abweichung)

    alternative software: http://community.pentaho.com/

    next

    wir wollen business-usecases zusammentragen und diskutieren.

    nächster Termin ist Dienstag, der 19. Juli 2016!