Recientemente estaba corriendo y aprendiendo el flujo del tensor y obtuve algunos histogramas que no sabía cómo interpretar. Por lo general, pienso en la altura de las barras como la frecuencia (o frecuencia / recuento relativo). Sin embargo, el hecho de que no haya barras como en un histograma habitual y el hecho de que las cosas estén sombreadas me confunde. ¿También parece haber muchas líneas / alturas a la vez?
¿Alguien sabe cómo interpretar los siguientes gráficos (y tal vez proporcionar buenos consejos que pueden ayudar en general a leer histogramas en flujo de tensor):
quizás otras cosas que son interesantes para discutir es, si las variables originales eran vectores o matrices o tensores, entonces, ¿qué muestra el flujo de tensor de hecho, como un histograma para cada coordenada? Además, tal vez hacer referencia a cómo obtener esta información para que las personas sean autosuficientes sería bueno porque he tenido dificultades para encontrar cosas útiles en los documentos en este momento. Tal vez algunos tutoriales ejemplo, etc. Quizás algún consejo sobre manipularlos también sería bueno.
Como referencia, aquí un extracto del código que dio esto:
(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)
. Dice histograma, ¿cómo se supone que debo llamarlo? No sé por qué lo llamarían histograma cuando es otra cosa.Respuestas:
Actualmente el nombre "histograma" es un nombre inapropiado. Puede encontrar evidencia de eso en el archivo README . El significado de la interfaz del histograma podría cambiar algún día, como dijeron allí. Sin embargo, esto es lo que significa actualmente.
Los gráficos en su pregunta mezclan diferentes ejecuciones de TensorFlow. En cambio, mire los siguientes gráficos que muestran solo una ejecución:
Primero, lo que me gustaría decir es que las curvas mismas representan percentiles . Tomaré prestada la foto de aquí :
lo que significa que la curva etiquetada 93% es el percentil 93, lo que significa que el 93% de las observaciones estaban por debajo del valor ~ 0.130 en el paso de tiempo 1.00k. Entonces, el gráfico proporciona 3 elementos de información, el porcentaje de observaciones debajo de un cierto valor de acuerdo con alguna curva de pensamiento en cada paso de tiempo del cálculo del entrenamiento de la red neuronal (al menos en este caso es lo que significan los pasos). Esto le da una idea de la distribución de valores de su red.
También existen los valores mínimos y máximos para tener una idea del rango de valores durante el entrenamiento.
Entonces, el eje y le dice el valor que le interesa y la curva le dice el percentil y el eje x en el paso. Entonces si tienes:
fuente