Articles

Estrategia y Consultoría de IA Aplicada | InnoArchiTech

Artículos de esta Serie

  1. Descripción general, objetivos, tipos de aprendizaje y algoritmos

  2. Selección, preparación y modelado de datos

  3. Evaluación, validación, complejidad y mejora del modelo

  4. Análisis de rendimiento y errores del modelo

  5. Aprendizaje no supervisado, campos relacionados y aprendizaje automático en la práctica

Introducción

¡Bienvenido! Este es el primer artículo de una serie de cinco partes sobre aprendizaje automático.

El aprendizaje automático es un tema muy candente por muchas razones clave, y porque proporciona la capacidad de obtener información detallada de forma automática, reconocer patrones desconocidos y crear modelos predictivos de alto rendimiento a partir de datos, todo sin requerir instrucciones de programación explícitas.

A pesar de la popularidad del tema, el verdadero propósito y los detalles del aprendizaje automático no se entienden bien, excepto por personas muy técnicas y/o científicos de datos.

Esta serie pretende ser una guía completa y en profundidad para el aprendizaje automático, y debe ser útil para todos, desde ejecutivos de negocios hasta profesionales del aprendizaje automático. Cubre prácticamente todos los aspectos del aprendizaje automático (y muchos campos relacionados) a un alto nivel, y debe servir como una introducción o referencia suficiente a la terminología, los conceptos, las herramientas, las consideraciones y las técnicas del campo.

Esta comprensión de alto nivel es fundamental si alguna vez se involucra en un proceso de toma de decisiones en torno al uso del aprendizaje automático, cómo puede ayudar a alcanzar los objetivos de negocio y proyecto, qué técnicas de aprendizaje automático usar, posibles dificultades y cómo interpretar los resultados.

Tenga en cuenta que la mayoría de los temas tratados en esta serie también son directamente aplicables a campos como el análisis predictivo, la minería de datos, el aprendizaje estadístico, la inteligencia artificial, etc.

Definido por Aprendizaje automático

La definición formal de aprendizaje automático, frecuentemente citada y ampliamente aceptada, según lo establecido por el pionero de campo Tom M. Mitchell, es:

Se dice que un programa de computadora aprende de la experiencia E con respecto a alguna clase de tareas T y medida de rendimiento P si su rendimiento en tareas en T, medido por P, mejora con la experiencia E

La siguiente es mi forma menos formal de describir el aprendizaje automático.

El aprendizaje automático es un subcampo de la informática, pero a menudo también se conoce como análisis predictivo o modelado predictivo. Su objetivo y uso es construir algoritmos nuevos y / o aprovechar los existentes para aprender de los datos, con el fin de construir modelos generalizables que den predicciones precisas, o para encontrar patrones, particularmente con datos similares nuevos e invisibles.

Descripción general del proceso de aprendizaje automático

Imagine un conjunto de datos como una tabla, donde las filas son cada observación (también conocido como medición, punto de datos, etc.), y las columnas para cada observación representan las características de esa observación y sus valores.

Al comienzo de un proyecto de aprendizaje automático, un conjunto de datos generalmente se divide en dos o tres subconjuntos. Los subconjuntos mínimos son los conjuntos de datos de entrenamiento y prueba, y a menudo también se crea un tercer conjunto de datos de validación opcional.

Una vez que estos subconjuntos de datos se crean a partir del conjunto de datos primario, se entrena un modelo predictivo o clasificador utilizando los datos de entrenamiento y, a continuación, se determina la precisión predictiva del modelo utilizando los datos de prueba.

Como se mencionó, el aprendizaje automático aprovecha los algoritmos para modelar y encontrar patrones automáticamente en los datos, generalmente con el objetivo de predecir algún resultado o respuesta objetivo. Estos algoritmos se basan en gran medida en estadísticas y optimización matemática.

La optimización es el proceso de encontrar el valor más pequeño o más grande (mínimos o máximos) de una función, a menudo conocida como función de pérdida o costo en el caso de minimización. Uno de los algoritmos de optimización más populares utilizados en el aprendizaje automático se llama descenso de gradiente, y otro se conoce como la ecuación normal.

En pocas palabras, el aprendizaje automático consiste en aprender automáticamente un modelo predictivo o clasificador de alta precisión, o encontrar patrones desconocidos en los datos, aprovechando algoritmos de aprendizaje y técnicas de optimización.

Tipos de aprendizaje

Las categorías principales de aprendizaje automático son aprendizaje supervisado, no supervisado y semi supervisado. Nos centraremos en los dos primeros en este artículo.

En el aprendizaje supervisado, los datos contienen la variable de respuesta (etiqueta) que se está modelando, y con el objetivo de predecir el valor o la clase de los datos invisibles. El aprendizaje no supervisado implica aprender de un conjunto de datos que no tiene etiqueta ni variable de respuesta y, por lo tanto, se trata más de encontrar patrones que de predecir.

Como soy un gran fan de la NFL y los Chicago Bears, mi equipo ayudará a ejemplificar estos tipos de aprendizaje. Supongamos que tiene un montón de datos y estadísticas de los Chicago Bears que datan de cuando el equipo se convirtió en miembro colegiado de la NFL (1920) hasta el presente (2016).

Imagine que cada fila de los datos es esencialmente una instantánea (u observación) del equipo de estadísticas relevantes para cada juego desde 1920. Las columnas en este caso, y los datos contenidos en cada una, representan las características (valores) de los datos, y pueden incluir datos de características como la fecha del juego, el oponente del juego, las victorias de temporada, las derrotas de temporada, la posición divisional al final de la temporada, el amarre después de la temporada (Y/N), las estadísticas después de la temporada y quizás las estadísticas específicas de las tres fases del juego: ofensiva, defensa y equipos especiales.

En el caso supervisado, tu objetivo puede ser usar estos datos para predecir si los Osos ganarán o perderán contra un equipo determinado durante un partido determinado y en un campo determinado (local o visitante). Tenga en cuenta que cualquier cosa puede suceder en el fútbol en términos de lesiones antes y durante el partido, condiciones climáticas, malas llamadas de árbitros, etc., así que tome esto simplemente como un ejemplo de una aplicación de aprendizaje supervisado con una respuesta de sí o no (predicción), en lugar de determinar la probabilidad o probabilidad de que ‘Da Bears’ obtenga la victoria.

Dado que tienes datos históricos de victorias y derrotas (la respuesta) contra ciertos equipos en ciertos campos de fútbol, puedes aprovechar el aprendizaje supervisado para crear un modelo para hacer esa predicción.

Ahora supongamos que su objetivo es encontrar patrones en los datos históricos y aprender algo que no sepa, o agrupar al equipo de ciertas maneras a lo largo de la historia. Para ello, ejecute un algoritmo de aprendizaje automático no supervisado que agrupe (agrupe) los datos automáticamente y, a continuación, analice los resultados de la agrupación en clúster.

Con un poco de análisis, uno puede encontrar que estos clústeres generados automáticamente aparentemente agrupan al equipo en las siguientes categorías de ejemplo a lo largo del tiempo:

  • Defensa fuerte, ofensiva de carrera débil, ofensiva de pase fuerte, equipos especiales débiles, litera de playoffs

  • Defensa fuerte, ofensiva de carrera fuerte, ofensiva de pase débil, equipos especiales promedio, litera de playoffs

  • Defensa débil, ofensiva general fuerte, equipos especiales fuertes, perdió los playoffs

  • y así sucesivamente

Un ejemplo de análisis de clústeres sin supervisión sería encontrar una posible razón por la que se perdieron los playoffs en el tercer cluster anterior. ¿Quizás debido a la débil defensa? Los osos han sido tradicionalmente un equipo defensivo fuerte, y algunos dicen que la defensa gana campeonatos. Simplemente diciendo

En cualquier caso, se puede encontrar que cada una de las clasificaciones anteriores se relaciona con un cierto marco de tiempo, que uno esperaría. Tal vez el equipo se caracterizó por uno de estos grupos más de una vez a lo largo de su historia, y durante diferentes períodos de tiempo.

Para caracterizar al equipo de esta manera sin técnicas de aprendizaje automático, uno tendría que verter todos los datos históricos y estadísticas, encontrar manualmente los patrones y asignar las clasificaciones (clústeres) para cada año teniendo en cuenta todos los datos, y compilar la información. Eso definitivamente no sería una tarea rápida y fácil.

Alternativamente, puedes escribir un programa codificado explícitamente para verter los datos, y eso tiene que saber qué estadísticas de equipo considerar, qué umbrales tener en cuenta para cada estadística, y así sucesivamente. Se necesitaría una cantidad sustancial de tiempo para escribir el código, y se tendrían que escribir diferentes programas para cada problema que necesitara una respuesta.

O… puede emplear un algoritmo de aprendizaje automático para hacer todo esto automáticamente por usted en unos segundos.

Objetivos y salidas de aprendizaje automático

Los algoritmos de aprendizaje automático se utilizan principalmente para los siguientes tipos de resultados:

  • Agrupamiento (sin supervisión)

  • Clasificación de dos clases y varias clases (Supervisada)

  • Regresión: Univariante, Multivariante, etc. (Supervisado)

  • Detección de anomalías (No supervisada y supervisada)

  • Sistemas de recomendación (también conocido como motor de recomendación)

Los algoritmos específicos que se utilizan para cada tipo de salida se discuten en la siguiente sección, pero primero, demos una descripción general de cada uno de los tipos de salida o problemas anteriores.

Como se discutió, la agrupación en clústeres es una técnica no supervisada para descubrir la composición y estructura de un conjunto de datos dado. Es un proceso de agrupar datos en grupos para ver qué grupos emergen, si los hay. Cada clúster se caracteriza por un conjunto contenido de puntos de datos y un centroide de clúster. El centroide del clúster es básicamente la media (promedio) de todos los puntos de datos que contiene el clúster, en todas las entidades.

Los problemas de clasificación implican colocar un punto de datos (también conocido como observación) en una clase o categoría predefinida. A veces, los problemas de clasificación simplemente asignan una clase a una observación, y en otros casos el objetivo es estimar las probabilidades de que una observación pertenezca a cada una de las clases dadas.

Un gran ejemplo de una clasificación de dos clases es asignar la clase de Spam o Jamón a un correo electrónico entrante, donde jamón solo significa «no spam». La clasificación de múltiples clases solo significa más de dos clases posibles. Por lo tanto, en el ejemplo de spam, tal vez una tercera clase sería «Desconocida».

Regresión es solo una palabra elegante para decir que un modelo asignará un valor continuo (respuesta) a una observación de datos, en lugar de una clase discreta. Un gran ejemplo de esto sería predecir el precio de cierre del Promedio Industrial Dow Jones en un día dado. Este valor podría ser cualquier número, y por lo tanto sería un candidato perfecto para la regresión.

Tenga en cuenta que a veces la palabra regresión se usa en el nombre de un algoritmo que en realidad se usa para problemas de clasificación, o para predecir una respuesta categórica discreta (por ejemplo, spam o jamón). Un buen ejemplo es la regresión logística, que predice probabilidades de un valor discreto dado.

Otro tipo de problema es la detección de anomalías. Si bien nos encantaría pensar que los datos se comportan bien y son sensatos, desafortunadamente, a menudo no es el caso. A veces hay puntos de datos erróneos debido a fallos de funcionamiento o errores en la medición, o a veces debido a fraude. Otras veces podría ser que las mediciones anómalas son indicativas de una pieza defectuosa de hardware o electrónica.

A veces las anomalías son indicativas de un problema real y no se explican fácilmente, como un defecto de fabricación, y en este caso, detectar anomalías proporciona una medida de control de calidad, así como información sobre si las medidas adoptadas para reducir los defectos han funcionado o no. En cualquier caso, hay momentos en los que es beneficioso encontrar estos valores anómalos, y ciertos algoritmos de aprendizaje automático se pueden usar para hacer precisamente eso.

El tipo final de problema se aborda con un sistema de recomendación, o también llamado motor de recomendación. Los sistemas de recomendación son un tipo de sistema de filtrado de información, y están destinados a hacer recomendaciones en muchas aplicaciones, incluidas películas, música, libros, restaurantes, artículos, productos, etc. Los dos enfoques más comunes son el filtrado basado en contenido y el filtrado colaborativo.

Dos grandes ejemplos de motores de recomendación populares son los ofrecidos por Netflix y Amazon. Netflix hace recomendaciones para mantener a los espectadores comprometidos y provistos de un montón de contenido para ver. En otras palabras, para que la gente siga usando Netflix. Lo hacen con sus recomendaciones «Porque lo viste Alex»,» Las mejores opciones para Alex «y» Sugerencias para ti».

Amazon hace algo similar para aumentar las ventas a través de la venta ascendente, mantener las ventas a través de la participación de los usuarios, etc. Lo hacen a través de sus recomendaciones de «Clientes Que Compraron Este Artículo También Compraron», «Recomendaciones para Ti, Alex», «Relacionados con los Artículos Que Viste» y «Más Artículos a Considerar».

Algoritmos de aprendizaje automático

Ahora hemos cubierto los tipos de problemas de aprendizaje automático y los resultados deseados. Ahora daremos una visión general de alto nivel de los algoritmos de aprendizaje automático relevantes.

Aquí hay una lista de algoritmos, supervisados y no supervisados, que son muy populares y vale la pena conocer a un alto nivel. Tenga en cuenta que algunos de estos algoritmos se discutirán en mayor profundidad más adelante en esta serie.

Supervisado Regresión

  • Simple y regresión lineal múltiple

  • árbol de Decisión o bosque de regresión

  • redes Neuronales Artificiales

  • regresión Ordinal

  • de regresión de Poisson

  • el vecino más Cercano de los métodos (por ejemplo,, k-NN o k-Vecinos más cercanos)

Dos clases supervisadas & Clasificación multiclase

  • Regresión logística y regresión multinomial

  • Redes neuronales artificiales

  • Árbol de decisión, bosque y selva

  • SVM (máquina vectorial de soporte)

  • Métodos perceptrón

  • Clasificadores bayesianos (p. ej., Bayes ingenuos)

  • Métodos vecinos más cercanos (p. ej., k-NN o k-Vecinos más cercanos)

  • Una contra todas las multiclases

Sin supervisión

  • K-significa agrupación en clústeres

  • Agrupación jerárquica

Detección de anomalías

  • Máquina vectorial de soporte (una clase)

  • PCA (Análisis de componentes principales)

Tenga en cuenta que una técnica que se utiliza a menudo para mejorar el rendimiento del modelo es combinar los resultados de varios modelos. Este enfoque aprovecha lo que se conoce como métodos conjuntos, y los bosques aleatorios son un gran ejemplo (se discutirá más adelante).

Si nada más, es una buena idea al menos familiarizarse con los nombres de estos algoritmos populares, y tener una idea básica sobre el tipo de problema y salida de aprendizaje automático para los que pueden ser adecuados.

Resumen

El aprendizaje automático, el análisis predictivo y otros temas relacionados son campos muy interesantes y potentes.

Si bien estos temas pueden ser muy técnicos, muchos de los conceptos involucrados son relativamente simples de entender a un alto nivel. En muchos casos, todo lo que se requiere para tener discusiones basadas en problemas de aprendizaje automático, proyectos, técnicas, etc., es un simple entendimiento.

La segunda parte de esta serie proporcionará una introducción al rendimiento del modelo, cubrirá el proceso de aprendizaje automático y analizará en detalle la selección del modelo y las compensaciones asociadas.

estad atentos!

Sobre el autor

Alex es el fundador de InnoArchiTech y el Instituto InnoArchiTech, así como el autor de AI para personas y negocios publicado por O’Reilly Media.