Як інтерпретується гістограми, подані TensorFlow в TensorBoard?


23

Нещодавно я бігав і вивчав тензорний потік і отримав кілька гістограм, які не знав, як інтерпретувати. Зазвичай я вважаю висоту брусків як частоту (або відносну частоту / рахунки). Однак мене не бентежить той факт, що немає барів, як у звичайній гістограмі, і той факт, що речі затінені. також здається, що відразу багато ліній / висот?

Хтось знає, як інтерпретувати наступні графіки (і, можливо, дасть хороші поради, які можуть допомогти взагалі при читанні гістограм у тензорфлоу):

введіть тут опис зображення

можливо, деякі інші речі, які цікаво обговорити, це якщо оригінальні змінні були векторами чи матрицями чи тензорами, то що тензорфлоу показує насправді, як гістограма для кожної координати? Крім того, можливо, посилання на те, як отримати цю інформацію, щоб зробити людей самодостатніми, було б непогано, тому що мені вже важко знайти корисні речі в документах. Можливо, деякі приклади навчальних посібників тощо? Можливо, була б непогана порада щодо маніпулювання ними.


В якості довідки, ось витяг з коду, який дав це:

(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
Якими б не були ці сюжети, вони точно не є гістограмами! За визначенням, гістограма зображує ймовірність за допомогою областей .
whuber

1
Справа в тому, що, посилаючись на них як на "гістограми", ви вводите себе в оману, ви ризикуєте ввести в оману своїх читачів, і втратите можливості досліджувати, що відбувається, тому що ви будете використовувати неправильні ключові слова у своїх пошуках. Перше, що вам слід зробити, - це ознайомитися з документацією, щоб дізнатися, як вони називають ці сюжети.
whuber

1
@whuber Я не називаю їх гістограмами, вони називають себе гістограмами! Це одна з команд, яку я використовував для збору цієї інформації W1_hist = tf.histogram_summary("W1", W1). У ній написано гістограму, як я ще вважаю, що я б її назвав? Я не знаю, чому вони називали б його гістограмою, коли це щось інше.
Буратіно

1
Я припускаю, що розробник програмного забезпечення може називати її функції всім, що їй подобається. Незалежно від назви функції, однак це просто не є гістограми ні в якій формі. Ми можемо сподіватися, що документація використовує впізнавані, звичайні назви або - як мінімум - описує, як будуються ці сюжети.
whuber

2
@Pinocchio, дві хвилини гуглінгу привели мене до github.com/tensorflow/tensorflow/blob/master/tensorflow/…, де можна прокрутити вниз, щоб прочитати про "гістограми". Ви вже бачили цю документацію?
амеба каже, що повернемо Моніку

Відповіді:


21

В даний час назва "гістограма" є неправильним. Ви можете знайти докази цього в програмі README . Значення інтерфейсу гістограми може змінитися в якийсь день, як вони там говорили. Однак це саме зараз означає.

Графіки вашого запитання поєднують різні тири TensorFlow. Натомість подивіться на наступні графіки, які відображають лише один пробіг:

введіть тут опис зображення

Перше, що я хотів би сказати, це те, що самі криві являють собою відсотки . Я буду брати картину з тут :

введіть тут опис зображення

що означає, що крива, позначена 93%, - це 93-й перцентиль, тобто 93% спостережень були нижче значення ~ 0,130 на етапі часу 1,00k. Таким чином, на графіку подано 3 відомості, відсоток спостережень нижче певного значення за деякою кривою думок на кожному етапі обчислення тренувань нейронної мережі (принаймні, у цьому випадку, що це означає). Це дає відчуття розподілу цінностей вашої мережі.

Існують також мінімальні та максимальні значення, щоб зрозуміти діапазон значень під час тренувань.

Таким чином, вісь y вказує вам цікаве значення, а крива повідомляє вам відсоток і вісь x на кроці. Тож якщо у вас є:

(х,fi(х)=у)

ii

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.