Modelos canónicos, usos y tipos.

¿Qué son los modelos canónicos? ¿Para qué sirven los modelos canónicos? Un modelo canónico es el que define la estructura de la información, su objetivo sólo es limitarse a modelar los datos dentro de una sola base de datos, si no servir de referencia para todas las entidades y sus relaciones a través de todas las bases de datos que analiza y las aplicaciones ligadas que tributan a la misma iniciativa.

¿Un modelo canónico es un glosario? No, los glosarios de términos o de datos, identifican y definen los términos independientes que describen la información, el modelo canónico define la estructura e interrelaciones a nivel de la totalidad de los datos. Por ejemplo, de todos los datos disponibles en una empresa, de en SOA (Arquitectura orientada a servicios) es una sus aplicaciones más habituales.

Entonces, ¿Qué hace un modelo canónico? A diferencia de un glosario de datos, o de simplemente tener todos los datos desparramados por ahí, un modelo canónico nos jerarquiza la relación entre los datos, identifica datos repetidos, o las combinaciones más probables entre uno y otro para poder realizar predicciones con un alto nivel de acierto (o una probabilidad certera)

¿Cuántos modelos canónicos hay? ¿Qué tipo de modelo canónico me conviene aplicar? Existen diferentes modelos canónicos, y averiguar qué modelo funciona mejor en cada situación es una cuestión de práctica. Por supuesto existen criterios de orientación, pero a la hora de trabajar no hay nada que nos ayude tanto como la experiencia previa. Si sos nuevo en la Data Science o nunca utilizaste modelos canónicos, empezá por leer blogs, papers, libros técnicos, videotutoriales, webinars, participá en competencias de machine learning. La aplicación de modelos es una gimnasia que requiere mucho entrenamiento.

A continuación voy a esbozar brevemente los principales modelos canónicos, con la perspectiva de crear artículos específicos sobre cada uno en el futuro.

Modelos de Regresión Lineal

Los modelos de regresión lineal deben usarse en casos en los que creemos que existe una relación lineal entre cada una de nuestras características, de nuestras entradas y nuestra salida.

Los modelos de regresión lineal no son muy poderosos. Generalmente es uno de los primeros modelos que se aplican como punto de partida. Pero lo más probable (de hecho me arriesgaría a decir que siempre es así) es que encuentres otro modelo que te de mejores resultados. Entonces ¿por qué partir con un modelo de regresión lineal? Porque un modelo de regresión lineal te va a dar un primer pantallazo del problema que abordas.

Sólo por poner un ejemplo explicativo presentaré el siguiente gráfico:

El gráfico corresponde al índice bursátil Standar&Poors500, que es uno de los más importantes de la bolsa de Estados Unidos. Es una aplicación por tanto para el sistema financiero, aunque hay tantas aplicaciones como se te puedan ocurrir. Lo que se analiza en el gráfico es la evolución del índice S&P desde 1070 hasta 2010 prediciendo el 2020. En ese caso lo que tenemos es un conjunto de puntos, picos altos y bajos, crecientes y decrecientes, a lo largo de 40 años y una linea que representa la evolución lineal a lo largo de todos esos años. Esa linea es la aplicación, a grandes rasgos, del modelo de regresión lineal. Como vemos a lo largo de esos 40 años la linea real de la evolución del índice casi nunca coincide realmente con la linea proyectada, sino que sigue esa tendencia, en algunos momentos inclusive alejándose bastante. Por eso decimos que el modelo de regresión lineal es un modelo básico, que nos va a dar un primer pantallazo y que nos dará lugar a la aplicación de otros modelos.

Maquinas de Vectores de Soporte (SVMs)

Este es normalmente un algoritmo de clasificación, pero también tiene variante, de modo que puede ser usado para regresión. Lo que hacen las SVM es hallar el llamado “hiperplano de máxima separación” para dos clases de puntos en un espacio de n dimensiones.
Entonces, si graficamos nuestros puntos, si visualizamos nuestros datos y observamos una separación lineal entre estos datos entonces las máquinas de vectores de soporte probablemente sean el algoritmo que buscamos.

Podemos encontrar mucha profundidad de análisis en las SVM, vamos a explicar hoy cómo funcionan a nivel básico. Supongamos un conjunto de puntos (un millón de puntos para no hacerla fácil) en un espacio de dos dimensiones. Nosotros necesitamos un algoritmo que nos identifique grupos, la distancia entre ellos y de ese modo, si agregamos un nuevo punto saber a qué grupo pertenece. Si ponemos “SVM” en google images vamos a encontrar un montón de gráficos ilustrativos sobre esta idea. El ejemplo dado anteriormente se puede ilustrar así:

Random Forest

Random forest es el primer algoritmo no lineal en este conjunto de modelos que estamos viendo.
Lo que hace es que si existen relaciones no lineales entre cada una de nuestras entradas y nuestras salidas un random forest puede descubrir esos patrones mucho mejor de lo que lo haría un modelo de regresión como los que vimos antes.

Los random forest ajustan no sólo una rama o un árbol de decisiones sino una gran cantidad de árboles de decisión, por eso el nombre “forest” (bosque). Hacen esto en una forma no intuitiva.En lugar de ajustar cada árbol de decisión en todos los datos es decir, todas las filas, todos nuestros ejemplos, así como todas las características, lo que hacen en cambio este tipo de modelos es ajustar esos árboles de decisión, cada uno, en un subconjunto aleatorio de las filas y un subconjunto aleatorio de las columnas.
Los modelos de random forest también introducen un concepto muy interesante, muy divertido
en machine learning que es el de agrupación. La idea es que, en lugar de ajustar un árbol de decisión, se ajustan muchos débiles y se promedian sus resultados. Vendría a ser como un sistema electoral de los árboles de decisión, donde cada uno de los árboles débiles votan por su candidato preferido.

Expliquémoslo a un nivel básico. Supongamos el siguiente bosque:

Supongamos además que tenemos 40 árboles rojos y 60 árboles verdes. Cada uno de los árboles verdes y rojos realizan su voto. El bosque saca en total 40 rojos y 60 verdes, lo que quiere decir que hay un 40% de probabilidad de encontrar uno rojo. Pero más aún, podemos analizar la probabilidad de encontrar un árbol rojo en un lugar específico.
Ahora, la aplicación real de Random Forest no tiene tanto que ver con esto. Ya que en realidad no tratamos con árboles homogéneamente rojos o verdes, sino con árboles compuestos de variables, observaciones u otro conjunto de datos. Un ejemplo claro es asimilar cada árbol con una base de datos, o al menos con una tabla que contiene n columnas y m filas. Allí es donde entra la complejidad real e interesante de estos modelos. Pronto subiré algunos ejemplos específicos de su aplicación.

Redes Neuronales

Las redes neuronales no son un algoritmo nuevo. Es algo que existe hace aproximadamente 75 años. La razón por la que ahora funcionan tan bien son las cantidades masivas de datos, con los cuales entrenar estas redes y los recursos de cómputo que tenemos fácilmente disponibles con los cuales procesar los datos ya mencionados.

Una aclaración pertinente es que probablemente escuchemos hablar de “deep learning” o aprendizaje profundo, que es casi un sinónimo de redes neuronales. Las redes neuronales son normalmente cosas que tienen capas escondidas entre ellas y el deep learning hace referencia a una red neuronal con muchas capas escondidas, una red profunda.

Las redes neuronales profundas las utilizamos sobre todo para entrenarse en lotes grandes de imágenes, audio o video. Para simplificarlo en una idea simple, sería analizar una situación (ejemplo un video) al estilo que lo ve Neo en Matrix:

La cantidad de datos que se nos presenta es enorme, comparado con los modelos que vimos anteriormente, acá podríamos simplificar la explicación pensando que el análisis de una imagen es ver todos y cada uno de sus píxeles y compararlos con cada uno de los píxeles de un banco enorme de imágenes. Estamos hablando probablemente de millones de dimensiones de análisis a comparar en cada foto.

 

 

 

Autor entrada: admin

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *