martes, 4 de junio de 2019

Dimensionalidad, Clasificador, Tensorflow, Matriz de confusión

Dimensionalidad

Imaginando el radio de una circunferencia en 2D. 
El vector de 1, 1, equivale al radio 1 de la circunferencia.
Dejando un circulo de A = pi*r². Con el incrento de dimensiones, el valor resultante de las esquinas tiende a 0.
Observese la tabla de dimensiones.


















Tensorflow
En una red neuronal los datos se ordenan de izquierda a derecha creando una red de pruebas.
Las Entradas: se definen como el numero de dimensiones. X
Los Pesos: son las conexiones entre los nodos. W
Las salidas: Vectores resultantes Y
Los objetivos: Vectores objetivos en el aprendizaje supervisado
Función de activación: Activa la operación en función de la entrada
Error: Calcula la precision de la salida Y respecto a los objetivos T.

En el aprendizaje computacional es necesario clasificar los datos según sus valores.

En un array de datos, implementa un algoritmo secuencial de aprendizaje.
Los arrays estan compuestos por entrada de datos y objetivos.

Los valores de entrada son los valores reales y los de salida, pretenden ser los objetivos.

El Clasificador se compone de 3 grupos:
Entrenamiento o Capacitación: reajusta los parámetros en el aprendizaje
Pruebas: Verifica los resultados en un aprendizaje supervisado
Validación: Detecta el error de dimensionalidad según el vector y el numero de dimensiones.

El sistema evalúa el array de datos con valores objetivo y comprueba el resultado.
El resultado de la Validación es guardado y se procede a evaluar nuevamente los datos.
Comprueba y compara el resultado con la anterior validación y guarda el mejor resultado como valido.

Estos tres grupos separan el array de datos y lo evalúan con condicionales simplificados.

El conjunto de datos se analiza en 3 bloques:


La maldición de la dimensionalidad
A medida que aumentan las dimensiones, los algoritmos requieren de mayor rango de procesamiento.
Eso dificulta el aprendizaje. Para solucionarlo, es necesario optimizarlo evitando la sobre saturación de datos.

Tanto para pocas o muchas dimensiones, el conjunto de datos tienen un porcentaje de influencia según el numero de dimensiones.
A consecuencia, se obtiene mayor precision.
Para pocas dimensiones: 50% entrenamiento 25% Pruebas y 25% Validación.
Para mayor rango de dimensiones: 60% 20% 20%.
Estos porcentajes son aproximados y variaran según la complejidad de la red neuronal.
De este modo, se minimiza el proceso de entrenamiento y maximiza el rendimiento libre de ruido excesivo.

En un aprendizaje automático, se hace una simulación en los datos obtenidos.
El algoritmo selecciona según el porcentaje dado en los bloques Entrenamiento (E) Prueba (P) y Validación (V) los diferentes datos obtenidos en la salida y los compara con los datos objetivo.

En un Array de datos, los valores se almacenan en el conjunto porcentual.
En una distribución 50,25,25 tendríamos:
    E,E,P,P,V,E,E,E, V  = ejemplo1
                E,E,P,V,E,E,E, P,V = ejemplo2
                V,E,E,P,V,E,E,P,P   = ejemplo3
    …                          = ejemplo n
Puede ser aleatorio no repetitivo u ordenado según si es un problema de regression o de clasificación.
                E,E,E,E,E,P,P,V,V = ejemplo1
                V,E,E,E,E,E,P,P,V= ejemplo2
                V,V,E,E,E,E,P,P,P = ejemplo3
     …                       = ejemplo n

Estos 3 grupos se ordenan al azar y se busca por aprendizaje supervisado el conjunto de menor error. Guardando el mas favorable en validación y desechando el conjunto no favorable u obteniendo un 0 en el ejemplo “n” de validación..
Estos array de datos quedarían en binario y sumados según su numero de aciertos o (V) validación
Cada ejemplo es enumerado y distribuido en una matriz de Clases.

La Matriz de Confusion
Es una matriz cuadrada que engloban todas las validaciones de ejemplos y permite visualizar el rendimiento del algoritmo para problemas de clasificación. No sirve para problemas de regression porque los resultados son continuos.
Esta matiz se compone de una clasificación de validación respecto a los objetivos.
Y la diagonal de arriba (VP) a abajo (VN) determina los valores correctos del algoritmo.
Obteniendo un resultado porcentual de la exactitud o precision, tasa de error y sensibilidad.

Matriz(i,j) C1          C2           C3 
  C1           5             1             0                                           
  C2           1             4             1                            
  C3           2             0             4                           


                          1             0            Algoritmo       
           1             VP          FP
           0             FN          VN
Validacion          

VP = Verdadero Positivo             (La entrada y Algoritmo COINCIDEN como Correcto)
FP = Falso Positivo                          (El Algoritmo NO coincide con la entrada)
FN = Falso Negativo                       (La entrada NO coincide con el Algoritmo)
VN = Verdadero Negativo          (La entrada y el Algoritmo COINCIDEN como Falso)

Dependiendo de los valores de cada cuadrante de la matriz(I,j) obtendra un porcentaje de aprendizaje y deteccion de errores.

Exactitud = (VP + FP)/total
Sensibilidad = VP / (VP + FN)
Especifico = VN / (VN + FP)
Precisión = VP / (VP + FP)

No hay comentarios:

Publicar un comentario