Andreas Geiger hat ein einfaches Java-Applet zur Gaußschen Prozessregression geschrieben, das das Verhalten von Kovarianzfunktionen und Hyperparametern veranschaulicht.

paket titel autor implementierung beschreibung

bcm Das Bayesianische Komitee Maschine Anton Schwaighofer matlab und NETLAB

Eine Erweiterung der Netlab-Implementierung für die GP-Regression. Sie ermöglicht eine großskalige Regression auf der Basis der BCM-Approximation, siehe auch das begleitende Papier

fbm Software für flexible Bayes’sche Modellierung Radford M. Neal C für linux/unix

Ein umfangreiches und gut dokumentiertes Paket, das Markov-Ketten-Monte-Carlo-Methoden für Bayes’sche Inferenz in neuronalen Netzen, Gauß’sche Prozesse (Regression, binäre und Mehrklassenklassifikation), Mischungsmodelle und Dirichlet-Diffusionsbäume implementiert.

gp-lvm und fgp-lvm A (schnelle) Implementierung der Modelle für latente Variablen des Gaußschen Prozesses Neil D. Lawrence matlab und C

gpml-Code aus dem Buch Rasmussen und Williams: Gaussian Processes for Machine Learning. Carl Edward Rasmussen und Hannes Nickisch Matlab und Oktave

Die GPML-Toolbox implementiert approximative Inferenzalgorithmen für Gauß’sche Verfahren wie Expectation Propagation, die Laplace-Approximation und Variational Bayes für eine breite Klasse von Wahrscheinlichkeitsfunktionen sowohl für die Regression als auch für die Klassifikation. Es wird mit einer großen Algebra von Kovarianz- und Mittelwertfunktionen geliefert, die eine flexible Modellierung ermöglichen. Der Code ist vollständig kompatibel zu Octave 3.2.x. JMLR-Papier, das die Toolbox beschreibt.

c++-ivm Spärliche Approximationen auf der Grundlage der Informative Vector Machine Neil D. Lawrence C++

IVM-Software in C++ , enthält auch das Nullkategorie-Rauschmodell für halbüberwachtes Lernen.

BFD Bayesian Fisher’s Diskriminanz-Software Tonatiuh Peña Centeno Matlab

Setzt eine Gaußsche Prozessinterpretation der Diskriminante von Kernel Fisher um.

gpor Gaußsche Prozesse für ordinale Regression Wei Chu C für linux/unix

Software-Implementierung der Gaußschen Prozesse für Ordinale Regression. Bietet Laplace-Approximation, Erwartungsausbreitung und Variations-Untergrenze.

MCMCstuff MCMC-Methoden für MLP und GP und Stuff Aki Vehtari matlab und C

Eine Sammlung von Matlab-Funktionen für Bayes’sche Inferenz mit Markov Chain Monte Carlo (MCMC)-Methoden. Der Zweck dieser Toolbox war es, einige der Funktionen in fbm auf Matlab zu portieren, um die Entwicklung für Matlab-Benutzer zu erleichtern.

ogp Sparse Online Gaussian Processes Lehel Csató Matlab und NETLAB

Ungefähres Online-Lernen in spärlichen Gaußschen Prozessmodellen für Regression (einschließlich mehrerer nicht-Gaußscher Wahrscheinlichkeitsfunktionen) und Klassifikation.

sogp Sparse Online Gaussian Process C++ Bibliothek Dan Grollman C++

Spärliche Online-Bibliothek zum Gaußschen Prozess C++ basierend auf der Doktorarbeit von Lehel Csató

spgp .tgz oder .zip Sparse Pseudo-Eingabe Gaußsche Prozesse Ed Snelson Matlab

Implementiert eine spärliche GP-Regression, wie in Sparse Gaussian Processes beschrieben, unter Verwendung von Pseudo-Eingaben und flexiblen und effizienten Gaussian-Prozessmodellen für maschinelles Lernen. Das SPGP verwendet gradientenbasierte Marginal-Likelihood-Optimierung, um geeignete Basispunkte und Kernel-Hyperparameter in einer einzigen gemeinsamen Optimierung zu finden.

tgp Treed Gauß’sche Prozesse Robert B. Gramacy C/C++ für R

Bayessche nichtparametrische und instationäre Bayes’sche Regression durch baumartige Gauß’sche Prozesse mit Sprüngen zum limitierenden linearen Modell (LLM). Zu den ebenfalls implementierten Sonderfällen gehören Bayes’sche lineare Modelle, lineare CART, stationäre trennbare und isotrope Gauß’sche Prozessregression. Enthält 1-d und 2-d Plotfunktionen (mit höherdimensionaler Projektion und Slice-Fähigkeiten) und Baumzeichnungen, die zur Visualisierung der tgp-Klassenausgabe dienen. Siehe auch Gramacy 2007

Tpros Gauß-Prozess Regression David MacKay und Mark Gibbs C

Tpros ist das Programm des Gaußschen Prozesses, das von Mark Gibbs und David MacKay geschrieben wurde.

GP-Demo Oktav-Demonstration der Gaußschen Prozessinterpolation David MacKay-Oktave

Diese DEMO funktioniert gut mit Oktave-2.0 und funktionierte nicht mit 2.1.33.

GPClass Matlab-Code für Gaussian Process Classification David Barber und C. K. I. Williams Matlab

Implementiert die in der Bayes’schen Klassifikation beschriebene Laplace-Approximation mit Gauß’schen Prozessen für binäre und Mehrklassen-Klassifikation.

VBGP Variationale Bayes’sche multinomiale Probit-Regression mit Gauß-Prozess-Prioren Mark Girolami und Simon Rogers matlab

Implementiert eine Variationsapproximation für die auf dem Gauß-Prozess basierende Mehrklassenklassifikation, wie sie in dem Papier Variational Bayesian Multinomial Probit Regression beschrieben wird.

pyGPs Gauß’sche Prozesse für Regression und Klassifikation Marion Neumann Python

pyGPs ist eine Bibliothek, die eine objektorientierte Python-Implementierung für die Gauß-Prozess (GP)-Regression und -Klassifikation enthält. github

Gauß-Prozess Gauß-Prozess Regression Anand Patil Python

in Entwicklung

gptk Gaussian Process Tool-Kit Alfredo Kalaitzis R

Das gptk-Paket implementiert ein universelles Toolkit für die Gauß’sche Prozessregression mit einer RBF-Kovarianzfunktion. Basiert auf einer MATLAB-Implementierung, die von Neil D. Lawrence geschrieben wurde.

Andere Software kann auf diese Weise für die Implementierung von Gaußschen Prozessmodellen nützlich sein:

Diese Internetseite soll eine Zusammenfassung von Ressourcen liefern, die sich mit probabilistischer Modellierung, Inferenz und lerngestützten Gaußschen Prozessen befassen. Obwohl Gauß’sche Prozesse im Bereich der Statistik eine lange Geschichte haben, scheinen sie nur in Nischenbereichen in großem Umfang eingesetzt worden zu sein. Mit dem Aufkommen von Kernel-Maschinen in der Gemeinschaft des maschinellen Lernens wurden Modelle, die Gauß’sche Prozesse unterstützen, auch für Probleme der Regression (Kriging) und der Klassifikation als eine Reihe von spezialisierteren Anwendungen alltäglich.

Anleitungen

Mehrere Beiträge bieten Tutorial-Material, das sich für eine erste Einführung in das Lernen in Gaußschen Prozessmodellen eignet. Diese reichen von sehr kurz [Williams 2002] über mittelmäßig [MacKay 1998], [Williams 1999] bis hin zu ausführlicher [Rasmussen und Williams 2006]. Alle diese Modelle erfordern nur ein Minimum an Voraussetzungen innerhalb der Art der elementaren angewandten Mathematik und Algebra.

Regression

Die einfachste Anwendung der Gaußschen Prozessmodelle ist die (konjugierte) Regression mit Gaußschem Rauschen. Siehe den Abschnitt über Approximation für Arbeiten, die sich speziell mit spärlichen oder schnellen Approximationsverfahren befassen. O’Hagan 1978 stellt eine frühe Referenz aus der Statistik-Community für die Verwendung eines Gaußschen Prozesses als vorherige Überfunktionen dar, ein Gedanke, der erst durch Williams und Rasmussen 1996 in die Gemeinschaft des maschinellen Lernens eingeführt wurde.

Klassifikation

Exakte Schlussfolgerungen in Gaußschen Prozessmodellen zur Klassifizierung sind nicht nachvollziehbar. Es werden mehrere Approximationsschemata vorgeschlagen, darunter die Laplace-Methode, Variationsnäherungen, Mittelwertfeldmethoden, Markov-Ketten-Monte-Carlo und Expectation Propagation, vgl. den Abschnitt über die Approximation. Die Mehrklassenklassifikation könnte auch explizit behandelt oder in mehrere binäre Probleme (eines gegen das andere) zerlegt werden. Für Einführungen siehe z.B. Williams und Barber 1998 oder Kuss und Rasmussen 2005. Grenzen aus der PAC-Bayesianischen Perspektive werden in Seeger 2002 angewandt.

Kovarianzfunktionen und Eigenschaften von Gaußschen Prozessen

Die Eigenschaften der Gaußschen Prozesse werden durch die (mittlere Funktion und) Kovarianzfunktion gesteuert. Einige Referenzen beschreiben hier Differenzkovarianzfunktionen, während andere mathematische Charakterisierungen geben, siehe z.B. Abrahamsen 1997 für eine Übersicht. Einige Referenzen beschreiben Nicht-Standard-Kovarianzfunktionen, die zu Nicht-Stationarität führen usw.

Modell-Auswahl

Annäherungen

Es gibt zwei Hauptgründe, Annäherungen in Gaußschen Prozessmodellen vorzunehmen. Entweder aufgrund analytischer Widerspenstigkeit wie Arreste in der Klassifikation und Regression mit nicht-gaußschem Rauschen. Oder um einen rechnerischen Vorteil bei der Verwendung großer Datensätze durch die Verwendung spärlicher Approximationen zu realisieren. Einige Methoden behandeln beide Probleme gleichzeitig. Die Approximationsmethoden und approximativen Inferenzalgorithmen sind recht unterschiedlich, siehe Quiñonero-Candela und Ramussen 2005 für einen vereinheitlichenden Rahmen für spärliche Approximationen innerhalb des Gaußschen Regressionsmodells.

Referenzen aus der Statistik-Gemeinschaft

Gauß’sche Prozesse haben eine lange Geschichte innerhalb der Statistikgemeinde. Sie müssen in der Geostatistik unter dem Namen Kriging besonders gut entwickelt worden sein. Die Arbeiten sind gruppiert, weil sie unter Verwendung einer gemeinsamen Terminologie geschrieben wurden und sich leicht von typischen maschinellen Lernpapieren unterscheiden,

Konsistenz, Lernkurven und Grenzen

Die Beiträge in diesem Abschnitt enthalten theoretische Ergebnisse zu Lernkurven, die die erwartete Generalisierungsleistung in Abhängigkeit von der Anzahl der Coaching-Fälle beschreiben. Konsistenz befasst sich mit der Frage, ob die Antwort sich dem Prozess der Wahrheitsdatengenerierung innerhalb der Grenzen unendlich vieler Trainingsbeispiele nähert.