Auswahl vorheriger Parameter für die Variationsmischung von Gaußschen

7

Ich implementiere eine Vanille-Variationsmischung aus multivariaten Gaußschen gemäß Kapitel 10 von Mustererkennung und maschinelles Lernen (Bishop, 2007).

Der Bayes'sche Ansatz erfordert die Angabe von (Hyper-) Parametern für den Gauß'schen inversen Wishart vor:

  • α0 (Konzentrationsparameter des Dirichlet-Prior);
  • ν0 (Freiheitsgrade einer inversen Wishart-Verteilung);
  • β0 (Pseudobeobachtungen für die Gauß-inverse Wishart-Verteilung);
  • m0 (Mittelwert der Gaußschen Verteilung).
  • W0 (Skalenmatrix für den inversen Wishart).

Übliche Auswahlmöglichkeiten sind , , , , , wobei ist die Dimensionalität des Raumes.α0=1ν0=d+1β0=1m0=0W0=Idd

Es ist nicht überraschend, dass der Posterior stark von der Wahl der Parameter abhängen kann (insbesondere finde ich, dass einen großen Einfluss auf die Anzahl der Komponenten hat, viel mehr als ). Für und sind die obigen Auswahlmöglichkeiten nur dann sinnvoll, wenn die Daten etwas normalisiert wurden.W0α0m0W0

Nach einer Art empirischem Bayes-Ansatz dachte ich daran, und gleich dem empirischen Mittelwert und der empirischen Kovarianzmatrix der Daten zu setzen (für letztere könnte ich Vielleicht nur die Diagonale berücksichtigen, außerdem muss ich die Kovarianzmatrix der Stichprobe mit ) . Wäre das sinnvoll? Irgendwelche Vorschläge zu anderen vernünftigen Methoden zum Einstellen der Parameter? (ohne vollständig hierarchische Bayes und DPGMM zu gehen)m0W01ν0

(Es gibt eine ähnliche Frage hier , aber keine Antwort , die auf meine Frage relevant ist.)

Lacerbi
quelle

Antworten:

2

Gute Prioritäten hängen von Ihrem eigentlichen Problem ab - insbesondere glaube ich nicht, dass es wirklich universelle Standardeinstellungen gibt. Eine gute Möglichkeit besteht darin, zu versuchen, (möglicherweise schwaches und vages) domänenspezifisches Wissen über den Prozess zu formulieren, der Ihre Daten generiert hat, z.

  • "Es ist sehr unwahrscheinlich, dass mehr als 12 Komponenten vorhanden sind."
  • "Es ist sehr unwahrscheinlich, dass Werte über 80 beobachtet werden."

Beachten Sie, dass diese im Allgemeinen nicht durch die tatsächlich gesammelten Daten informiert werden sollten, sondern durch das, was Sie vor dem Sammeln der Daten sagen können. (zB stellen die Daten Außentemperaturen in Celsius dar, daher werden sie sehr wahrscheinlich darin liegen[50,80]noch vor dem Betrachten von Daten). Es ist auch in Ordnung, Ihre Prioritäten durch die von Ihnen verwendete Rechenmaschinerie zu motivieren (z. B. werde ich 100 Datenpunkte sammeln, daher kann ich davon ausgehen, dass es unwahrscheinlich ist, dass mehr als 10 Komponenten vorhanden sind, da ich ohnehin nicht genügend Daten habe, um weitere Komponenten zu finden).

Einige dieser Aussagen können direkt in Prioritäten übersetzt werden - z. B. können Sie festlegen m0 und W01 so dass 95% der vorherigen Masse über dem erwarteten Wertebereich liegen.

Für die weniger intuitiven Parameter (oder nur als weitere Robustheitsprüfung) können Sie der Visualisierung im Bayes'schen Workflow- Papier folgen und vorherige Vorhersageprüfungen durchführen . Dies bedeutet, dass Sie eine große Anzahl neuer Datensätze beginnend mit Ihrer vorherigen simulieren. Sie können sie dann visualisieren, um zu sehen, ob sie vorhanden sind

  1. Verletze deine Erwartungen nicht zu oft (es ist gut, Raum für Überraschungen zu lassen und daher etwa 90% oder 95% der Simulationen innerhalb deiner Grenzen anzustreben).
  2. ansonsten das gesamte Wertespektrum einigermaßen gut abdecken
Martin Modrák
quelle
Vielen Dank. Dies ist eine gute (Lehrbuch-) Antwort, und ich stimme zu, dass Priors im Allgemeinen nicht über die Daten informiert werden sollten, aber in der Praxis können sie sehr gut sein - siehe empirische Bayes (wo natürlich der richtige Bayes'sche Weg darin besteht, ein hierarchisches Modell festzulegen mit Hyperprioren, die von den Daten nicht betroffen sind und über diese marginalisieren). Mit anderen Worten, meine ursprüngliche Frage lautete nach solchen Hyperprioren und heuristischen Annäherungen davon.
Lacerbi
0

Wenn Sie an Leistung über Eleganz interessiert sind, können Sie ein empirisches Maß für die Anpassungsgüte definieren und eine Hyperparametersuche durchführen , um diese zu maximieren.

jon_simon
quelle