Niedawno biegałem i uczyłem się przepływu tensora i otrzymałem kilka histogramów, których nie umiałem interpretować. Zazwyczaj myślę o wysokości słupków jako o częstotliwości (lub częstotliwości względnej / zliczeniach). Jednak fakt, że nie ma pasków jak na zwykłym histogramie oraz fakt, że rzeczy są zacienione, myli mnie. wydaje się, że jednocześnie jest wiele linii / wysokości?
Czy ktoś wie, jak interpretować następujące wykresy (i być może udzielić dobrej porady, która może ogólnie pomóc w czytaniu histogramów w tensorflow):
może niektóre inne rzeczy, które są interesujące do omówienia, to to, że jeśli pierwotnymi zmiennymi były wektory, macierze lub tensory, to co właściwie pokazuje przepływ tensor, jak histogram dla każdej współrzędnej? Również może warto odnieść się do tego, jak zdobyć te informacje, aby ludzie byli samowystarczalni, ponieważ miałem obecnie trudności z znalezieniem przydatnych rzeczy w dokumentach. Może przykładowe tutoriale itp.? Może przydałaby się też porada na temat manipulowania nimi.
Jako odniesienie, tutaj fragment kodu, który dał to:
(X_train, Y_train, X_cv, Y_cv, X_test, Y_test) = data_lib.get_data_from_file(file_name='./f_1d_cos_no_noise_data.npz')
(N_train,D) = X_train.shape
D1 = 24
(N_test,D_out) = Y_test.shape
W1 = tf.Variable( tf.truncated_normal([D,D1], mean=0.0, stddev=std), name='W1') # (D x D1)
S1 = tf.Variable( tf.constant(100.0, shape=[]), name='S1') # (1 x 1)
C1 = tf.Variable( tf.truncated_normal([D1,1], mean=0.0, stddev=0.1), name='C1' ) # (D1 x 1)
W1_hist = tf.histogram_summary("W1", W1)
S1_scalar_summary = tf.scalar_summary("S1", S1)
C1_hist = tf.histogram_summary("C1", C1)
W1_hist = tf.histogram_summary("W1", W1)
. Mówi histogram, co jeszcze mam to nazwać? Nie wiem, dlaczego nazwaliby to histogramem, skoro to coś innego.Odpowiedzi:
Obecnie nazwa „histogram” jest myląca. Dowody na to można znaleźć w README . Znaczenie interfejsu histogramu może pewnego dnia ulec zmianie, jak tam powiedziano. Jednak to właśnie obecnie oznacza.
Wykresy w twoim pytaniu mieszają różne przebiegi TensorFlow. Zamiast tego spójrz na następujące wykresy, które wyświetlają tylko jeden przebieg:
Po pierwsze, chciałbym powiedzieć, że same krzywe reprezentują percentyle . Pożyczę zdjęcie stąd :
co oznacza, że krzywa oznaczona jako 93% jest 93. percentylem, co oznacza, że 93% obserwacji było poniżej wartości ~ 0.130 w kroku czasowym 1,00k. Tak więc wykres przedstawia 3 rzeczy, procent obserwacji poniżej pewnej wartości zgodnie z pewną krzywą myślową na każdym etapie obliczania treningu sieci neuronowej (przynajmniej w tym przypadku to, co oznaczają te kroki). Daje to poczucie rozkładu wartości w twojej sieci.
Istnieją również wartości minimalne i maksymalne, które pozwalają poznać zakres wartości podczas treningu.
Tak więc oś y informuje o interesującej cię wartości, a krzywa pokazuje percentyl i oś x na kroku. Więc jeśli masz:
źródło