Links und Funktionen
Sprachumschaltung

Navigationspfad
Sie sind hier: Startseite / Lehre / SS 2017 / Probabilistische Programmierung


Inhaltsbereich

Probabilistische Programmierung

Masterseminar, Hofmann, Jost, Schöpp, Erbatur, Barth, Neukirchen

Aktuelles

  • Die Vorbesprechung mit Themenvergabe findet am Freitag, den 28.4. von 13 bis 14 Uhr im Raum L109, Oettingenstr. 67 statt.
  • Die Anmeldung für dieses Masterseminar ist bereits abgeschlossen und erfolgte ab 16.1.2017 über die Zentralanmeldung für Masterseminare über UniWorX.

Inhalt

In vielen verschiedenen Anwendungen, z.B. in der Statistik oder im maschinellen Lernen, werden Probleme auf probabilistische Modelle abgebildet, die dann mit geeigneten Algorithmen analysiert werden. Die Implementierung solcher Modelle und der zugehörigen Algorithmen erfordert eine genaue Kenntnis der probabilistischen Modelle und ihrer Analyse. Die probabilistische Programmierung hat das Ziel, diese Aufgabe zu vereinfachen. Probabilistische Programmiersprachen erlauben die Definition probabilistischer Modelle in der Form von Programmen. Die Implementierung von Analysealgorithmen wird durch die Programmiersprache übernommen. Somit soll die Definition probabilistischer Modelle auch Anwendern ohne Detailwissen über die Implementierung von Analysealgorithmen zugänglich werden.

Probabilistische Programme sind funktionale oder imperative Programme, welche mit zufällig gewählten Werten arbeiten. Zusätzlich zu den üblichen Programmkonstrukten können in solche Programme auch probabilistische Operationen benutzt werden. Typische Operationen sind die zufällige Wahl eines Werts entsprechend einer bestimmten Wahrscheinlichkeitsverteilung, oder das Bedingen der Weiterausführung des Programm auf bestimmte probabilistische Beobachtungen. Probabilistische Programme werden nicht wie üblich mit konkreten Eingaben ausgeführt, sondern zur Definition von probabilistischen Modellen verwendet. Ein probabilistisches Programm kann als Spezifikationen einer Wahrscheinlichkeitsverteilung auf seinen Ausgabewerten angesehen werden. Ein Compiler implementiert Inferenzalgorithmen, die bestimmte Aspekte dieser Wahrscheinlichkeitsverteilung automatisch berechnen.

Dieses Seminar behandelt die Grundlagen probabilistischer Programme sowie ihre Anwendungen.

Eine Übersicht über viele verschiedene Themen der probabilistischen Programmierung findet man auf: 
http://probabilistic-programming.org


Organisation

Anforderungen

  • Blitzvortrag 90 Sekunden: Inhaltsübersicht, eine Folie
  • Vortrag: 30 Minuten (plus Diskussion)
  • Anwesenheit während der Seminarsitzungen
  • Ausarbeitung zum Thema (20.000-30.000 Zeichen)

Zeit und Ort

  • Zeitplan und Themen werden in einer Vorbesprechung zu Semesterbeginn mit den Teilnehmern festgelegt.
  • Blitzvorträge: 12.5.17, 13:00 (st), L109 an der Oettingenstr. 67
  • Abgabe Ausarbeitung (Vorabversion): 12. Juni
  • Abgabe Reviews:  26. Juni
  • Seminar: 30. Juni, 9:00(ct) bis ca. 16:00h
  • Abgabe Ausarbeitung (Endfassung): 17. Juli

 


Themen

 

ThemaBearbeiterBetreuer
Einführung in die Statistik DP Serdar Erbatur
Regressionsmodelle MB Martin Hofmann
Künstliches Neuronales Netz JJ Steffen Jost
Decision trees, Random forest AS Stephan Barth
Markow-Kette, Hidden Markov Model MC Christian Neukirchen
Bayessches Netz; Vorwärts-, Rückwärtsrechnen, lernen, ...  MS Martin Hofmann
Modellbewertung, Fehler beim Lernen, Modellverbesserungen RG Stephan Barth
Unüberwachtes Lernen FS Ulrich Schöpp
probabilistic programming languages DH Martin Hofmann
Deep learning, Tensorflow, Keras HS Ulrich Schöpp
Camouflage from face detection JF Steffen Jost
Spam filter: Naive Bayes spam filtering; An Evaluation LB Christian Neukirchen

 

Bücher:

Statistik (ISBN 3-540-67826-3, 978-3-540-67826-7, 978-3-662-10030-1)

Regression (ISBN 978-3-540-33932-8, pdf ueber uni-Bibliothek)

The elements of statistical learning (ISBN 978-0-387-84857-0) https://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdf

  • Einführung in die Statistik, aus Buch Statistik. Zufallsvariablen, Verteilungen (mit Beispielverteilungen, also Normal, ...), bedingte Wahrscheinlichkeit, Satz von Bayes, Erwartungswert, Varianz, Median, Quantile, Schiefe, Modus, ...
  • Regressionsmodelle: Regression, Hauptsächlich Kapitel 2
  • Künstliches Neuronales Netz; Buch: The elements of statistical learning, Kapitel 11
  • Decision trees, Random forest; Buch: The elements of statistical learning, Kapitel 9.2 Kapitel 15
  • Markow-Kette, Hidden Markov Model; http://www.math.rutgers.edu/courses/338/coursenotes/chapter5.pdf http://www.eecis.udel.edu/~lliao/cis841s06/hmmtutorialpart1.pdf http://www.eecis.udel.edu/~lliao/cis841s06/hmmtutorialpart2.pdf
  • Bayessches Netz; Vorwärts-, Rückwärtsrechnen, lernen, ... http://pages.cs.wisc.edu/~dyer/cs540/handouts/charniak.pdf
  • Modellbewertung, Fehler beim Lernen, Modellverbesserungen; Buch: The elements of statistical learning; Overfitting, Cross-validation, ...: Kapitel 7; Regularisierung: Kapitel 5
  • Unüberwachtes Lernen; Buch: The elements of statistical learning; Kapitel 14
  • probabilistic programming languages; Designkriterien, Ziele, Möglichkeiten, ... sowie Semantik; https://arxiv.org/abs/1601.04943 http://www.cs.ox.ac.uk/people/samuel.staton/papers/esop2017.pdf zudem: Eine konkrete Sprache auswählen und vorstellen, von Liste: http://probabilistic-programming.org/wiki/Home#Existing_probabilistic_programming_systems
  • Deep learning, Tensorflow, Keras; Hintergrund vorstellen, selbst Anwendungen suchen und präsentieren
  • Spam filter: Naive Bayes spam filtering; An Evaluation of Naive Bayesian Anti-Spam Filtering https://arxiv.org/pdf/cs/0006013
  • Camouflage from face detection; https://cvdazzle.com/ https://www.heise.de/newsticker/meldung/Buntes-Brillengestell-soll-zuverlaessig-Gesichtserkennung-austricksen-3456711.html https://www.cs.cmu.edu/~sbhagava/papers/face-rec-ccs16.pdf

Weitere Informationen

Tipps zum Aufbau von Vorträgen und zu Präsentationstechniken:

 

Artikelaktionen


Funktionsleiste