Academia.eduAcademia.edu

Principios básicos de aprendizaje automático

La estructura del libro está pensada para llevar a la práctica la mayoría de los conceptos que se presentan a lo largo del texto. El objetivo es que sea una herramienta con preponderancia práctica y fundamento teórico. Con el objeto de realizar ejercicios prácticos, se utilizará un lenguaje estadístico-computacional muy popular llamado R y conceptos básicos de econometría convencional. Para ambos casos, hay una gran cantidad de textos disponibles para comenzar y profundizar.

Capítulo 1. Principios básicos de aprendizaje automático “The first obvious fact about human learning is that it’s horribly slow. It takes decades for human beings to learn anything. It took all of us six years just to get up to starting speed for school, and then twenty more years to become cognitive scientists or computer scientists. That’s the minimum, some of us took even longer than that. So we are terribly slow learners...” Herbert Simon (1983) En la actualidad, el aprendizaje automático es una pieza fundamental para distintas áreas del conocimiento e industrias a través del mundo. A diferencia de cualquier otra época pasada, hoy en día, una gran parte de nuestra vida diaria está acompañada por algoritmos de inteligencia artificial. Por ejemplo, gran cantidad de algoritmos realizan cálculos específicos para obtener una recomendación de producto en una tienda en línea, conocer una película que nos agradará o elegir la ruta más adecuada en un sistema de GPS. Inclusive, al mostrar interés en un producto la publicidad de alguna tienda en línea (e.j. Amazon, Aliexpress) el sitio web constantemente enviará publicidad y recomendaciones relacionadas a ese artículo específico. Al terminar de ver una película, el sistema de recomendación de Netflix nos sugiere un título nuevo en función de un análisis del patrón de gustos de películas vistas con anterioridad. Al seleccionar una ruta preferida, el sistema GPS de Google recomendará la elección previa y posiblemente recomendará a otros conductores la ruta sugerida si es más eficiente respecto a análisis del tráfico en ese momento. Para los teléfonos celulares y buscadores web, un algoritmo enfocado en semántica de texto completa nuestras búsquedas, nos sugiere nuevas palabras en función de nuestro uso cotidiano del lenguaje. La forma en que el usuario y sociedad realiza búsquedas alimenta y actualiza sistemas de esta naturaleza cada momento. Así como los ejemplos mencionados un sinfín de aplicaciones nos rodean diariamente, el mundo digital basa gran parte de su desempeño en la capacidad de adaptar algoritmos específicos a necesidades específicas. Algunos de los ejemplos que subyacen a estas necesidades se engloban en las siguientes acciones. ● ● ● Segmentar: Agrupar o dividir en secciones homogéneas. Identificar: Determinación características o factores. Predecir: Pronosticar, realizar una conjetura con antelación. En general, la mayoría de los casos de uso de inteligencia artificial más difundidos se enfocan en las aplicaciones anteriores. Un centro de estudios médicos estará muy interesado en identificar los factores que incrementan el riesgo de padecer infarto cardiaco (Easton, 2014). Un analista de bolsa estará interesado en predecir los precios de las emisoras más rentables en el mercado (Dunis et al, 2016). Tomadores de decisiones de política monetaria podrían segmentar los sectores más propensos a sufrir un alza de inflación dado un shock de precios, entre un sin fin de casos de uso. Mediante herramientas de aprendizaje automático es posible enseñar a una computadora a realizar tareas sencillas de segmentación, identificación y predicción. Así, la segmentación de una campaña para clientes específicos dados ciertas necesidades, gustos y preferencias es posible utilizando algunos principios de inteligencia artificial.1 Para todo problema de inteligencia artificial se tiene información de entrada e información de salida. Información que alimenta el sistema de inteligencia e información sale del sistema como resultado del aprendizaje. La explicación simple de esta causa es la capacidad de aprender que tiene un sistema. Ejemplificando, supongamos que tenemos una que no tiene conocimiento de los peligros al recorrer una acera cualquiera. Lamentablemente el individuo no conoce nada sobre el mundo real y su única función actual es caminar en línea recta. Para simplificar, supongamos también, que esta acera es infinita y esta persona caminará un tiempo indefinido por ella. Para fortuna de este individuo la acera es perfecta y no hay algún tipo de impedimento que le cause dificultades. Lamentablemente, un día en una sección de la acera aparece un agujero. El individuo al no conocer el riesgo, decide continuar con sus funciones de caminar en línea recta y cae en el agujero. Al caer en este hipotético y quizás peligroso agujero, el sujeto en cuestión tendrá un estímulo negativo (quizás dolor al caer). A continuación, el sujeto identificará de manera automática un agujero con estas experiencias negativas y en la mayoría de los casos evitará caer en cualquier agujero futuro. El sujeto, así como cualquier sistema artificial ante un estímulo externo aprende. Aprendizaje supervisado y no supervisado Para la terminología tradicional de machine learning o aprendizaje automático, el aprendizaje supervisado es un concepto que se utiliza para designar un tipo de información. Se hace llamar aprendizaje supervisado a toda aquella información que está clasificada ex ante con el objetivo de que un algoritmo o técnica estadística interfiera para predecir su comportamiento. Al adquirir información clasificada, por ejemplo, el programa podría diferenciar entre la forma convencional en que se representa una manzana y un edificio. Generalmente representado en vectores podemos tener un vector de objetos que tienen características que corresponde a esta clasificación, bien en su forma más simple un caso binario2, género femenino o género masculino, si o no, empleado o no empleado, manzana o no manzana. En el caso de aprendizaje supervisado, las variables que contienen información que ayuda a desarrollar un modelo estadístico con esta información ex ante. 1 Dentro de la economía este tipo de análisis todavía no está generalizado y los casos son bastante exiguos. Un caso de segmentación de campaña, procesamiento de lenguaje natural y teoría económica se muestra en Olguín (2016). 2 Para un econometrista experimentado, observará que dummies variables siguen un principio semejante. Para una introducción simple, el texto Basic Econometrics de Gujarati (2012) ilustra claramente las variables dicotómicas y sus usos en la modelación econométrica. Naturalmente, el aprendizaje no-supervisado la información que permite clasificar no estará disponible, es decir, no se conocerá si un individuo pertenece a una categoría determinada u otra. Por ejemplo, al sistema de inteligencia no se le especificará ex ante casos típicos de una manzana y un edificio, es decir, se mostrarán las imágenes sin especificar si pertenecen al grupo de manzanas o al grupo de edificios. Sin embargo este sistema por si mismo deberá identificarlos y clasificarlos como distintos ya que no comparten grandes similitudes, aunque quizás identifique como objetos distintos manzanas de diferentes colores. Un ejemplo típico de aprendizaje no supervisado que gran parte de los científicos sociales reconocerán es el caso de medición de pobreza en función de características de la vivienda y la familia que la habita. En el caso más simple que se puede mostrar el siguiente. Analistas determinarán que bajo ciertos criterios de ingreso, acceso a educación y a servicios cierta vivienda estará en estado de pobreza o no. Los analistas encargados de determinar si pertenece a cierto grupo no conocerán ex ante si un hogar pertenece a una vivienda en situación de pobreza y se enfrentan a un problema de aprendizaje no supervisado. Esto quiere decir que desconocen de qué niveles de ingreso o acceso a la educación se considerará pobreza y cuáles no. Usualmente, se considera que los problemas de aprendizaje no supervisado son más complejos y avanzados de desarrollar. Afortunadamente, en casos más simples los algoritmos de aprendizaje no supervisado no son complejos y requieren un entendimiento básico de estadística convencional. Principalmente, este texto se enfoca en mostrar aplicaciones a aprendizaje supervisado y versiones sencillas de aprendizaje no supervisado al ser un texto introductorio. 3 Para esta primera sección del texto se revisan los conceptos básicos de una regresión lineal desde el punto de vista práctico. Se analiza el primer caso de regresión lineal de la historia y se compara con álgebra simple para conocer las similitudes. Segundo, se utiliza el modelo de regresión lineal para hacer un caso de segmentación de aprendizaje supervisado. Introducción a modelización y clasificación lineal En general, los métodos de regresión lineal han estado en el núcleo de las herramientas de gran parte de los científicos sociales durante mucho tiempo. A pesar de ser técnicas consideradas como simples, demuestran un desempeño bastante aceptable para una gran cantidad de aplicaciones e inclusive un desempeño mucho mejor en casos donde la información es escasa o con problemas de sesgo estadístico. Esta sección puede considerarse como los fundamentos básicos que se esconden detrás de sistemas de inteligencia artificial para una gran cantidad de casos. Para todo aquel que desee utilizar herramientas avanzadas, es importante conocer los cimientos que se trabajarán en las 3 El popular libro de Lantz (2015) contienen interesantes ejemplos para desarrollar. Casos más específicos para temas de minería de textos pueden ser consultados en Feinerer (2017). secciones siguientes, algunos algoritmos de agrupamiento o clustering y técnicas de aprendizaje como redes neuronales tienen fundamentos de regresión lineal simple. En esta sección, revisaremos estos fundamentos básicos que componen una regresión lineal partiendo de la práctica; aplicando un modelo de regresión lineal. Posteriormente, se genera un modelo estadístico univariado y se genera una demostración empírica-gráfica de que el modelo de regresión lineal simple univariado representa la misma función estimada que una ecuación de la recta convencional (y = mx + b). Análisis de regresión lineal Sin duda el análisis de regresión lineal es la técnica más conocida en el campo de estadística y algunas otras disciplinas. En su versión más simple, esta consiste en observar la relación entre dos variables o vectores bajo la función Y = f(X) donde Y y X son vectores. En un caso ligeramente más complejo X_i representa un conjunto de vectores X que van de 1 hasta i. Para todo modelo de regresión lineal existe una variable dependiente que llamaremos “Y” y consiste en la variable que queremos predecir. Por otro lado las variables independientes las llamaremos “X_i” y consisten en las variables que se utilizan para explicar “Y”. A continuación se muestra la forma que toma la ecuación que explica la relación entre X y Y. \hat{Y} = b_0 \ + b_1 X_1 \ + b_1 X_2 \ ... b_i X_i Dónde \hat{Y} es la estimación de Y que se efectúa en el modelo, b_1 … b_1 son los estimadores y X_i las variables que se utilizan para explicar Y. B_0 es llamado intercepto. Aunque a simple vista el modelo de regresión lineal pueda parecer un poco complicado de asimilar a primera vista, conocer un poco de su historia sirve para comprender cómo surgió la idea y entender el caso concreto donde se utilizó por primera vez. En realidad la regresión lineal es un método de estimación más antiguo de lo que aparenta ya que tiene su origen en el siglo XIX. Francis Galton, primo del naturalista Charles Darwin, es conocido por sus aportes como sociólogo, estadístico, biólogo y reconocido científico en varias ramas. A finales del siglo XIX, Galton utiliza un método de regresión lineal para explicar una hipótesis simple que formó a partir de la observación. Tras estudiar una clase específico de planta llamado Lathyrus odoratus, se percató que las semillas tendían a tener un tamaño más pequeño si las plantas padre eran altas y un tamaño más alto si las plantas padre eran más bajas. A este fenómeno de convergencia de tamaños lo llamó regresión a la mediocridad, un método que da origen regresión lineal contemporánea. No conforme únicamente los resultados del estudio con plantas, Galton (1889) extiende el estudio al analizar una muestra con personas y se enfoca en medir estaturas de padres e hijos. Al analizar un caso con humanos, realiza una muestra de 930 niños y 205 padres. El resultado más relevante del análisis original de 1889 se presenta el la figura X. En la publicación original Galton especifica que para aquellos padres que son cerca de una pulgada más altos que la media de la población, sus hijos tienden a sólo ser 2/3 de pulgada más altos que la población. Estos resultados refuerzan la hipótesis de “la ley de regresión a la mediocridad” que se argumentó en el primer estudio. Galton observa que en general los hijos de los padres de estatura más alta que la media son altos, pero menos altos que los padres y el mismo fenómeno con los hijos de los padres de estatura baja; más altos respecto a la media de los padres de estatura más baja. Figura X. Regresión a la mediocridad de Galton (1889) Replicando el caso de Galton (1889) y suponiendo que se quiera predecir el tamaño que un niño tendrá teniendo información de la estatura de los padres, el método de regresión lineal de resultaría útil para tal propósito. La información original del artículo original se encuentra disponible en algunos paquetes de R. A continuación al ejecutar el código siguiente se obtiene la regresión lineal que estima el tamaño que tendrá alguno de los hijos. ## Instalación de paquetes install.packages("psych") ## Cargando librería library(psych) ## Carga de datos data("galton") #describe(galton) ## Gráfica plot(galton) ## Estimación del modelo lineal ## Se espefica child = f(parent) fit <- lm(data = galton, child ~ parent) ## Se grafica la regresión abline(fit, col = "red", lwd = 3) Figura X. Regresión lineal de estatura para padres e hijos en pulgadas. Información de Galton (1889). Una vez realizada la regresión lineal resulta importante mencionar los fundamentos que originaron el modelo. La ecuación que se estableció al principio como “modelo de regresión lineal” es útil para explicar las estimaciones que el código acaba de realizar con la información de Galton. Para ello partimos de la ecuación X, al comparar la ecuación lineal, se observa que la regresión lineal en esencia es la estimación de una ecuación de primer grado o ecuación lineal. Una recta que se representa con la ecuación anterior se explica por b que es la ordenada al orígen, m explica la pendiente y x es un valor cualquiera. En el caso del modelo de Galton estimado, la ecuación de la regresión lineal es muy similar. Donde para el modelo de Galton b_0 es llamado intercepto y es el símil de la ordenada al origen de la ecuación de la recta, b_1 es el coeficiente de X o pendiente m en la ecuación lineal. El siguiente código recrea la ecuación lineal tomando la pendiente (estimador) y ordenada al origen (intercepto) del modelo de regresión que se estimó en fragmento de código anterior. La figura X muestra gráficamente que la regresión lineal y la recreación utilizando el método de ecuación lineal son iguales. ## Estimación manual del modelo ## Los valores de los coeficientes fit$coefficients ## Se reconstruyen los valores con la fórmula ## de ecuación lineal de la recta ## y = b + mx recta <-as.numeric(lapply(galton$parent, function(x) fit$coefficients[1] + fit$coefficients[2] * x)) ## Se extran los valores del modelo de regresión original <- fitted.values(fit) ## Graficamos los valores que se predicen y los valores estimados por el modelo par(mfrow=c(1,2)) plot(galton, main = "Modelo de regresión lineal") lines(galton$parent, original, col = "red", lwd = 3) plot(galton, main = "Ecuación de la recta") lines(galton$parent,recta, col = "blue", lwd = 3) Figura X. Comprobación gráfica de modelo de regresión lineal (izquierda) y estimación por medio de ecuación lineal recta (y = b + mx). Se observa que ambos modelos son iguales para los datos de Galton (1889). Clasificación con métodos de regresión lineal Ahora se revisa el un caso de clasificación con regresión lineal. Generalmente, para los usos de cotidianos de aprendizaje automático se considera la clasificación lineal como una forma sencilla pero poco eficiente para clasificar datos. Un ejemplo claro de ello se puede ver en la figura X. Figura X. Dos métodos de clasificación de Hastie (2009). Del lado izquierdo se muestra la clasificación con funciones lineales y en el lado derecho clasificación con una funciones cuadráticas. Se muestra que el modelo de regresión lineal es menos flexible. La figura muestra que el método de regresión lineal es menos eficiente para clasificar parte de la información que está cercana entre las clases uno (amarillo) y tres (verde). En cambio, el método con funciones cuadráticas abarca mejor la sección compartida entre la clase uno y tres. Sin embargo, el método de regresión lineal para clasificación es simple pero suficiente para algunos casos. Por ejemplo, la gráfica siguiente un ejercicio simulado muestra un caso de regresión lineal para clasificación, donde las observaciones rojas significan una clase y las categoría negra una clase distinta. De acuerdo con el análisis de clasificación, el método simple de regresión lineal identifica cerca del 70% de la información adecuadamente. Figura X. Modelo de clasificación de regresión lineal de datos aleatorios. Se muestran los pasos en los que se clasifica la información. Las categorías se expresan por colores rojo y negro. Las observaciones clasificadas erróneamente en verde y azul. Una forma simple de conocer el desempeño de clasificación de un algoritmo, en este caso, el algoritmo de regresión lineal, es contar el número de objetos con una clasificación incorrecta. En el caso de la figura X son todos aquellos puntos negros que se encuentran sobre la línea de regresión y los puntos rojos que están debajo de la línea de regresión. Se suma el número de observaciones con clasificación errónea y se divide entre el número total de observaciones para conocer un tipo de misclassification rate, no es el único método ni el más utilizado, más adelante se revisarán métodos más completos para estimar el poder de clasificación y predicción de un modelo. Para el caso del ejercicio simulado la gráfica muestra los objetos mal clasificados en color verde y azul. Entrenamiento de algoritmo de clasificación lineal En caso de aplicar un modelo de aprendizaje automático, es relevante buscar relaciones en la información. Quizás el método más popular para encontrar estas relaciones es adquirir información suficiente para validar alguna clase de hipótesis planteada y seccionar esta información en fase de entrenamiento y fase de pruebas. Fase de entrenamiento se refiere a la sección de la información que será utilizada para encontrar patrones en la información. Fase de pruebas corresponde a otra sección de la información con la que se verificará que el modelo haya aprendido lo suficiente, es mandatorio que la fase de pruebas y de entrenamiento sean mutuamente excluyentes4. A continuación se ejemplifica la forma en que se puede dividir la información. La fase de entrenamiento generalmente utiliza una sección mayor de la información, es decir más datos para poder ajustar el modelo. En cambio, la fase de pruebas utiliza una porción más pequeña que rectifica que el modelo sea válido. Información total Fase de entrenamiento (70%) Fase de pruebas (30%) Sección de la información donde se ajusta el modelo Sección de la información donde se evalúa el desempeño del modelo La metodología descrita es simple pero eficiente cuando se utiliza de forma correcta. Concretamente, consiste en tomar una parte de la información que está en un conjunto de datos y utilizarla para crear el modelo . Otra parte de la información servirá para validar el modelo y conocer su poder predictivo. En este caso, se utilizan los principios que un algoritmo de inteligencia artificial tradicional utilizaría en una versión simplificada. Esta metodología de muestreo y otras más están especificadas a detalle en el texto Bias, Variance and Model Complexity Hastie (2009). En el texto de Hastie, se especifican las causas de porqué un buen muestreo puede evitar sesgo estadístico. Especialmente, se hace énfasis en reducción del error generalizado o error en la sección de pruebas. Para este caso introductorio, utilizaremos una muestra simple para información de 58 países y probaremos el modelo de regresión estimado. A continuación se utiliza el método de regresión lineal para clasificar un caso con información real. El objetivo de este modelo simple es segmentar aquellos países pertenecientes a la OCDE y aquellos países que no pertenecen a este grupo. Los alcances de este ejercicio son muy 4 Mutuamente excluyentes en probabilidad se refiere a que un evento no pueden suceder simultáneamente. Para el caso de la sección de pruebas, esto quiere quiere decir que nunca puede existir una sección de pruebas que comparta información con la sección de entrenamiento. amplios, aunque en este apartado se enfoca en desarrollar un modelo que ayude a clasificar información nueva en función del modelo entrenado. En general, este simple modelo de nos dará la capacidad de crear un primer modelo estadístico a nuestro primer sistema de inteligencia artificial a clasificar información en función a una fase de entrenamiento. En esta fase de entrenamiento se establece el modelo de regresión lineal determina si un país pertenece a la OCDE en función de dos variable simples. Se toman como variables dos focos importantes para el desarrollo según las métricas del banco mundial. En la figura X se observa el modelo de clasificación para la muestra de entrenamiento en 58 países. ### clasificador de países OCDE ## Entrenamiento ## Lectura del archivo de entrenamiento df <- read.csv(file = "Cap 1. Principios de aprendizaje automatizado/data_countries.csv") ## Se observan las variables names(df) ## Cambiando los nombres de todas las variables ## se utiliza una lista de nombres más sencilla de interpretar names(df) <- c("Nombre_pais", "Codigo_pais", "Tasa_mortalidad", "GNI_PC_PPP", "OCDE_member") ## Gráfica de dispersión de los datos seleccionados, sin distinción por clase par(mfrow=c(1,2)) ## Se especifica que se quieren dos gráficas en un mismo renglón ## Gráfica 1 de 2 Mortalidad infantil e ingres nacional bruto. plot(x = df$Tasa_mortalidad, ## Variable X y = df$GNI_PC_PPP, ## Variable Y xlab = "Tasa de Mortalidad infantil por cada mil nacimientos (2015)", ylab = "Ingreso Nacional Bruto precios corrientes PPP (2015) ") ## Estimación del modelo de regresión lineal. ## se especifica que el ingreso nacional bruto = f(Tasa de mortalidad) ## la variable Y del modelo es ingreso nacional bruto ## la variable X del modelo es Tasa de mortalidad a <- lm(data = df, GNI_PC_PPP ~ Tasa_mortalidad) ## Se pintan los casos que están mal clasificados de color verde df$OCDE_member[df$Tasa_mortalidad > 75] <- 3 ## Gráfica 2 de 2 Mortalidad infantil e ingres nacional bruto, colores por clasificación de país plot(df$Tasa_mortalidad, df$GNI_PC_PPP, col = df$OCDE, xlab = "Tasa de Mortalidad infantil por cada mil nacimientos (2015)", ylab = "Ingreso Nacional Bruto precios corrientes PPP (2015) ") abline(a, col = "blue", lwd = 3) Figura X. Estimación de modelo de clasificación de países que pertenecen a la OCDE en el set de entrenamiento. Del lado izquierdo se muestra la información para una muestra de 58 países. En el lado izquierdo se observa el modelo de regresión lineal y la información según su categoría. En rojo se observan los países que pertenecen a la OCDE, en negro aquellos que no pertenecen y en verde son los errores de clasificación. Se segmentan los países con el método de regresión lineal y se obtiene el resultado del modelo clasificatorio. En la figura X del lado izquierdo se observan los datos de Ingreso Nacional Bruto y la tasa de mortalidad por país de la muestra de entrenamiento. Del lado derecho se pinta la información según la clase a la que pertenece. Los países de color rojo corresponden a naciones pertenecientes a la OCDE y de color negro aquellas que no. Según el modelo de clasificación de regresión lineal estimado los países de color verde están clasificados de forma incorrecta (error en la fase de pruebas). Para el algoritmo planteado, representan errores de clasificación que demuestran el desempeño del modelo de regresión lineal. Prueba del algoritmo de clasificación lineal El modelo anterior clasifica adecuadamente el 84% de las observaciones en la fase de entrenamiento y el 16% error se concentra en asignar países que no pertenecen a la OCDE. Los errores de clasificación se muestran en color verde y los aciertos en color rojo. Una vez que el modelo muestra cierta capacidad de clasificación, se procede a hacer las pruebas con el resto de la información. La sección de los datos que se utiliza para la validación de los algoritmos se llama fase de prueba y siempre es posterior a la fase de entrenamiento. Adicionalmente a estas dos fases, en muchos casos es recomendable utilizar una fase intermedia que se llama fase de validación. Para este caso, el set de prueba se compone del resto de países. Se toma el mismo modelo de regresión lineal que se utilizó para el set de entrenamiento y se observa el desempeño clasificatorio con la información completa. En la figura X se muestran el resultado del modelo de regresión para cerca de 200 países. clasificador_OCDE_todos.R ## Clasificador para todos los países #install.packages("dplyr") ## librería básica de manejo de datos library(dplyr) ## se carga la librería ## Juntando bases de datos para flag OCDE A <- read.csv(file = "Cap 1. Principios de aprendizaje automatizado/data/all_contries.csv", stringsAsFactors = F) B <- read.csv(file = "Cap 1. Principios de aprendizaje automatizado/data/ocde_members.csv", stringsAsFactors = F) %>% select(-Date) df2 <- left_join(A, B) ## Se pintan los casos que no son miembros de la OCDE con color 1 (negro) df2$OCDE_member[is.na(df2$OCDE_member)] <- 1 ## Cambiando los nombres de todas las variables ## se utiliza una lista de nombres más sencilla de interpretar names(df2) <-c("Nombre_pais", "Codigo_pais", "GNI_PC_PPP", "Tasa_mortalidad", "OCDE_member") df2$OCDE_member[df2$Nombre_pais == "World"] <- 3 par(mfrow=c(1,1)) plot(df2$Tasa_mortalidad, df2$GNI_PC_PPP, col = df2$OCDE_member, xlab = "Tasa de Mortalidad infantil por cada mil nacimientos (2015)", ylab = "Ingreso Nacional Bruto precios corrientes PPP (2015) ") abline(a, col = "blue", lwd = 3) Figura X. Estimación de modelo de regresión lineal. Clasificación de países que pertenecen a la OCDE en el set de prueba. En color rojo se observan países que pertenecen a la OCDE y en negro países que no pertenecen a esta organización. Es importante destacar que se utiliza el mismo modelo de regresión que se presenta en la figura X - 1, no se vuelve a crear un modelo aunque la información haya cambiado. Para la mayoría de los casos, el set de prueba tiene un desempeño menor que el set de entrenamiento. Para el caso de los países de pertenecientes a la OCDE el desempeño de 77% de los casos clasificados correctamente es menor, el porcentaje de error se considera aceptable. El modelo de regresión lineal estimado resulta útil para clasificar la información. A pesar de la simpleza del modelo, es bastante más eficiente que una elección aleatoria. Comparar el desempeño del modelo con una selección aleatoria es una forma popular de identificar si el modelo contribuyó a clasificar mejor o no. Una elección aleatoria se define como la probabilidad simple de elegir un objeto x o y, según sea el caso.5 Mediante una elección aleatoria se puede 5 Por ejemplo, si se tiene una caja con 6 pelotas color rojo y 4 pelotas color blanco la probabilidad simple de elegir una pelota roja es del 60% y un 40% de elegir una pelota de color blanco. Un modelo de clasificación adecuado debe tener un desempeño mayor que una probabilidad simple. Suponiendo que de conocer si el modelo es útil o es menos eficiente que una elección al azar. Para este caso en concreto, si se utiliza el método aleatorio la probabilidad de elegir un país de la OCDE de toda la muestra es de cerca del 16% y de un 37% si se utiliza el algoritmo de regresión lineal propuesto, por lo tanto, el método de clasificación de regresión lineal ayuda a hacer una elección 2.3 veces más precisa. Para una estimación más avanzada del desempeño del algoritmo, generalmente se utiliza el bayes error rate o error bayesiano que estima la probabilidad de error para algoritmos de de clasificación. En las secciones por venir se revisan distintos métodos para comparar el performance de un algoritmo. Finalmente, el algoritmo de clasificación está terminado. Con un buen desempeño para los datos anteriores, el algoritmo se puede utilizar para comenzar a clasificar información. Podría funcionar como una clase (muy simple pero eficiente) de inteligencia artificial. Por ejemplo, si conocemos el ingreso bruto de una región específica y los índices de mortalidad infantil, podremos utilizar el algoritmo para analizar si el desarrollo económico de la región podría pertenecer a los estándares de un país perteneciente a la OCDE. El la figura siguiente se presenta un caso similar. x <- c(5, 7, 9) y <- c(17000, 70000,32000) p<- data.frame(x, y) ## Se pintan los puntos al gráfico anterior points(p, col = "cyan", lwd = 10) a$coefficients <- a$coefficients * -2 abline(a, col = "blue", lwd = 3 ) a$coefficients <- abs(a$coefficients) + 100 abline(a, col = "blue", lwd = 3 ) sabemos que las pelotas rojas se concentran más del lado izquierdo, un criterio ejemplo, sería siempre elegir las pelotas que están del lado izquierdo, de esta manera la probabilidad de elegir una pelota roja es del 80% por ejemplo. En la figura anterior se tienen 3 regiones nuevas que son clasificadas por el algoritmo lineal, de acuerdo el modelo de clasificación se obtiene que dos de ellos con alta probabilidad tienen las condiciones que priman en un país que pertenece a la OCDE y aquel que se encuentra debajo de la línea de regresión no lo es. Supongamos para medición de desigualdad en una nación latinoamericana se comparan los estándares de vida de una región con acceso restringido a la salud y regiones de alto ingreso económico que son aledañas. Posiblemente las regiones de alto ingreso económico tendrán estándares de vida similares a países pertenecientes a la OCDE y las aledañas no tendrán estos estándares de vida. Rápidamente, este modelo nos ayudará a determinar los límites en función a información de mortalidad infantil e ingreso nacional; posibles medidas de política económica u objetivos de política social. ¡Felicidades, si has seguido todos los pasos de esta sección exitosamente has creado un primer algoritmo simplificado de inteligencia artificial! Tu nuevo algoritmo te permitirá tomar decisiones de política económica y social. Con el fin de reforzar las habilidades de modelización presentadas en esta sección introductoria, más adelante se revisarán a detalle algunos algoritmos más avanzados de clasificación y predicción. Igualmente, se explicarán las metodologías estándar de muestreo así como pruebas de validación de los modelos de aprendizaje automático. En el capítulo siguiente se muestra el algoritmo de agrupamiento o cluster por LDA (Linear Discriminant Analysis por sus siglas en inglés) y una aplicación relacionada a optimización de centros de distribución con una perspectiva geográfica. Resumen Este capítulo se enfoca en desarrollar los conceptos clave de regresión lineal aplicados a un sistema de aprendizaje automático simplificado. Se revisan los conceptos del modelo de regresión lineal, así mismo, se explica que el modelo de regresión lineal tiene un origen más antiguo de lo que comúnmente se puede creer y se explican los planteamientos que desarrolló Francis Galton en el siglo XIX para llegar a las conclusiones de que existe un modelo de regresión lineal. Adicionalmente, se demuestra la similitud que tiene la regresión lineal con la ecuación simple de la recta (y =mx * b), con el fin de comprender las funciones de los estimadores y coeficientes en un modelo de regresión lineal. Mediante una explicación práctica en R, se utiliza un modelo de regresión lineal propio para recrear las investigaciones de Galton (1889). Posteriormente se muestra el proceso gráfico de clasificación lineal con información aleatoria y más adelante, se revisa el uso del modelo de regresión lineal para problemas de clasificación con información real. Se especifica que la clasificación es un tema fundamental en inteligencia artificial y machine learning o aprendizaje automático. Por medio de los principios básicos de regresión lineal, se ejecutan todos los pasos básicos para crear un sistema de inteligencia artificial simple aplicado a un problema económico. Se utilizan las metodologías tradicionales de machine learning de muestreo, entrenamiento y prueba para ejemplificar el caso de clasificación de la OCDE y se muestra el funcionamiento. El modelo pretende aprender clasificar países que pertenecen a la OCDE (reconocidos por ser países desarrollados y algunos en vías de desarrollo) y aquellos que no pertenecen a la OCDE. Se utilizan datos del banco mundial tomando métricas clave para el desarrollo y se entrena el modelo de regresión lineal con un poder de clasificación adecuado.