Open GitM0j0 opened 6 years ago
Wo ist denn der code dafür?
Und was nimmst du als std_true
? Das sollte vermutlich 1 sein oder?
Was genau plottest du denn? LL/RMSE der Parameter an der jeweiligen Iteration oder der der average prediction bis dahin?
Der Code ist ziemlich unordentlich im 'regression.ipynb', da habe ich gerade die aktuelle Version gepushed.
Ja genau, da habe ich für Boston Housing 1 genommen.
Ersteres!
Ok, so spontan habe ich jetzt nichts gesehen, was offensichtlich falsch wäre, ich kanns mir morgen nochmal angucken.
Zum letzten Punkt: was du eigentlich willst, ist die LL bzw. der RMSE von der average prediction über deine samples. Die sollte jeweils etwas besser sein als LL/RMSE an eine beliebigen iteration.
Das wäre super. Ja stimmt, blöd von mir. Ist nun ein wenig besser, aber die Diskrepanz besteht noch immer.
Ich habe nochmal reingeschaut, dort std=1. zu nehmen macht natürlich keinen Sinn, da ich die Schätzungen wieder zurückskaliert habe. Muss ich hier nicht vielmehr die predictive variance nehmen?
Ja, das würde auf jeden Fall Sinn machen. Ich hatte da irgendwann mal drüber nachgedacht, aber völlig vergessen, das zu erwähnen...
Sind die Ergebnisse damit besser? Oder hast du es noch nicht ausprobiert?
Hey, ich habe die Test Log-likelihoods für den Boston Housing Datensatz berechnet, kann allerdings nicht die Ergebnisse der anderen Paper erreichen. Kannst du kurz einen Blick hier auf die Implementierung werfen?
norm = torch.distributions.normal.Normal(y, std_true)
test_ll = norm.log_prob(standard_pred).mean()
Meine Trainingsdaten habe ich ja standadisiert, die Konvertierung für die Testdaten sieht dann folgendermaßen aus
X_test = (X_test - X_train_mean) / X_train_std
prediction = prediction * y_train_std + y_train_mean
Als Beispiel hier die Test LL für eine Konfiguration des KSGFS:
Für anderen Konfigurationen waren die Werte ein wenig besser.
Der dazugehörige RMSE:
Dieser liegt zumindest in der Range der anderen Ergebnisse und da beide Werte eigentlich sich nur durch ein Skaling unterscheiden sollten, wundere ich mich nun ein wenig.
Zu der Mail am Morgen: In dem SGLD oder SGFS Paper sprechen sie von einem adaptiven Verfahren, die von Optimierung auf Sampling umspringt. Bei den Experimenten wurden aber immer feste Werte für den Burn-In gewählt. Ich werde mich An diesen Werten erst einmal orientieren und kann diese ein wenig variieren und schauen, was dort passiert.