Cómo visualizar un clasificador durante su entrenamiento

Ok, esa es una pregunta realmente interesante. Aquí trataría de presentarles un marco llamado H2O. Es una herramienta principalmente para manejar grandes datos, pero también viene con algunas características interesantes. Tiene integración con chispa en una interfaz llamada agua con gas. Aparte de esto, esto le permite crear clústeres utilizando máquinas locales, que es la parte más genial. ¿Por qué mencioné todo esto? Esto se debe a que es una herramienta fantástica que le permite visualizar el clasificador durante el entrenamiento. ¡Vamos a ensuciarnos las manos con el conjunto de datos de Iris y ver a dónde va esto!

Para acceder a las visualizaciones, usaré la interfaz de usuario de H2O llamada Flow. Antes de llegar a la parte de Flujo, veamos qué es H2O acerca de esta representación genial que lo resume todo.

Antes de llegar a la parte de visualización, permítame informarle sobre la importación de datos y trabajar con ellos. H2O tiene su propio marco de datos que se llama marco H2O que es similar a los pandas en Python y carga los datos en el servidor. La mayoría de las operaciones son similares a las de los pandas. Solo un puntero H2O maneja los datos categóricos y los NaN que puede leer al respecto en codificación_categoría y en Valores faltantes. Dicho todo esto, vamos a centrarnos en la visualización. En primer lugar, puede ver cuánto se completa la tarea en H2O. Se ve como se muestra a continuación.

Además, también podemos controlar la pérdida de registro durante la fase de entrenamiento y también podemos observar la curva ROC. Vamos a verlos por unas pocas iteraciones.

Esto es justo después de que comenzó esto. Por supuesto, es bueno ya que los datos están bien equilibrados. Veamos más desarrollos.

y veamos uno más.

Estas son visualizaciones muy típicas. Cuando se trata de monitorear el proceso de capacitación de un clasificador, debemos preguntarnos qué es lo que queremos monitorear. La respuesta más obvia o la respuesta que viene primero a mi mente es la función de costo. En este caso, he utilizado la función de pérdida de registro. Por lo tanto, resulta interesante visualizarlo a medida que aumenta el número de iteraciones. Por lo general, esperamos que la pérdida de registro disminuya a través del entrenamiento. Esto también trae otro tema amplio para discutir cuál es cuándo parar. Por lo general, me detengo cuando el error de entrenamiento no cambia en el transcurso de 10 iteraciones.

Creo que escribí demasiado. De todos modos, espero que esta respuesta te ayude. Feliz aprendizaje !!!

Puedes ver más sobre mi trabajo en Medium

Una forma es visualizar la matriz de confusión con gradientes de color como en un mapa de calor, o con tamaños de símbolos, o simplemente símbolos que representan rangos de números. La diagonal debe resaltarse preferiblemente, ya que corresponde a las predicciones correctas. Además, el orden de las filas y columnas puede agrupar las clases relacionadas más cercanas, lo que puede hacer evidente alguna estructura de bloques en diagonal. Si se usan símbolos, puede haber un límite, debajo del cual no se muestra nada, para evitar saturar la pantalla.

La matriz de confusión puede corresponder a la evaluación directa del resultado del entrenamiento (no se recomienda ya que tiende a preferir el sobreajuste) o con errores de validación cruzada k-fold.

More Interesting

Como principiante, ¿dónde y cómo aprendo a implementar algoritmos difíciles de aprendizaje profundo y otras técnicas similares en los lenguajes OOP?

¿Cómo obtienen las startups de aprendizaje automático los usuarios iniciales?

Cómo aprovechar al máximo el libro 'Programación de la inteligencia colectiva'

¿Qué es una explicación intuitiva de lo que es la dimensión VC?

Cómo interpretar la trama de ACF

¿El reconocimiento facial basado en CNN todavía se clasificaría correctamente si la imagen facial presentada está al revés?

¿Los HMM aún superan a los LSTM en pequeños conjuntos de datos?

¿Qué es la entropía cruzada en palabras fáciles?

¿Cuáles son los beneficios de convertir una capa totalmente conectada en una red neuronal profunda a una capa convolucional equivalente?

¿Qué parte del autoencoder realmente representa las características aprendidas?

¿Cuáles son algunos buenos libros / recursos para que un principiante obtenga una buena introducción al aprendizaje automático?

Cómo tener una buena inicialización de la probabilidad previa, la probabilidad de emisión en los modelos ocultos de Markov ya que los HMM son óptimos locales

¿Cómo evaluaría un sistema de recomendación si todo lo que tiene son calificaciones de elementos de usuario?

¿Pueden los métodos de aprendizaje profundo ser útiles para el seguimiento de múltiples objetos en una multitud?

¿Qué método de aprendizaje profundo usar para clasificar archivos de texto?