ESTADÍSTICA

REDES NEURONALES

Variables

Entradas, salidas

Residuos

Errores

Estimación, regresión

Ajuste, aprendizaje

Parámetros

Pesos

Interacciones

Procesadores, neuronas

Los datos se toman de un proceso estocástico

Los datos se toman de un sistema dinámico

El objetivo es un modelo inteligible

El objetivo es que los resultados estén bien representados

La estructura es fija, elegida por conocimiento o por hipótesis sobre variables

La estructura es flexible

Regresión lineal

Neurona, procesador lineal


Flujo de operación para preparar una red neuronal

Estos son los pasos que tendrá nuestro programa de redes. En algún caso habrá más o menos de cada cosa, y alguna puede no ser necesaria en absoluto. Entre paréntesis se indica el fichero Python de nuestra pequeña biblioteca de clase para Pytorch donde hay funciones para eso.

  1. Necesitas datos. Muchos. Estarán en algún tipo de archivo, o serán descargables de algún servicio. Habrá que leer eso en algún tipo de matriz. (lectura)

  2. Analízalos, échalos un vistazo. Mira alguno de ellos. Haz un análisis estadístico descriptivo, aunque sea básico. Estudia la posibilidad de visualizarlos; algo siempre se puede.(lectura)

  3. Los datos pueden necesitar preproceso. Eso nos dará un mejor comportamiento de todos los algoritmos numéricos que van a entrar. (preproceso)

  4. Hay que prever una estrategia de estimación del error futuro de la red, para dictaminar cuál será su rendimiento, sin sesgos. El error final que nos dé el ajuste lleva sesgo, no vale. Esta decisión puede afectar o no a los pasos subsiguientes. Muchas veces haremos una partición de los datos, unos para ajuste, quizá otros para controlar el ajuste, quizá otros para estimar el comportamiento de la red. (particion)

  5. Hay que definir la red:

    1. Hay distintos tipos, ¿cuál usamos? (tipored)

    2. Sus tamaños: capas, procesadores, …

    3. Habrá unas funciones no lineales en cada capa, ¿cuáles? (activaciones)

  6. Hay que organizar el ajuste:

    1. ¿Vamos a querer una inicialización especial de sus parámetros? (inicializacion)

    2. ¿Qué tipo de error vamos a minimizar? (error)

    3. ¿Qué algoritmo?, ¿cómo se va a controlar? (ajuste)

    4. ¿Querremos algún tipo de información del ajuste? (registro)

  7. Valoraremos el resultado del ajuste. ¿Los errores de la red son aceptables? (registro)
  8. Usaremos la red, le daremos datos y le pediremos resultados. Y, si es posible, que nos explique por qué dice eso. (registro)
  9. Si la red lo permite, es bueno analizarla y ver cómo está funcionando (analizar)

Ejemplos: