Máquinas de Soporte Vectorial

Es un método de clasificación para data lineal y no lineal, que utiliza un mapeo no lineal para transformar la data de entrenamiento en una dimensión superior; con esta, se identifica el hiperplano óptimo de separación. Con una asignación no lineal apropiada para una suficientemente alta dimensionalidad, datos de dos clases pueden siempre estar separados por un hiperplano. (Han, Kamber, & Pei, 2012)

Los algoritmos de soporte vectorial, se emplean cuando se desea clasificar nuevos objetos no visibles en dos grupos distintos en función de sus propiedades y un conjunto de ejemplos conocidos, que ya están categorizados.

Un buen ejemplo de un sistema de este tipo es la clasificación de un conjunto de nuevos documentos en grupos de sentimiento positivo o negativo, sobre la base de otros documentos que ya han sido clasificados como positivos o negativos. Del mismo modo, otro ejemplo, es la clasificación de los nuevos mensajes de correo electrónico en spam o no spam, basado en un gran corpus de documentos que ya han sido marcados como spam o no spam por los seres humanos.

Los algoritmos de soporte vectorial modelan la situación mediante la creación de un espacio de características, la cual es un espacio vectorial de dimensiones finitas, en las que cada dimensión representa una “característica” de un objeto en particular. En el contexto de spam o clasificación de documentos, cada una “característica” es la prevalencia o la importancia de una palabra en particular. (Halls, 2014)

El objetivo de las máquinas de soporte vectorial es la formación de un modelo que asigna nuevos objetos que no se ven en una categoría en particular. Esto se logra mediante la creación de una partición lineal del espacio de características en dos categorías. Sobre la base de las características de los nuevos objetos no visibles, se coloca un objeto “por encima” o “por debajo” del plano de separación, lo que lleva a una categorización. Esto hace que sea un ejemplo de un clasificador lineal no probabilístico. (Halls, 2014)

Sin embargo, gran parte del beneficio de las máquinas de soporte vectorial, proviene del hecho de que no están restringidas a ser clasificadores lineales. Utilizando una técnica conocida como el truco del núcleo que pueden llegar a ser mucho más flexible mediante la introducción de diversos tipos de límites de decisión no lineales. (Halls, 2014)

Bibliografía

Halls, M. (12 de Septiembre de 2014). QuantStart. Obtenido de Support Vector Machines: A Guide for Beginners: https://www.quantstart.com/articles/Support-Vector-Machines-A-Guide-for-Beginners

Han, J., Kamber, M., & Pei, J. (2012). Data Mining Concepts and Techniques (Tercera ed.). Waltham, Massachusetts, USA: Morgan Kaufmann.

Algoritmos Genéticos

Los algoritmos genéticos son un método para resolver problemas de optimización con restricciones y sin restricciones que se basa en la selección natural, tratan de incorporar las ideas de la evolución natural. Los algoritmos genéticos modifican repetidamente una población de soluciones individuales; en cada paso, los algoritmos genéticos seleccionan individuos al azar de la población actual para ser padres y los utiliza para producir los hijos para la próxima generación. En generaciones sucesivas, la población “evoluciona” hacia una solución óptima. Se utilizan para resolver una variedad de problemas de optimización que no son muy adecuadas para los algoritmos de optimización estándar, incluyendo problemas en los que la función objetivo es discontinua, no diferenciables, estocástica, o altamente no lineal. (The MathWorks Inc., 2016)

El proceso básico para un algoritmo genético sigue los siguientes pasos:

Población Inicial: Crear una población inicial. Esta población suele ser generada de forma aleatoria y puede ser de cualquier tamaño.

  1. Evaluación: Cada miembro de la población es luego evaluado y se calcula un nivel de ajuste para ese individuo. El nivel de ajuste se calcula basado respecto a la satisfacción de los requisitos deseados.
  2. Selección: Constantemente se desea incrementar el nivel de ajuste de la población. La selección, por tanto, ayuda a incrementar el nivel de ajuste descartando los malos diseños y manteniendo solo los mejores individuos de la población. Existen algunos métodos de selección, pero la idea fundamental es la misma, hacer que sea más probable que los individuos más aptos sean los seleccionados para la próxima generación.
  3. Cruce: Consiste en crear nuevos individuos mediante la combinación de los aspectos de los individuos seleccionados. El objetivo es que mediante la combinación de ciertos rasgos a partir de dos o más individuos se genere una descendencia con mayor nivel de ajuste, que heredarán las mejores características de cada uno de los padres de ella.
  4. Mutación: La mutación se considera un operador básico, que proporciona un pequeño elemento de aleatoriedad en los individuos de la población. Si bien se admite que el operador de cruce es el responsable de efectuar la búsqueda a lo largo del espacio de posibles soluciones, el operador de mutación es el responsable del aumento o reducción del espacio de búsqueda dentro del algoritmo genético y del fomento de la variabilidad genética de los individuos de la población.
  5. Repetición: Una vez obtenida la nueva generación, se puede empezar de nuevo desde el paso dos hasta llegar a una condición de terminación.

Terminación: cuando el algoritmo ha encontrado la selección más probable o el nivel de ajuste es el deseado, se presume que la solución que es lo suficientemente buena y cumple con un criterio de mínimos predefinidos. (Jacobson, 2012)

Aunque los algoritmos genéticos son fáciles de describir y programar, su comportamiento puede ser complicado, y varias preguntas abiertas existen acerca de cómo funcionan y para qué tipo de problemas que son los más adecuados.

La teoría tradicional de los algoritmos genéticos (formulada por primera vez en Holanda, 1975) asume que, en un nivel muy general de descripción, los algoritmos genéticos trabajan mediante el descubrimiento, enfatizando, y recombinando los buenos “individuos” de soluciones en una manera altamente paralela. La idea aquí es que las buenas soluciones tienden a estar formadas por bloques de combinaciones de valores de un alto nivel de ajuste de las cadenas en las que están presentes. (Mitchel, 1999)

Bibliografía

Agudelo, L., López-Lezama, J. M., & Muñoz, N. (11 de Febrero de 2014). Scielo – Scientific Electronic Library Online. Obtenido de Análisis de Vulnerabilidad de Sistemas de Potencia Mediante Programación Binivel: http://www.scielo.cl/scielo.php?script=sci_arttext&pid=S0718-07642014000300013

Jacobson, L. (12 de Febrero de 2012). The Project Spot. Obtenido de Creating a genetic algorithm for beginners: http://www.theprojectspot.com/tutorial-post/creating-a-genetic-algorithm-for-beginners/3

Mitchel, M. (1999). An Introduction to Genetic Algorithms. Cambridge, Massachusetts: Massachusetts Institute of Technology.

The MathWorks Inc. (2016). The MathWorks – Documentation. Obtenido de What Is the Genetic Algorithm?: http://www.mathworks.com/help/gads/what-is-the-genetic-algorithm.html?requestedDomain=www.mathworks.com

Redes Neuronales

Las redes neuronales son un complejo algoritmo utilizado para el análisis predictivo, estas se encuentran inspiradas en la estructura del cerebro humano. Una red neuronal proporciona un modelo muy simple en comparación con el cerebro humano, pero funciona bastante bien para la analítica predictiva.

Las redes neuronales son ampliamente utilizadas para la clasificación de datos, estos algoritmos procesan data histórica y presente para estimar los valores futuros, descubriendo cualquier correlación compleja oculta en los datos, de una manera análoga a la empleada por el cerebro humano. (Bari, Chaouchi, & Jung, 2014)

Las redes neuronales se pueden utilizar para hacer predicciones en los datos de series de tiempo, tales como los pronósticos meteorológicos. Una red neural puede ser diseñada para detectar patrones en datos de entrada y producir una salida libre de ruido. (Bari, Chaouchi, & Jung, 2014)

La estructura de un algoritmo de red neuronal tiene tres capas:

  • La capa de entrada se alimenta valores de los datos pasados ​​a la siguiente capa (oculta). Los círculos negros representan nodos de la red neural.
  • La capa oculta encapsula varias funciones complejas que crean predictores; a menudo esas funciones están ocultas para el usuario. Un conjunto de nodos (círculos negros) en la capa oculta representa funciones matemáticas que modifican los datos de entrada; estas funciones son llamadas neuronas.
  • La capa de salida recoge las predicciones hechas en la capa oculta y produce el resultado final: la predicción del modelo.

Cada neurona toma un conjunto de valores de entrada; cada uno está asociado con un peso y un valor numérico conocido como sesgo. La salida de cada neurona es una función de la salida de la suma ponderada de cada entrada más el sesgo. (Bari, Chaouchi, & Jung, 2014)

La mayoría de las redes neuronales usan funciones matemáticas para activar las neuronas. Una función es una relación entre un conjunto de entradas y un conjunto de salidas, con la regla de que cada entrada corresponde a una salida. (Gershenson)

Las neuronas en una red neuronal pueden utilizar función sigmoide para que coincidan las entradas con las salidas.

El objeto de la utilización de esta función en las redes neuronales, se debe a que la mayoría de estas funciones tienen derivadas que son positivas y de fácil cálculo; son continuas, pueden servir como tipos de funciones de suavizado, y son funciones limitadas. (Bari, Chaouchi, & Jung, 2014)

Esta combinación de características, exclusivas para las funciones sigmoides, es vital para el funcionamiento de un algoritmo de red neuronal, especialmente cuando se requiere emplear el uso de cálculos con derivadas.

El peso de cada neurona es un valor numérico que se puede derivarse utilizando prácticas, algoritmos supervisados o no supervisados.

  • En el caso de los algoritmos supervisados, los pesos se derivan mediante el ingreso de los datos de entrada y salida de la data de muestra para el algoritmo hasta que los pesos están sintonizados (es decir, hay una coincidencia casi perfecta entre las entradas y salidas).
  • En el caso de los algoritmos no supervisados, la red neuronal se presenta solamente con entradas, y el algoritmo genera las salidas correspondientes. Cuando se procesa nuevamente el algoritmo con nueva data de entrada, el algoritmo produce nuevos resultados que son similares a las salidas anteriores, entonces, se presume que los pesos de las neuronas se han ajustado.

Las redes neuronales tienden a tener una alta precisión incluso si los datos tienen una cantidad significativa de ruido. Eso es una gran ventaja; cuando la capa oculta todavía puede descubrir relaciones en los datos a pesar del ruido. Por otro lado, una desventaja de los algoritmos de red neuronal es que la exactitud de la predicción puede ser válido sólo dentro del período de tiempo durante el cual se reunieron los datos de entrenamiento. (Bari, Chaouchi, & Jung, 2014)

Bibliografía

Bari, A., Chaouchi, M., & Jung, T. (2014). How Predictive Analysis Neural Networks Work. Obtenido de For Dummies: http://www.dummies.com/how-to/content/how-predictive-analysis-neural-networks-work.html

Gershenson, C. (s.f.). Artificial Neural Networks for Beginners. Obtenido de Data Science Knowledge Repo: https://datajobs.com/data-science-repo/Neural-Net-%5BCarlos-Gershenson%5D.pdf

Regresión Lineal

La regresión lineal es uno de los métodos fundamentales y más utilizados en el análisis predictivo. La regresión lineal es utilizada para describir data y explicar la relación existente entre una variable dependientes y varias variables independientes. (Statistics Solutions, 2013)

El método de regresión lineal, es considerado una variación del algoritmo de árboles de decisión, debido a que los árboles de decisión cumplen la finalidad encontrar la relación entre dos variables una dependiente y otra independiente. El objeto del modelo de regresión lineal es el ajustar los puntos de un set de datos, a una sola línea, la relación toma la forma de una ecuación para la recta que mejor represente el set de datos.  (Microsoft, 2015)

La recta que mejor se ajusta al modelo de datos, es la que contiene el valor mínimo de la sumatoria de los cuadrados de las distancias entre cada punto y la recta. Eso significa, que existe una y sola una recta que cumple esta condición.

Adicionalmente, los análisis de regresión lineal llevan asociados una serie de procedimientos de diagnóstico como los análisis de residuos y puntos de influencia, que informan sobre la estabilidad e idoneidad del análisis, permitiendo obtener datos para mejor el análisis. Una medida de ajuste que ha recibido gran aceptación en el contexto del análisis de regresión es el coeficiente de determinación R2, se trata de una medida estandarizada que toma valores entre 0 y 1, 0 cuando la relación entre las variables es nula y 1 cuando la relación entre las variables es perfecta. (Merino & Ruiz, 2016)

Bibliografía

Merino, A., & Ruiz, M. Á. (2016). Análisis de datos con SPSS 13 Base. The McGraw Hill.

Microsoft. (2015). Microsoft Developer Network. Obtenido de https://msdn.microsoft.com/en-us/library/ms174949.aspx

Statistics Solutions. (2013). What is Linear Regression? Obtenido de http://www.statisticssolutions.com/what-is-linear-regression/

Regresión Lineal Multiple

El método de regresión lineal múltiple permite realizar el análisis para más de una variable explicativa; ofreciendo la ventaja de utilizar más información en la construcción del modelo y, consecuentemente, realizar estimaciones más precisas.

El objetivo del modelo es identificar de un conjunto de variables explicativas: x1, x2, …, xn; cuáles son las que más influyen en la variable dependiente “Y”. El resultado en lugar de ser una línea recta, será un plano que recibe el nombre de Hiperplano. (Rojo, 2007)

De manera similar a la regresión lineal simple, los coeficientes de la ecuación que forma el hiperplano, son elegidos de forma que la suma de cuadrados entre los valores observados y los pronosticados sea mínima, es decir, que se va a minimizar la varianza residual.

Bibliografía

Rojo, J. (2007). Regresión lineal múltiple . Obtenido de Instituto de Economía y Geografía Madrid: http://humanidades.cchs.csic.es/cchs/web_UAE/tutoriales/PDF/Regresion_lineal_multiple_3.pdf

Regresión No Lineal

Los modelos de regresión lineal no siempre pueden ajustarse a la distribución de los datos, porque a veces la relación entre Y y X no es lineal, sino que exhibe algún grado de curvatura. La estimación directa de los parámetros de funciones no-lineales es un proceso bastante complicado. No obstante, a veces se pueden aplicar las técnicas de regresión lineal por medio de transformaciones de las variables originales. (Minitab, 2016)

Por tanto, la regresión no lineal genera una ecuación para describir la relación no lineal entre una variable de respuesta continua y una o más variables predictores, y predice nuevas observaciones. Se Utiliza la regresión no lineal en lugar de la regresión habitual de mínimos cuadrados cuando no se pueda modelar adecuadamente la relación con parámetros lineales. Los parámetros son lineales cuando cada término del modelo es aditivo y contiene solo un parámetro que multiplica el término.

En la minería de datos, para los modelos predictivos de regresión no lineal se debe elegir una función para el modelado que depende del conocimiento del comportamiento del set de datos. Las formas no lineales posibles son: (Castejón, 2011)

  • cóncava
  • convexa
  • crecimiento
  • descenso exponencial      
  • curva sigmoidal (S)
  • curvas asintóticas.

Entre las funciones más comunes para adaptar al set de datos se encuentra:

  • El modelo recíproco: también conocido como hipérbola, donde una de las variables va aumentando y la otra va disminuyendo
  • El modelo gamma
  • El modelo potencial, muy utilizado en ajuste de precio-demanda
  • El modelo exponencial muy utilizado en ajuste de crecimiento poblacionales
  • El modelo logístico para estudiar el crecimiento de poblaciones
  • El modelo de parábola logarítmica, cuya ecuación del modelo es:
  • El modelo de Gompertz, utilizado para el estudio de crecimientos poblacionales

Bibliografía

Castejón, O. (2011). Diseño y Análisis de Experimentos con Statitix. Maracaibo, Venezuela: Fondo Editorial Biblioteca Universidad Rafael Urdaneta. Obtenido de http://www.uru.edu/fondoeditorial/libros/pdf/manualdestatistix/cap9.pdf

Minitab. (2016). Regresión No Líneal. Obtenido de Soporte de Minitab 17: http://support.minitab.com/es-mx/minitab/17/topic-library/modeling-statistics/regression-and-correlation/basics/nonlinear-regression/