Bedeutung des Histogramms auf dem Tensorboard

9

Ich arbeite an Google Tensorboard, und ich bin verwirrt über die Bedeutung von Histogramm Plot. Ich lese das Tutorial, aber es scheint mir unklar. Ich schätze wirklich, wenn jemand mir helfen könnte, die Bedeutung jeder Achse für Tensorboard Histogram Plot herauszufinden.

Probenhistogramm von TensorBoard

    
Ruofan Kong 23.02.2016, 01:26
quelle

4 Antworten

13

Ich bin früher auf diese Frage gestoßen und habe auch nach Informationen gesucht, wie man die Histogramm-Plots in TensorBoard interpretieren kann. Die Antwort kam für mich von Experimenten, bei denen bekannte Verteilungen gezeichnet wurden. So kann die konventionelle Normalverteilung mit Mittelwert = 0 und Sigma = 1 in TensorFlow mit folgendem Code erzeugt werden:

%Vor%

So sieht das Ergebnis aus: Histogramm der Normalverteilung mit 1,0 Standardabweichung . Die horizontale Achse repräsentiert Zeitschritte. Das Diagramm ist ein Konturdiagramm und weist Konturlinien bei den Werten der vertikalen Achse von -1,5, -1,0, -0,5, 0,0, 0,5, 1,0 und 1,5 auf.

Da das Diagramm eine Normalverteilung mit Mittelwert = 0 und Sigma = 1 darstellt (und nicht vergessen, dass Sigma die Standardabweichung bedeutet), repräsentiert die Konturlinie bei 0 den Mittelwert der Proben.

Der Bereich zwischen den Konturlinien bei -0,5 und +0,5 stellt die Fläche unter einer Normalverteilungskurve dar, die innerhalb von ± 0,5 Standardabweichungen vom Mittelwert aufgenommen wurde, was nahe legt, dass es 38,3% der Stichprobe ist.

Der Bereich zwischen den Konturlinien bei -1,0 und +1,0 stellt die Fläche unter einer Normalverteilungskurve dar, die innerhalb von +/- 1,0 Standardabweichungen vom Mittelwert aufgenommen wurde, was darauf hindeutet, dass es sich um 68,3% der Stichprobe handelt.

Der Bereich zwischen den Konturlinien bei -1,5 und + 1 - 0,5 stellt die Fläche unter einer Normalverteilungskurve dar, die innerhalb von ± 1,5 Standardabweichungen vom Mittelwert erfasst wird, was darauf hindeutet, dass es sich um 86,6% der Stichprobe handelt. p>

Der blasseste Bereich erstreckt sich etwas über +/- 4,0 Standardabweichungen vom Mittelwert, und nur etwa 60 pro 1.000.000 Proben liegen außerhalb dieses Bereichs.

Während Wikipedia eine sehr gründliche Erklärung hat, können Sie die relevantesten Nuggets hier erhalten.

Tatsächliche Histogramm-Plots zeigen verschiedene Dinge. Die Plotbereiche wachsen und schrumpfen in vertikaler Breite, wenn die Variation der überwachten Werte zunimmt oder abnimmt. Die Diagramme können sich auch nach oben oder nach unten verschieben, wenn der Mittelwert der überwachten Werte zunimmt oder abnimmt.

(Sie haben vielleicht bemerkt, dass der Code tatsächlich ein zweites Histogramm mit einer Standardabweichung von 0,13 erzeugt. Ich habe dies getan, um jede Verwechslung zwischen den Plotkonturlinien und den vertikalen Achsenmarkierungen zu beseitigen.)

    
marc_alain 13.03.2016 04:08
quelle
1

@marc_alain, du bist ein Star, um so ein einfaches Skript für TB zu erstellen, das schwer zu finden ist.

Um zu dem zu addieren, was er sagte, zeigen die Histogramme 1,2,3 Sigma der Verteilung der Gewichte. Dies entspricht dem 68., 95. und 98. Perzentil. Denken Sie also, wenn Ihr Modell 784 Gewichte hat, zeigt das Histogramm, wie sich die Werte dieser Gewichte mit dem Training ändern.

Diese Histogramme sind wahrscheinlich für flache Modelle nicht so interessant, Sie könnten sich vorstellen, dass bei tiefen Netzwerken Gewichte in hohen Schichten eine Weile brauchen, um zu wachsen, weil die logistische Funktion gesättigt ist. Natürlich plappere ich nur gedankenlos dieses Papier von Glorot und Bengio , in dem sie die Gewichte Verteilung durch Training und zeigen, wie die logistische Funktion für die höheren Schichten für eine ganze Weile gesättigt ist.

    
Tim Levine 25.03.2016 23:54
quelle
0

Roufan,

Mit dem Histogramm-Diagramm können Sie Variablen aus Ihrem Diagramm plotten.

%Vor%

Im obigen Beispiel würde die vertikale Achse die Einheiten meiner w1 Variablen haben. Die horizontale Achse würde Einheiten des Schrittes haben, von dem ich denke, dass er hier festgehalten wird:

%Vor%

Es kann nützlich sein, dies zu sehen, wie man Zusammenfassungen für das Tensorboard.

Don

    
McMDA 23.02.2016 16:38
quelle
0

Jede Zeile des Diagramms stellt ein Perzentil in der Verteilung über die Daten dar: Zum Beispiel zeigt die untere Zeile, wie sich der minimale Wert im Laufe der Zeit verändert hat, und die mittlere Zeile zeigt, wie sich der Median geändert hat. Von oben nach unten gelesen haben die Zeilen folgende Bedeutung: [maximum, 93%, 84%, 69%, 50%, 31%, 16%, 7%, minimum]

Diese Perzentile können auch als Standardabweichungsgrenzen in einer Normalverteilung betrachtet werden: [maximum, μ+1.5σ, μ+σ, μ+0.5σ, μ, μ-0.5σ, μ-σ, μ-1.5σ, minimum] , so dass die farbigen Bereiche, gelesen von innen nach außen, jeweils die Breite [σ, 2σ, 3σ] haben.

    
Xxx 20.07.2016 12:52
quelle