Недавно я бегал и изучал тензорный поток и получил несколько гистограмм, которые я не знал, как интерпретировать. Обычно я думаю о высоте столбцов как о частоте (или относительной частоте / числе). Тем не менее, тот факт, что в обычной гистограмме нет столбцов, и то, что все заштриховано, меня смущает. также кажется, что много линий / высот одновременно?
Кто-нибудь знает, как интерпретировать следующие графики (и, возможно, дать хороший совет, который может помочь в целом при чтении гистограмм в тензорном потоке):
может быть, есть еще кое-что, что интересно обсудить: если исходные переменные были векторами, матрицами или тензорами, то что на самом деле показывает тензорный поток, как гистограмма для каждой координаты? Кроме того, возможно, было бы неплохо сослаться на то, как получить эту информацию, чтобы сделать людей самодостаточными, потому что у меня были некоторые трудно находящие полезные вещи в документах прямо сейчас. Может быть, какой-то учебный пример и т. Д.? Может быть, некоторые советы по манипулированию ими тоже были бы хорошими.
В качестве ссылки, вот выдержка из кода, который дал это:
(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)
. Там написано гистограмма, как еще мне это назвать? Я не знаю, почему они назвали бы это гистограммой, когда это что-то еще.Ответы:
В настоящее время название "гистограмма" является неправильным. Вы можете найти доказательства этого в README . Значение интерфейса гистограммы может измениться однажды, как они там сказали. Тем не менее, это то, что он в настоящее время означает.
Графики в вашем вопросе смешивают разные прогоны TensorFlow. Вместо этого посмотрите на следующие графики, которые показывают только один прогон:
Во-первых, я хотел бы сказать, что сами кривые представляют процентили . Я заимствую картину отсюда :
это означает, что кривая, обозначенная 93%, является 93-м процентилем, а это означает, что 93% наблюдений были ниже значения ~ 0,130 на временном шаге 1,00k. Таким образом, график дает 3 вещи информации, процент наблюдений ниже определенного значения согласно некоторой кривой мышления на каждом временном шаге вычисления обучения нейронной сети (по крайней мере, в этом случае, что означают эти шаги). Это дает вам представление о распределении ценностей вашей сети.
Существуют также минимальные и максимальные значения, чтобы получить представление о диапазоне значений во время тренировки.
Таким образом, ось Y показывает интересующее вас значение, а кривая - процентиль и ось X на шаге. Так что если у вас есть:
источник