Mostrando entradas con la etiqueta Meta-Modelos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Meta-Modelos. Mostrar todas las entradas

domingo, 24 de julio de 2016

Definiciones y Conceptos


Para comprender todo el proceso de pruebas que vamos a seguir se hace necesario comenzar fijando una serie de conceptos y definiciones que arrastraremos durante todo el desarrollo.


Con el fin de que sea comprensible para todos los lectores no nos ceñiremos a la notación matemática sino que los explicaremos en un lenguaje más coloquial. Enmarcaremos de esta forma todo el lenguaje y los análisis y validaciones a realizar.

Conocimiento

Es todo aquello que permite inferir un resultado esperado a partir de una situación.

Inferencia

Es el proceso de aplicar un conocimiento para obtener un resultado (deductiva) o un nuevo conocimiento (inductiva).

Aprendizaje

Es el proceso mediante el cual a partir de unos datos de partida o entradas se genera un conocimiento, el cual nos permite obtener soluciones para distintos problemas.
Existen dos tipos de aprendizaje:

  • Supervisado: aquel que parte de unos datos históricos conocidos para generar un conocimiento. 
  • No supervisado: parte de un conjunto de datos e intenta descubrir nuevas relaciones o características de estos datos no detectadas a hasta este momento. 

Dominio

Todo el conjunto de individuos, entidades y sucesos que componen nuestro ámbito de actuación. Es un subconjunto del mundo real.

Instancia o Suceso

Es un elemento concreto del dominio. Digamos que para un dominio X, una instancia es un elemento x Ꞓ X.

Atributos

Toda instancia debe estar definida por unas características (definición y valor) para que pueda ser tratado en el mundo computacional. A cada uno de estos pares (clave, valor) asociados a una instancia en un momento dado se le denomina atributo de la instancia. Todos los atributos de una instancia, establecidos en forma matemática, determinan un vector de la forma (a1,a2,a3, … an) por lo que podremos considerar que las instancias de un dominio son los vectores válidos del dominio.

Atributos de entrada

Son aquellos atributos que conocemos, para una entidad de un dominio, y son utilizados como base para la resolución de un problema concreto.

Atributos objetivo

Son aquellos atributos cuyo valor queremos descubrir por medio del proceso de inferencia. Son el resultado de los procesos de inferencia deductiva, en los cuales consultamos a nuestra base de conocimiento, esperando a cambio una predicción.

Modelo

Es una función h(x) que, a partir de un conjunto de instancias caracterizadas por unos atributos de entrada (Escenario) predice o descubre, de forma automática, qué valor tomarán los atributos objetivo. Descubrir y almacenar estos modelos h(x), para su posterior uso, es el objetivo de la inferencia inductiva o generación de conocimiento.

Rendimiento de un modelo

Indica la calidad de las predicciones de un modelo, esto es, cómo de buenas o malas se espera que sean estas predicciones. A modo de ejemplo, si un modelo tiene un 0.63 de rendimiento debemos esperar una tasa de acierto del 63% en sus predicciones y decidir si realmente ese valor es adecuado para resolver nuestro problema.

Intervalo de confianza

Es el umbral dentro del cual podemos considerar que el resultado de la predicción generada por el modelo es válido.

Conjunto de Aprendizaje

Para aprendizajes supervisados, el Conjunto de Aprendizaje es el conjunto de instancias que utilizaremos para el proceso de inferencia. Esto es, el conjunto de datos históricos.
Normalmente durante este proceso los datos históricos se dividen en dos: un conjunto de datos o vectores usados para el aprendizaje (Training Set) normalmente definidos como el 75% del conjunto de aprendizaje y un conjunto de datos para la validación posterior de los resultados del modelo (25%).

Overfitting

Es la pesadilla de los modelos de aprendizaje automáticos. El overfitting es una característica que se da cuando un modelo h(x) tiene un rendimiento superior a otro h´(x) para el Training Set pero tiene un rendimiento más pobre para el dominio completo (atributos objetivo conocidos y desconocidos), esto es, en el mundo real fuera del laboratorio.

Algoritmos

Son la base de la generación de conocimiento y son las distintas técnicas a aplicar para generar conocimiento, esto es, modelos. Los clasificaremos en tres tipos:
  • Clasificación: orientados a segmentar las instancias de un dominio en un conjunto de segmentos preestablecidos. 
  • Regresión: orientados a predecir el valor numérico esperado para un atributo objetivo. 
  • Clustering: en la línea del algoritmo de clasificación, pero orientado a detectar similaridades dentro del conjunto de instancias del dominio y, por tanto, no trabaja con un conjunto predefinido de segmentos sino que genera los distintos segmentos para detectar la mejor distribución de estos. 

Conforme avancemos introduciremos nuevos conceptos orientados definir y usar algoritmos concretos dentro de cada una de los tipologías y, más tarde, entraremos en el mundo del Deep Learning.

martes, 12 de julio de 2016

DayF (Decisions at your Fingertips)


Modelado y Análisis de Flujos Dinámicos de Información. Necesidades y Demandas del Usuario.


El estado actual del arte y la proliferación de plataformas Data-Driven han generado una creciente necesidad de información para la toma de decisiones. Esto ha supuesto la aparición en escena de nuevos roles especializados necesarios para el proceso de predicción y simulación, como el Data Scientist pero, realmente ¿qué papel juega el Experto de Dominio?.

Sin duda este perfil es el más adecuado para realizar los modelados y la caracterización de los análisis pero, ¿es necesario adquirir las competencias de un científico de datos para que realice sus propios modelos?.  

Actualmente sí.

Aun cuando una organización pueda permitirse un departamento de Científicos de Datos el GAP existente entre la nueva necesidad, en un sistema dinámico Real Time, y el feedback asociado a dicha necesidad es inevitable.

Si, adicionalmente, le unimos un entorno cambiante y realimentado de forma dinámica, como pueden ser los sistemas de generación energética, los sistemas de abastecimiento, cadenas de producción en base a demanda o incluso la regulación automática de semáforos en base al tráfico, donde las decisiones automáticas tienen que ser fiables e incluir predicciones de comportamiento del sistema en los tramos y componentes vecinos, los sistemas de apoyo a la decisión son planteados como productos llave en mano, con unos costes de implantación, mantenimiento y evolución altos y recurrentes, o como características adicionales desarrolladas sobre productos de base, orientados a otras funciones, como los Scadas o los BI, soluciones que, por otro lado, nunca llegan a cubrir las expectativas.

Las cuestiones por tanto son:
  •          ¿Es posible realizar un producto para la toma de decisiones predictiva y automática partiendo de una topología de red, una caracterización de los elementos, una algorítmica adecuada y existente y unas series históricas de datos?
  •          ¿Es posible generar el producto de forma que sea user-friendly y con una curva de aprendizaje adecuada?
  •          ¿Es posible abstraer al usuario de la complejidad matemática de los modelos y meta-modelos?
  •          ¿Es posible modificar la topología, caracterización de los componentes o inclusión de nueva algorítmica y que el modelo simulado se reajuste automáticamente a su comportamiento óptimo en tiempo y forma?
Y una cuestión adicional: ¿es posible llevarlo a mercado en un modelo Open Source y sus variantes y tener acceso a la financiación necesaria para desarrollarlo?

Sin duda la siguiente evolución del Machine Learning y la cuarta revolución industrial tendrán que resolver estos aspectos.

En los próximos meses analizaremos esta problemática intentando dar solución, en forma de producto, a este comportamiento al que denominaremos data-flow-driven.


La iniciativa DayF (Decisions at your Fingertips) se pone en marcha.