Zurück zu allen Blogbeiträgen

Modellregularisierung – The Bayesian Way

  • Data Science
  • Statistics & Methods
15. Juli 2020
·

Thomas Alcock
Team AI Development

Einleitung

Manchmal kommt es bei statworx zu spontanen Diskussionen über statistische Methoden. In einer solchen Diskussion erklärte einer meiner Kollegen (wenn auch scherzhaft), dass Bayessche Statistik unnötig sei. Das brachte mich ins Grübeln: Warum sollte ich überhaupt bayessche Modelle im Kontext eines klassischen Regressionsproblems verwenden? Bestehende Ansätze wie Ridge Regression sind doch sicherlich genauso gut, wenn nicht besser. Allerdings hat der bayessche Ansatz den Vorteil, dass er das Modell sowohl regulieren kann, um Overfitting zu verhindern, und die Regularisierungsparameter sinnvoll interpretierbar macht. Anders als im üblichen Verständnis der Ridge Regression sind die Regularisierungsparameter nicht länger abstrakte Zahlen, sondern lassen sich im bayesschen Paradigma als Ausdruck vorheriger Überzeugungen deuten. In diesem Beitrag zeige ich dir die formale Ähnlichkeit zwischen einem generalisierten Ridge-Schätzer und dem bayesschen Äquivalent.

Ein (sehr kurzer) Einstieg in die bayessche Statistik

Um den bayesschen Regressionsschätzer zu verstehen, braucht man ein Mindestmaß an Wissen über die bayessche Statistik – hier das Wichtigste (falls du es nicht ohnehin schon kennst): In der bayesschen Statistik betrachten wir Modellparameter (also Regressionskoeffizienten) als zufällige Größen. Mit anderen Worten: Die uns vorliegenden Daten sind fixiert, die Parameter gelten als zufällig. Das widerspricht der klassischen, frequentistischen Perspektive, bei der die zugrunde liegenden Modellparameter als fix angesehen werden, während die Daten als zufällige Realisierungen eines durch die Parameter gesteuerten stochastischen Prozesses gelten. Ziel der bayesschen Analyse ist es, die sogenannte Posterior-Verteilung zu bestimmen, die du vielleicht noch aus dem Satz von Bayes kennst:

$$p(\theta|y) = \frac{p(y|\theta) p(\theta)}{p(y)}$$

Dabei ist $p(y|\theta)$ die Likelihood, $p(y)$ ein Normierungskonstante und $p(\theta)$ unsere Prior-Verteilung, die unabhängig von den Daten $y$ ist. In der klassischen Statistik setzt man $p(\theta) = 1$ (eine sogenannte improper reference prior), sodass beim Maximieren der posterioren „Wahrscheinlichkeit“ effektiv nur die Likelihood maximiert wird, da nur sie noch von $\theta$ abhängt. In der bayesschen Statistik hingegen verwendet man eine echte Wahrscheinlichkeitsverteilung für $p(\theta)$, z. B. eine Normalverteilung. Schauen wir uns nun ein Regressionsproblem an und nehmen an, dass sowohl unser Zielwert $y$ als auch unser Prior normalverteilt sind. Das führt uns zur konjugierten bayesschen Analyse, bei der wir eine saubere Gleichung für die Posterior-Verteilung formulieren können. In vielen Fällen ist dies nicht möglich – aus diesem Grund wurden Markov-Chain-Monte-Carlo-Methoden entwickelt, um aus der Posterior-Verteilung zu sampeln – ironischerweise ein frequentistischer Ansatz.

Wir treffen nun die übliche Annahme über die Daten: $y_i$ ist i.i.d. $N(\bold{x_i \beta}, \sigma^2)$ für alle Beobachtungen $i$. Das ergibt unsere Standard-Likelihood für die Normalverteilung. Jetzt können wir den Prior für den zu schätzenden Parameter $(\beta, \sigma^2)$ festlegen. Wenn wir einen Normalverteilungsprior (bedingt auf die Varianz $\sigma^2$) für den Gewichtsvektor $\beta$ annehmen, also $N(b_0, \sigma^2 B_0)$, und einen Invers-Gamma-Prior über die Varianz, dann lässt sich zeigen, dass die Posterior-Verteilung von $\beta$ normalverteilt ist mit dem Mittelwert

$$\hat\beta_{Bayesian} = (B_0^{-1} + X'X)^{-1}(B_0^{-1} b_0 + X'X \hat\beta)$$

Falls du an einem Beweis dieser Aussage interessiert bist, siehe Jackman (2009, S. 526).

Schauen wir uns das Stück für Stück an:

  • $\hat\beta$ ist der Standard-OLS-Schätzer, $(X'X)^{-1}X'y$
  • $b_0$ ist der Mittelwertsvektor der (multivariat normalen) Prior-Verteilung – damit lässt sich angeben, welche mittleren Werte wir für unsere Modellparameter erwarten
  • $B_0$ ist die Kovarianzmatrix und enthält unsere jeweilige Unsicherheit bezüglich der Modellparameter. Der Kehrwert der Varianz wird als Präzision bezeichnet

Was wir aus der Gleichung sehen: Der Mittelwert der Posterior-Verteilung ist ein präzisionsgewichteter Mittelwert aus dem Prior-Mittelwert (also Informationen ohne Datenbasis) und dem OLS-Schätzer (nur datenbasiert). Der zweite Term in der Klammer zeigt, dass wir den unsicherheitsgewichteten Prior-Mittelwert $B_0^{-1} b_0$ zum gewichteten OLS-Schätzer $X'X\hat\beta$ addieren. Stell dir für einen Moment vor, $B_0^{-1} = 0$. Dann ergibt sich:

$$\hat\beta_{Bayesian} = (X'X)^{-1}(X'X \hat\beta) = \hat\beta$$

Das würde bedeuten, dass wir unendlich unsicher über unsere Prior-Annahmen sind, sodass der Mittelwertvektor der Prior-Verteilung verschwindet und nichts zur Posterior-Verteilung beiträgt. Umgekehrt: Wenn unsere Unsicherheit sinkt (und damit die Präzision steigt), trägt der Prior-Mittelwert $b_0$ stärker zum Posterior-Mittelwert bei.

Nach diesem kurzen Einstieg in die bayessche Statistik können wir nun den Ridge-Schätzer formal mit dem obigen bayesschen Schätzer vergleichen. Doch zuvor werfen wir einen Blick auf eine verallgemeinerte Form des Ridge-Schätzers.

Verallgemeinerung des Ridge-Schätzers

Ein Standardwerkzeug in vielen Regressionsproblemen ist der klassische Ridge-Schätzer, der durch Minimierung eines kleinsten-Quadrate-Problems aus folgender Verlustfunktion abgeleitet wird:

$$L(\beta,\lambda) = \frac{1}{2}\sum(y-X\beta)^2 + \frac{1}{2} \lambda ||\beta||^2$$

Während diese Minimierung den klassischen Ridge-Schätzer ergibt, wie man ihn aus Lehrbüchern kennt, gibt es eine leicht verallgemeinerte Form dieser Verlustfunktion:

$$L(\beta,\lambda,\mu) = \frac{1}{2}\sum(y-X\beta)^2 + \frac{1}{2} \lambda ||\beta - \mu||^2$$

Leiten wir den Schätzer her, indem wir die Verlustfunktion zunächst in Matrixschreibweise umformulieren:

$$\begin{aligned}L(\beta,\lambda,\mu) &= \frac{1}{2}(y - X \beta)^{T}(y - X \beta) + \frac{1}{2} \lambda||\beta - \mu||^2 \\&= \frac{1}{2} y^Ty - \beta^T X^T y + \frac{1}{2} \beta^T X^T X \beta + \frac{1}{2} \lambda||\beta - \mu||^2\end{aligned}$$

Durch Ableiten nach dem Parametervektor ergibt sich der Gradient:

$$\nabla_{\beta} L (\beta, \lambda, \mu) = -X^T y + X^T X \beta + \lambda (\beta - \mu)$$

Minimieren wir nach $\beta$, erhalten wir folgenden Ausdruck für den verallgemeinerten Ridge-Schätzer:

$$\hat\beta_{Ridge} = (X'X + \lambda I )^{-1}(\lambda \mu + X'y)$$

Der klassische Ridge-Schätzer ergibt sich, wenn man $\mu = 0$ setzt. Üblicherweise wird $\lambda$ als abstrakter Parameter betrachtet, der die Strafgröße reguliert, und $\mu$ als ein Vektor von Werten (einer pro Prädiktor), der die Verlustfunktion stärker steigen lässt, je weiter die Koeffizienten von diesen Werten abweichen. Ist $\mu = 0$, werden die Koeffizienten in Richtung null gezogen.

Schauen wir uns an, wie sich der Schätzer verhält, wenn die Parameter $\mu$ und $\lambda$ verändert werden. Wir definieren ein sinnvolles „Prior“ für unser Beispiel und variieren dann den Strafparameter. Als Beispiel verwenden wir den Datensatz diamonds aus dem ggplot2-Paket und modellieren den Preis als lineare Funktion der Karatzahl sowie der Merkmale depth, table, x, y und z.

Wie man aus dem Plot erkennt, ändern sich die Koeffizientenschätzungen – sowohl mit als auch ohne Prior – sehr schnell bei den ersten Erhöhungen der Strafgröße. Wir sehen auch den Shrinkage-Effekt im oberen Plot: Mit steigender Strafe nähern sich die Koeffizienten der Null an, einige schneller als andere. Der Plot rechts zeigt, wie sich die Koeffizienten verändern, wenn wir ein sinnvolles „Prior“ setzen. Die Koeffizienten verändern sich weiterhin, tendieren aber nun in Richtung des angegebenen Priors. Das liegt daran, dass $\lambda$ Abweichungen von $\mu$ bestraft – höhere Werte von $\lambda$ ziehen die Koeffizienten also stärker in Richtung $\mu$. Du fragst dich vielleicht, wie sich das im Vergleich zum bayesschen Schätzer verhält. Finden wir es heraus!

Vergleich von Ridge- und Bayesschem Schätzer

Nachdem wir nun sowohl den Ridge- als auch den bayesschen Schätzer gesehen haben, ist es Zeit für einen Vergleich. Wir haben festgestellt, dass der bayessche Schätzer den OLS-Schätzer enthält. Da wir dessen Form kennen, setzen wir sie ein und sehen, was passiert:

$$\begin{aligned}\hat\beta_{Bayesian} &= (X'X + B_0^{-1})^{-1}(B_0^{-1} b_0 + X'X \hat\beta) \\&= (X'X + B_0^{-1})^{-1}(B_0^{-1} b_0 + X'X (X'X)^{-1}X'y) \\&= (X'X + B_0^{-1})^{-1}(B_0^{-1} b_0 + X'y)\end{aligned}$$

In dieser Form wird die Analogie deutlich klarer:

  • $\lambda I$ entspricht $B_0^{-1}$, der Präzisionsmatrix. Da $I$ die Einheitsmatrix ist, geht der Ridge-Schätzer von keiner Kovarianz zwischen den Regressionskoeffizienten und einer konstanten Präzision über alle Koeffizienten aus (denn $\lambda$ ist ein Skalar)
  • $\lambda \mu$ entspricht $B_0^{-1} b_0$, was Sinn ergibt, da $b_0$ der Mittelwert der Prior-Verteilung ist – dieser zieht den Schätzer zu sich hin, genau wie $\mu$ die Koeffizienten zu sich „zieht“. Die Stärke dieses Effekts hängt von der Unsicherheit ab, die durch $B_0^{-1}$ bzw. $\lambda I$ im Ridge-Schätzer bestimmt wird.

Das ist soweit nachvollziehbar, aber sehen wir uns nun an, wie sich das Verhalten des bayesschen Schätzers bei Änderung der Unsicherheit im Vergleich zum Ridge-Schätzer verhält. Wir verwenden dieselben Daten und dieselbe Modellspezifikation wie oben, setzen die Kovarianzmatrix $B_0$ gleich $\lambda I$ und variieren dann $\lambda$. Denk daran: Kleinere Werte von $\lambda$ bedeuten hier einen stärkeren Einfluss des Priors (weniger Unsicherheit), größere Werte machen den Prior weniger bedeutend.

Die obigen Plots bestätigen unser bisheriges Verständnis: Mit einem Prior-Mittelwert von null werden die Koeffizienten in Richtung null gezogen – wie bei der Ridge-Regression, wenn der Prior dominiert, d. h. wenn die Präzision hoch ist. Und wenn ein nichttrivialer Prior-Mittelwert gesetzt ist, nähern sich die Koeffizienten diesem Wert an, sobald die Präzision steigt. Soweit zu den Koeffizienten – aber wie sieht es mit der Performance aus? Werfen wir einen Blick darauf!

Leistungsvergleich

Abschließend vergleichen wir die Vorhersagegenauigkeit der beiden Modelle. Zwar könnten wir die Parameter im Modell als Hyperparameter behandeln und sie entsprechend tunen, das würde jedoch dem Zweck widersprechen, vorhandenes Vorwissen zu nutzen. Stattdessen wählen wir für beide Modelle eine feste Prior-Spezifikation und vergleichen dann die Performance auf einem Hold-Out-Datensatz (30 % der Daten). Während wir für das Ridge-Modell einfach $X\hat\beta$ als Prädiktor verwenden können, liefert das bayessche Modell eine vollständige posterior-prädiktive Verteilung, aus der wir Stichproben ziehen können, um Modellvorhersagen zu erzeugen. Zur Schätzung des Modells wurde das Paket brms verwendet.

Insgesamt schneiden beide Modelle ähnlich ab, auch wenn einzelne Fehlermaße jeweils eines der Modelle leicht bevorzugen. Betrachtet man diese Fehlerwerte, könnte man sicher die Modelle noch verbessern, z. B. durch die Wahl einer geeigneteren Wahrscheinlichkeitsverteilung für die Zielvariable. Schließlich können Preise nicht negativ sein, und dennoch liefern unsere Modelle negative Vorhersagen.

Zusammenfassung

In diesem Beitrag habe ich gezeigt, wie der Ridge-Schätzer mit dem konjugierten bayesschen linearen Modell vergleichbar ist. Du kennst nun den Zusammenhang zwischen den beiden Ansätzen und wie der bayessche Zugang eine leichter interpretierbare Möglichkeit der Regularisierung bietet. Normalerweise würde $\lambda$ als Strafterm verstanden, aber jetzt lässt er sich auch als Maß für die Unsicherheit im Prior deuten. Ebenso kann der Parametervektor $\mu$ im erweiterten Ridge-Modell als Vektor von Prior-Mittelwerten für die Modellparameter verstanden werden. Beim bayesschen Ansatz besteht außerdem die Möglichkeit, Expertenwissen in Form von Prior-Verteilungen in den Schätzprozess einzubringen. Dies regularisiert das Modell und erlaubt die Einbindung externer Informationen. Wenn du dich für den Code interessierst, schau gerne auf unserer GitHub-Seite vorbei!

Quellen

  • Jackman S. 2009. Bayesian Analysis for the Social Sciences. West Sussex: Wiley.

Linkedin Logo
Marcel Plaschke
Head of Strategy, Sales & Marketing
Beratung vereinbaren
Zugehörige Leistungen
No items found.

Weitere Blogartikel

  • Artificial Intelligence
AI Trends Report 2025: Die 16 Trends im Überblick
Tarik Ashry
05. Februar 2025
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Human-centered AI
Explainable AI in der Praxis: Mit der richtigen Methode die Black Box öffnen
Jonas Wacker
15. November 2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • GenAI
Wie ein CustomGPT Effizienz und Kreativität bei hagebau fördert
Tarik Ashry
06. November 2024
Mehr erfahren
  • Artificial Intelligence
  • Data Culture
  • Data Science
  • Deep Learning
  • GenAI
  • Machine Learning
AI Trends Report 2024: statworx COO Fabian Müller zieht eine Zwischenbilanz
Tarik Ashry
05. September 2024
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Strategy
Der AI-Act ist da – diese Risikoklassen sollte man kennen
Fabian Müller
05. August 2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Zurück in die Zukunft: Die Geschichte von Generativer KI (Episode 4)
Tarik Ashry
31. Juli 2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Zurück in die Zukunft: Die Geschichte von Generativer KI (Episode 3)
Tarik Ashry
24. Juli 2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Zurück in die Zukunft: Die Geschichte von Generativer KI (Episode 2)
Tarik Ashry
17. Juli 2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Zurück in die Zukunft: Die Geschichte von Generativer KI (Episode 1)
Tarik Ashry
10. Juli 2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Generative KI als Denkmaschine? Ein medientheoretischer Blick
Tarik Ashry
13. Juni 2024
Mehr erfahren
  • Artificial Intelligence
  • GenAI
  • statworx
Maßgeschneiderte KI-Chatbots: Hohe Leistung und schnelle Integration vereint
Tarik Ashry
10. April 2024
Mehr erfahren
  • Artificial Intelligence
  • Data Culture
  • Human-centered AI
Wie Führungskräfte die Datenkultur im Unternehmen stärken können
Tarik Ashry
21. Februar 2024
Mehr erfahren
  • Artificial Intelligence
  • Data Culture
  • Human-centered AI
KI in der Arbeitswelt: Wie wir Skepsis in Zuversicht verwandeln
Tarik Ashry
08. Februar 2024
Mehr erfahren
  • Artificial Intelligence
  • Data Science
Wie wir für Microsoft einen Chatbot mit echtem Wissen entwickelt haben
Team statworx
27. September 2023
Mehr erfahren
  • Data Science
  • Data Visualization
  • Frontend Solution
Warum Frontend-Entwicklung in Data Science-Anwendungen nützlich ist
Jakob Gepp
30. August 2023
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • statworx
the byte - Wie wir ein KI-gesteuertes Pop-up Restaurant aufgebaut haben
Sebastian Heinz
14. Juni 2023
Mehr erfahren
  • Artificial Intelligence
  • Recap
  • statworx
Big Data & AI World 2023 Recap
Team statworx
24. Mai 2023
Mehr erfahren
  • Data Science
  • Human-centered AI
  • Statistics & Methods
Die Black-Box entschlüsseln – 3 Explainable AI Methoden zur Vorbereitung auf den AI-Act
Team statworx
17. Mai 2023
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Strategy
Wie der AI-Act die KI-Branche verändern wird: Alles, was man jetzt darüber wissen muss
Team statworx
11. Mai 2023
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Machine Learning
Genderdarstellung in der KI – Teil 2: Automatisierte Erzeugung genderneutraler Versionen von Gesichtsbildern
Team statworx
03. Mai 2023
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Statistics & Methods
Ein erster Einblick in unser Forecasting Recommender Tool
Team statworx
26. April 2023
Mehr erfahren
  • Artificial Intelligence
  • Data Science
Vom Können, Tun und Wollen – Warum Datenkultur und Death Metal einiges miteinander gemeinsam haben
David Schlepps
19. April 2023
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Machine Learning
GPT-4 – Eine Einordnung der wichtigsten Neuerungen
Mareike Flögel
17. März 2023
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Strategy
Das Geheimnis der Datenkultur entschlüsseln: Diese Faktoren beeinflussen Kultur und Erfolg von Unternehmen
Team statworx
16. März 2023
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
Wie man KI-generierte Avatare mit Hilfe von Stable Diffusion und Textual Inversion erstellt
Team statworx
08. März 2023
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Strategy
Knowledge Management mit NLP: So einfach verarbeitet man E-Mails mit KI
Team statworx
02. März 2023
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
3 Anwendungsfälle, wie ChatGPT die Kommunikation in Unternehmen revolutionieren wird
Ingo Marquart
16. Februar 2023
Mehr erfahren
  • Recap
  • statworx
Ho ho ho – weihnachtlicher Küchenabriss
Julius Heinz
22. Dezember 2022
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
Real-time Computer Vision: Gesichter erkennen mit einem Roboter
Sarah Sester
30. November 2022
Mehr erfahren
  • Data Engineering
  • Tutorial
Data Engineering – From Zero to Hero
Thomas Alcock
23. November 2022
Mehr erfahren
  • Recap
  • statworx
statworx @ UXDX Conf 2022
Markus Berroth
18. November 2022
Mehr erfahren
  • Artificial Intelligence
  • Machine Learning
  • Tutorial
Paradigmenwechsel in NLP: 5 Ansätze, um bessere Prompts zu schreiben
Team statworx
26. Oktober 2022
Mehr erfahren
  • Recap
  • statworx
statworx @ vuejs.de Conf 2022
Jakob Gepp
14. Oktober 2022
Mehr erfahren
  • Data Engineering
  • Data Science
Überwachung und Protokollierung von Anwendungen und Infrastruktur: Metriken und (Ereignis-)Protokolle
Team statworx
29. September 2022
Mehr erfahren
  • Coding
  • Data Science
  • Machine Learning
Zero-Shot Textklassifikation
Fabian Müller
29. September 2022
Mehr erfahren
  • Cloud Technology
  • Data Engineering
  • Data Science
Wie du dein Data Science Projekt fit für die Cloud machst
Alexander Broska
14. September 2022
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
  • Machine Learning
Geschlechter­darstellung in der KI – Teil 1: Verwendung von StyleGAN zur Erforschung von Geschlechter­vielfalt bei der Bild­bearbeitung
Isabel Hermes
18. August 2022
Mehr erfahren
  • Artificial Intelligence
  • Human-centered AI
statworx AI Principles: Warum wir eigene KI-Prinzipien entwickeln
Team statworx
04. August 2022
Mehr erfahren
  • Data Engineering
  • Data Science
  • Python
Wie Du Deinen Code und Deine Abhängigkeiten in Python scannst
Thomas Alcock
21. Juli 2022
Mehr erfahren
  • Data Engineering
  • Data Science
  • Machine Learning
Data-Centric AI: Von Model-First zu Data-First KI-Prozessen
Team statworx
13. Juli 2022
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Human-centered AI
  • Machine Learning
DALL-E 2: Warum Diskriminierung in der KI-Entwicklung nicht ignoriert werden kann
Team statworx
28. Juni 2022
Mehr erfahren
  • R
Das helfRlein Package – Eine Sammlung nützlicher Funktionen
Team statworx
23. Juni 2022
Mehr erfahren
  • Recap
  • statworx
Unfold 2022 in Bern – by Cleverclip
Team statworx
11. Mai 2022
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Human-centered AI
  • Machine Learning
Vorurteile in KI abbauen
Team statworx
08. März 2022
Mehr erfahren
  • Artificial Intelligence
  • Cloud Technology
  • Data Science
  • Sustainable AI
Wie du als Data Scientist deinen KI CO₂ Fußabdruck verringerst
Team statworx
02. Februar 2022
Mehr erfahren
  • Recap
  • statworx
2022 und die Reise zu statworx next
Sebastian Heinz
06. Januar 2022
Mehr erfahren
  • Recap
  • statworx
5 Highlights vom Digital Festival Zürich 2021
Team statworx
25. November 2021
Mehr erfahren
  • Data Science
  • Human-centered AI
  • Machine Learning
  • Strategy
Warum Data Science und KI-Initiativen scheitern – eine Reflektion zu nicht-technischen Faktoren
Team statworx
22. September 2021
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Human-centered AI
  • Machine Learning
  • statworx
Kolumne: Mensch und Maschine Seite an Seite
Sebastian Heinz
03. September 2021
Mehr erfahren
  • Coding
  • Data Science
  • Python
Wie man mit Call Graph automatisch Projektgrafiken erstellt
Team statworx
25. August 2021
Mehr erfahren
  • Coding
  • Python
  • Tutorial
statworx Cheatsheets – Python Basics Cheatsheet für Data Science
Team statworx
13. August 2021
Mehr erfahren
  • Data Science
  • statworx
  • Strategy
STATWORX meets DHBW – Data Science Real-World Use Cases
Team statworx
04. August 2021
Mehr erfahren
  • Data Engineering
  • Data Science
  • Machine Learning
Machine Learning Modelle bereitstellen und skalieren mit Kubernetes
Team statworx
29. Juli 2021
Mehr erfahren
  • Cloud Technology
  • Data Engineering
  • Machine Learning

3 Szenarien zum Deployment von Machine Learning Workflows mittels MLflow
Team statworx
30. Juni 2021
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning

Car Model Classification III: Erklärbarkeit von Deep Learning Modellen mit Grad-CAM
Team statworx
19. Mai 2021
Mehr erfahren
  • Artificial Intelligence
  • Coding
  • Deep Learning
Car Model Classification II: Deployment von TensorFlow-Modellen in Docker mit TensorFlow Serving
Team statworx
12. Mai 2021
Mehr erfahren
  • Coding
  • Deep Learning
Car Model Classification I: Transfer Learning mit ResNet
Team statworx
05. Mai 2021
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
Car Model Classification IV: Integration von Deep Learning Modellen mit Dash
Dominique Lade
05. Mai 2021
Mehr erfahren
  • AI Act
Potenzial noch nicht ausgeschöpft – Ein Kommentar zur vorgeschlagenen KI-Regulierung der EU
Team statworx
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • statworx
Creaition – Revolutionierung des Designprozesses mit Machine Learning
Team statworx
31. März 2021
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Machine Learning
5 Typen von Machine Learning Algorithmen (Mit Anwendungsfällen)
Team statworx
24. März 2021
Mehr erfahren
  • Recaps
  • statworx
2020 – Ein Rückblick für mich und GPT-3
Sebastian Heinz
23. Dezember 2020
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
  • Machine Learning
5 praxisnahe Beispiele für NLP Use Cases
Team statworx
12. November 2020
Mehr erfahren
  • Data Science
  • Deep Learning
Die 5 wichtigsten Use Cases für Computer Vision
Team statworx
05. November 2020
Mehr erfahren
  • Data Science
  • Deep Learning
Neue Trends im Natural Language Processing – Wie NLP massentauglich wird
Dominique Lade
29. Oktober 2020
Mehr erfahren
  • Data Engineering
5 Technologien, die jeder Data Engineer kennen sollte
Team statworx
22. Oktober 2020
Mehr erfahren
  • Artificial Intelligence
  • Data Science
  • Machine Learning
Generative Adversarial Networks: Wie mit Neuronalen Netzen Daten generiert werden können
Team statworx
15. Oktober 2020
Mehr erfahren
  • Coding
  • Data Science
  • Deep Learning
Finetuning von Tesseract-OCR für deutsche Rechnungen
Team statworx
08. Oktober 2020
Mehr erfahren
  • Artificial Intelligence
  • Machine Learning
Whitepaper: Ein Reifegradmodell für Künstliche Intelligenz
Team statworx
06. Oktober 2020
Mehr erfahren
  • Data Engineering
  • Data Science
  • Machine Learning
Machine Learning Modelle mit Hilfe von Docker Containern bereitstellen
Thomas Alcock
01. Oktober 2020
Mehr erfahren
  • Recap
  • statworx
STATWORX 2.0 – Das neue Headquarter in Frankfurt ist eröffnet
Julius Heinz
24. September 2020
Mehr erfahren
  • Machine Learning
  • Python
  • Tutorial
Wie man eine Machine Learning API mit Python und Flask erstellt
Team statworx
29. Juli 2020
Mehr erfahren
  • Recap
  • statworx
Auf zu neuen Abenteuern: Soft Opening des STATWORX Büros
Team statworx
14. Juli 2020
Mehr erfahren
  • Data Engineering
  • R
  • Tutorial
Wie Du ShinyApps in Docker-Images einbauen kannst
Team statworx
15. Mai 2020
Mehr erfahren
  • Coding
  • Python
Making Of: Eine kostenlose API für COVID-19-Daten
Sebastian Heinz
01. April 2020
Mehr erfahren
  • Frontend
  • Python
  • Tutorial
Wie Du ein Dashboard In Python baust – Plotly Dash Step-by-Step Tutorial
Alexander Blaufuss
26. März 2020
Mehr erfahren
  • Coding
  • R
Warum heißen sie so?! – Ursprung und Bedeutung von R-Paketnamen
Team statworx
19. März 2020
Mehr erfahren
  • Data Visualization
  • R
Gemeinschaftsdetektion mit Louvain und Infomap
Team statworx
04. März 2020
Mehr erfahren
  • Coding
  • Data Engineering
  • Data Science
Testen von REST-APIs mit Newman
Team statworx
26. Februar 2020
Mehr erfahren
  • Coding
  • Frontend
  • R
Dynamische UI-Elemente in Shiny - Teil 2
Team statworx
19. Februar 2020
Mehr erfahren
  • Coding
  • Data Visualization
  • R
Animierte Plots mit ggplot und gganimate
Team statworx
14. Februar 2020
Mehr erfahren
  • Machine Learning
Machine Learning Goes Causal II: Der kausale Bruder des Random Forests
Team statworx
05. Februar 2020
Mehr erfahren
  • Artificial Intelligence
  • Machine Learning
  • Statistics & Methods
Machine Learning Goes Causal I: Warum Kausalität wichtig ist
Team statworx
29.01.2020
Mehr erfahren
  • Data Engineering
  • R
  • Tutorial
Wie man REST-APIs mit R Plumber erstellt
Stephan Emmer
23. Januar 2020
Mehr erfahren
  • Recaps
  • statworx
statworx 2019 – Ein Jahresrückblick
Sebastian Heinz
20. Dezember 2019
Mehr erfahren
  • Artificial Intelligence
  • Deep Learning
Deep Learning – Überblick und Einstieg
Team statworx
04. Dezember 2019
Mehr erfahren
  • Coding
  • Machine Learning
  • R
Abstimmung von Random Forest auf Zeitreihendaten
Team statworx
21. November 2019
Mehr erfahren
  • Data Science
  • R
Kombination von Preiselastizitäten und Verkaufsprognosen zur Verkaufssteigerung
Team statworx
06. November 2019
Mehr erfahren
  • Data Engineering
  • Python
Von überall aus auf deinen Spark-Cluster zugreifen – mit Apache Livy
Team statworx
30. Oktober 2019
Mehr erfahren
  • Recap
  • statworx
STATWORX auf Tour: Wein, Burgen & Wandern!
Team statworx
18. Oktober 2019
Mehr erfahren
  • Data Science
  • R
  • Statistics & Methods
Wie man eine Kreuzvalidierung zur Evaluation der Modellperformance von Grund auf selbst erstellt
Team statworx
02. Oktober 2019
Mehr erfahren
  • Data Science
  • Machine Learning
  • R
Zeitreihenvorhersage mit Random Forest
Team statworx
25. September 2019
Mehr erfahren
  • Coding
  • Frontend
  • R
Dynamische UI Elemente in Shiny – Teil 1
Team statworx
11. September 2019
Mehr erfahren
  • Machine Learning
  • R
  • Statistics & Methods
Was dem MAPE fälschlicherweise vorgeworfen wird, seine WAHREN Schwächen und BESSERE Alternativen!
Team statworx
16. August 2019
Mehr erfahren
  • Coding
  • Python
Web Scraping 101 in Python mit Requests & BeautifulSoup
Team statworx
31. Juli 2019
Mehr erfahren
  • Coding
  • Frontend
  • R
Einstieg in Flexdashboards in R
Thomas Alcock
19. Juli 2019
Mehr erfahren
  • Recap
  • statworx
statworx Sommer-Barbecue 2019
Team statworx
21. Juni 2019
Mehr erfahren
  • Data Visualization
  • R
Interaktive Netzwerkvisualisierung mit R
Team statworx
12. Juni 2019
Mehr erfahren
  • Deep Learning
  • Python
  • Tutorial
Verwendung von Reinforcement Learning zum Spielen von Super Mario Bros auf NES mit TensorFlow
Sebastian Heinz
29. Mai 2019
Mehr erfahren
  • Coding
  • Data Engineering
Automatisierte Erstellung von Docker Containern
Stephan Emmer
10. Mai 2019
Mehr erfahren
This is some text inside of a div block.
This is some text inside of a div block.