TensorBoard'da TensorFlow tarafından verilen histogramlar nasıl yorumlanır?


23

Son zamanlarda koşuyor ve tensör akışını öğreniyordum ve nasıl yorumlayacağımı bilmediğim birkaç histogram aldım. Genellikle çubukların yüksekliğini frekans (veya göreceli frekans / sayım) olarak düşünüyorum. Ancak, her zamanki histogramda olduğu gibi çubuklar olmadığı ve her şeyin gölgeli olduğu gerçeği beni şaşırtıyor. Aynı zamanda aynı anda birçok satır / yükseklik var gibi görünüyor?

Birisi aşağıdaki grafikleri nasıl yorumlayacağını biliyor mu (ve genel olarak tensorflow'ta histogramları okumaya yardımcı olabilecek iyi tavsiyeler verebilir):

görüntü tanımını buraya girin

belki tartışılması ilginç olan bazı şeyler olabilir, eğer orijinal değişkenler vektörler veya matrisler veya tensörler ise, o zaman gerçekte tensorflow her bir koordinat için bir histogram gibi gösterilen nedir? Ayrıca, belki de bu bilgiyi insanların kendilerine yetecek hale getirme yolunda atıfta bulunmak güzel olurdu, çünkü şu anda dokümanlar üzerinde faydalı şeyler bulmakta zorlandım. Belki bazı dersler örnek vb? Belki onları manipüle konusunda bazı tavsiyeler de iyi olurdu.


Referans olarak, işte bunu veren kodun bir özeti:

(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)

2
Bu çizimler ne olursa olsun, kesinlikle histogram değil! Tanım olarak, bir histogramdır tasvir olasılığını vasıtasıyla alanları .
whuber

1
Mesele şu ki, bunlara “histogramlar” olarak atıfta bulunarak, kendinizi yanlış yönlendirirsiniz, okuyucularınızı yanlış yönlendirme riskiniz vardır ve neler olup bittiğini araştırmak için fırsatlarını kaybedersiniz, çünkü aramalarınızda yanlış anahtar kelimeleri kullanacaksınız. Yapmanız gereken ilk şey nedir öğrenmek için belgelere bakın olduğunu o bu araziler çağırır.
whuber

1
@whuber Onlara histogram demiyorum, kendilerine histogram diyorlar! Bu bilgiyi toplamak için kullandığım komutlardan biri W1_hist = tf.histogram_summary("W1", W1). Histogram yazıyor, başka ne diyebilirim ki? Başka bir şey olduğunda neden onu histogram olarak adlandırdıklarını bilmiyorum.
Pinokyo

1
Sanırım bir yazılım geliştirici, işlevlerine istediği her şeyi adlandırabilir. Ancak, fonksiyonun adı ne olursa olsun, bunlar basitçe herhangi bir biçimde histogram değildir. Belgelerin tanınabilir, geleneksel isimler kullanmasını veya en azından bu arazilerin nasıl oluşturulduğunu açıklamasını umuyoruz .
whuber

2
@Pinocchio, iki dakikalık googling beni github.com/tensorflow/tensorflow/blob/master/tensorflow/… 'ya getirdi, burada "histogramlar" hakkında okumak için aşağıya kaydırın. Bu belgeleri daha önce gördünüz mü?
amip Reinstate Monica diyor

Yanıtlar:


21

Şu anda "histogram" adı bir yanlış isim. Bunun kanıtlarını README'de bulabilirsiniz . Histogram arayüzünün anlamı, orada söyledikleri gibi bir gün değişebilir. Ancak, şu anda bunun anlamı budur.

Sorunuzdaki grafikler TensorFlow’un farklı çalışmalarını birleştiriyor. Bunun yerine, yalnızca bir çalışma gösteren aşağıdaki grafiklere bakın:

görüntü tanımını buraya girin

Öncelikle söylemek istediğim, eğrilerin kendilerinin yüzdelik değerleri temsil ettiğidir . Resmi buradan ödünç alacağım :

görüntü tanımını buraya girin

bu,% 93 etiketli eğrinin% 93 oranında olduğu anlamına gelir; bu, gözlemlerin% 93'ünün 1.00k adımında ~ 0.130 değerinin altında kaldığı anlamına gelir. Bu yüzden grafik 3 bilgi verir; gözlemlerin yüzdesi, Sinir Ağı eğitiminin hesaplanmasının her adımında bazı düşünce eğrilerine göre belirli bir değere sahiptir (en azından bu durumda adımların ne anlama geldiğidir). Bu size ağınızın değerlerinin dağılımı hakkında bir fikir verir.

Egzersiz sırasındaki değer aralığını anlamak için minimum ve maksimum değerler de vardır.

Böylece y ekseni size ilgilendiğiniz değeri, eğri ise adımdaki yüzdelik ve x eksenini gösterir. Yani eğer varsa:

(x,fben(x)=y)

benben

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.