Aprendizaje Automático II
Perfilado de sección
-
En esta segunda asignatura dedicada al aprendizaje automático, abordaremos algunas de las técnicas más recientes y más exitosas de la inteligencia artificial, aquellas que, en los últimos años, han protagonizado algunos de los avances más significativos en la ciencia de datos.
La asignatura tiene cuatro bloques diferenciados: así, construyendo sobre lo aprendido en las asignaturas Modelado estadístico de datos y Aprendizaje automático I, en el primer bloque se expondrán y se trabajarán los modelos basados en la idea del bootstrap aggregation o bagging, en especial los bosques aleatorios. En el segundo bloque, se verán estrategias de intensificación como boosting. El tercer bloque está dedicado a otros paradigmas de agregación de modelos, mientras que el cuarto y último bloque cubre técnicas de aprendizaje no supervisado o autoorganizativo, esenciales para aquellas situaciones en las que interesa encontrar estructuras subyacentes u ocultas en un conjunto de datos.
Todos estos contenidos se cubrirán de forma necesariamente escueta: las ciencias que les dan lugar y base son ciencias recientes pero extensas. El enfoque será eminentemente práctico, pero además de que el alumnado pueda incorporar a su perfil profesional las herramientas que se exponen, se pretende que alcancen una comprensión profunda de su funcionamiento.
-
-
Comenzamos nuestro curso de Machine Learning con Python realizando una introducción del proceso paso a paso que se debe de utilizar en el mundo del modelado predictivo con el lenguaje de programación Python. Veremos como Python es un potente lenguaje de programación que nos permitirá analizar y tomar decisiones sobre cualquier conjunto de datos de manera muy sencilla con los conocimientos ya adquiridos de programación que ya deberemos de poseer.
Finalmente, recordarle que la estructura del curso está diseñada de manera que cada unidad está compuesta por una parte de teoría y otra de práctica. Cada una de las unidades dispondrá del PDF de lectura (y presentación) que tendrá todos los conceptos teóricos y varios vídeos que tendrá los conceptos prácticos que deberás reproducir usted en su estudio. Por tanto, es importante, antes de ver la parte de práctica, se entienda y estudie la parte de teoría.
Así que nada, manos a la obra y cualquier duda ya sabéis que se deberá dejar en los foros .
-
-
Una vez visto todos los conceptos teórico/prácticos, empezamos a trabajar un proyecto completo de machine learning, es decir, de inicio a fin, evaluando cada una de las partes intermedias a tener en cuenta (tenga en cuenta la plantilla de trabajo). Para ello, se trabajarán los siguientes proyectos:
- Proyecto de clasificación binaria. Una vez trabajado un proyecto multiclase realizaremos uno para clase binaria en el que el valor de salida puede ser solamente dos.
- Proyecto de clasificación multiclase. Como segundo ejemplo ejemplo de proyecto vamos a trabajar un conjunto de datos para un problema de clasificación de manera que puedan predecirse tres o más clases.
- Proyecto de regresión. Finalmente, se trabajará un problema de regresión, en el que recordamos, nuestro valor de salida es un atributo de tipo numérico.
-
El aprendizaje automático se ha convertido en un pilar fundamental en la era de la inteligencia artificial, donde los algoritmos de ensemble destacan por su capacidad para mejorar la precisión y la generalización de los modelos predictivos. Este curso se centra en los algoritmos de ensemble, con especial énfasis en su relación con los árboles de decisión. Comprender los árboles de decisión es fundamental para dominar los métodos de ensemble, ya que estos últimos se basan en gran medida en la combinación de múltiples modelos de árboles de decisión. Este enfoque en los árboles de decisión como piedra angular permite a los estudiantes adquirir una comprensión profunda de los principios subyacentes de los algoritmos de ensemble, así como de sus aplicaciones en una variedad de problemas del mundo real. A través de ejemplos prácticos y casos de estudio, los participantes explorarán cómo los árboles de decisión forman la base para algoritmos de ensemble poderosos y versátiles, y cómo esta comprensión mejora significativamente su capacidad para diseñar, implementar y optimizar modelos predictivos precisos y robustos. Este curso proporciona una sólida base teórica y práctica para aquellos interesados en explorar y dominar el emocionante campo del aprendizaje automático y la inteligencia artificial.
-
-
Los modelos múltiples en el aprendizaje automático representan un enfoque poderoso para mejorar la precisión y la robustez de las predicciones. Este módulo explora la importancia y los beneficios de utilizar múltiples modelos en diversos contextos de aprendizaje automático. Al emplear una variedad de algoritmos y técnicas, los modelos múltiples ofrecen una perspectiva holística para abordar la complejidad de los problemas de predicción. Este enfoque permite mitigar el sobreajuste, capturar la variabilidad inherente de los datos y mejorar la generalización del modelo. Además, los modelos múltiples fomentan la diversidad en las predicciones, lo que puede conducir a una toma de decisiones más sólida y confiable. A través de la combinación de diferentes modelos, como árboles de decisión, máquinas de vectores de soporte, redes neuronales, y ensambles, los practicantes de aprendizaje automático pueden construir sistemas más adaptables y resilientes. Este abstracto analiza los principios fundamentales detrás de los modelos múltiples, destacando su aplicación en una variedad de dominios, desde la clasificación y la regresión hasta el procesamiento del lenguaje natural y la visión por computadora. Al comprender y aprovechar los modelos múltiples, los investigadores y profesionales pueden avanzar hacia soluciones más sofisticadas y efectivas en el campo del aprendizaje automático.
-
-
Los algoritmos de Bagging (Bootstrap Aggregating) son una poderosa técnica en el campo del aprendizaje automático que se utiliza para mejorar la estabilidad y la precisión de los modelos predictivos. Este método se basa en la idea de generar múltiples conjuntos de datos de entrenamiento a partir del conjunto de datos original mediante muestreo con reemplazo, y luego entrenar un modelo base en cada uno de estos conjuntos. Al combinar las predicciones de estos modelos base, el algoritmo de Bagging produce una predicción final más robusta y generalizable que la de un único modelo. Este abstracto explora los fundamentos teóricos y prácticos de los algoritmos de Bagging, incluida su implementación, sus ventajas y sus aplicaciones en una variedad de problemas del mundo real. Además, se discuten las consideraciones clave para la selección de parámetros y la evaluación de la calidad del modelo en el contexto del Bagging. A través de ejemplos y estudios de caso, este abstracto proporciona una visión general completa de cómo los algoritmos de Bagging pueden mejorar significativamente el rendimiento y la estabilidad de los modelos de aprendizaje automático, lo que los convierte en una herramienta invaluable en el arsenal de cualquier practicante de la ciencia de datos.
-
-
-
-
Los algoritmos de Stacking representan una técnica avanzada y poderosa en el campo del aprendizaje automático, diseñada para mejorar la precisión y la robustez de los modelos predictivos. Este enfoque innovador se basa en la idea de combinar las predicciones de varios modelos base, utilizando un meta-modelo para integrar estas predicciones y generar una predicción final más precisa y generalizable. Este curso explora en detalle los fundamentos teóricos y prácticos de los algoritmos de Stacking, desde su conceptualización hasta su implementación y optimización eficaz. Los participantes aprenderán cómo construir y entrenar múltiples modelos base, cómo seleccionar el meta-modelo apropiado y cómo ajustar los parámetros clave para lograr el mejor rendimiento predictivo. A través de ejemplos prácticos y estudios de caso, los estudiantes explorarán las aplicaciones de los algoritmos de Stacking en una variedad de dominios, incluyendo clasificación, regresión y análisis de series temporales. Al comprender y dominar los algoritmos de Stacking, los profesionales del aprendizaje automático pueden mejorar significativamente la precisión y la confiabilidad de sus modelos, abriendo nuevas posibilidades para resolver desafíos complejos en campos como la medicina, las finanzas, la agricultura y más. Este curso ofrece una perspectiva integral y práctica sobre una técnica de vanguardia en el campo del aprendizaje automático, preparando a los participantes para enfrentar con éxito los desafíos del análisis predictivo en el mundo actual.
-
-
Aprendizaje no supervisado es un método de Aprendizaje Automático donde un modelo se ajusta a las observaciones. Se distingue del Aprendizaje supervisado por el hecho de que no hay un conocimiento a priori. En el aprendizaje no supervisado, un conjunto de datos de objetos de entrada es tratado. Así, el aprendizaje no supervisado típicamente trata los objetos de entrada como un conjunto de variables aleatorias, siendo construido un modelo de densidad para el conjunto de datos.
-
-
Los módulos que se encuentran a continuación son contenidos que ya se han visto en Aprendizaje Automático I y que son importantes para este curso.
Por tanto, si no recuerda muy bien estos contenidos le recomendamos encarecidamente que los desarrolle.
-
En esta tercera unidad, ampliaremos el concepto de Análisis de datos viendo como se realiza un análisis exploratorio de datos bajo un hilo argumental y sacando algunas conclusiones en nuestro conjunto de datos. Finalmente trabajaremos con algunas funciones de generación de gráficos para ver el comportamiento e interrelaciones de las diferentes característica de un conjunto de datos en particular. Finalmente, deberemos aprender en un primer momento qué métricas tenemos a nuestro alcance para poder evaluar un problema de Machine Learning.
- Análisis Exploratorio de Datos: Empezaremos viendo como se realiza un correcto Análisis Exploratorio de nuestros datos con la base de la unidad anterior.
- Preprocesamiento de datos. Analizaremos las diferentes técnicas que tenemos a nuestra disposición para poder realizar un buen preprocesamiento de datos y, así, mejorar el rendimiento de nuestros modelos.
- Métodos de remuestreo. Aprenderemos a qué nos referimos con la métrica de un modelo para poder estimar su desempeño en los datos no etiquetados.
-
Una vez realizado un preprocesamiento de los datos aprenderemos a comparar los diferentes resultados de los algoritmos para así crear un modelo más robusto en la fase de predicción. Así mismo, para poder comprenderlos existen técnicas como feature selection nos permitirán seleccionar las variables más significativas en los resultados.En este sentido, el tema se divide en las siguientes secciones:
- Evaluación de las métricas. Descubriremos cómo puede evaluar sus algoritmos de machine learning en Python utilizando una serie de métricas de evaluación estándar.
- Feature selection. El proceso de feature selection en los datos permite modelar su problema se denomina selección de mejores características, es decir, atributos más relevantes para los modelos de aprendizaje.
- Feature Importance. Este concepto es muy parecido al anterior (por no decir igual), pero la diferencia es que cuando hablamos de Feature Importance es porque vamos a realizar técnicas basadas en algoritmos de Machine Learning para evaluar las características más importante.
- Reducción de dimensiones. Un último apartado, más corto pero no menos importante, es la reducción de dimensiones en nuestro conjunto de datos. Para ello utilizaremos la técnica principal que es PCA.
-
En esta unidad aprenderemos sobre los algoritmos más importantes de machine learning ya que tenemos que comparar el rendimiento de los algoritmos para buscar al mejor candidato. Además, tan importante es aprender de estos algoritmos como también evaluar su rendimiento y, sobre todo, los modelos más avanzados que tenemos a nuestra disposición para poder trabajar problemas avanzados
En este sentido, el tema se divide en las siguientes secciones:- Algoritmos de machine learning. Aprenderemos cuales son las diferentes taxonomías en las que se empaquetan los diferentes algoritmos, así como es su desempeño en un conjunto de datos.
- Rendimiento de los algoritmos. Por último, aprenderemos las técnicas que puede usar para comparar algoritmos de machine learning en Python.
- Algoritmos de conjunto. Los algoritmos de conjunto pueden darle un impulso a la métrica de salida en su conjunto de datos, veremos los tres principales y su desempeño.
-
Antes de trabajar con proyectos reales en machine learning, es importante trabajar la fase de optimización, para obtener mejores resultados de los algoritmos de machine learning, y forecasting, para trabajar las predicciones de nuestros datos no etiquetados. Antes de ello, deberemos conocer dos aspectos avanzados que nos proporciona Python, el primero es la herramienta Pipeline y, el segundo, es como resolver problemas avanzados de procesamiento de datos muy comunes.
En este sentido las secciones principales de trabajo en esta sección serán:- Procesamiento avanzados de datos. Trataremos problemas avanzados muy típicos que nos vamos a encontrar a la hora de trabajar con un proyecto, estos son, valores NaN, One-Hot Encoding y escalamiento en la clase para problemas de regresión.
- Fase de optimización. Aprenderemos las tres formas en que se pueden ajustar los parámetros de un algoritmo de machine learning en Python.
- Fase forescasting. Una vez escogido y optimizado nuestro modelo, deberemos guardarlo para poder realizar predicciones de los datos no etiquetados.
- Plantilla para proyectos. Finalmente, y antes de empezar a desarrollar los proyectos de machine learning, se expone una plantilla de trabajo, la cual puede ser utilizada para cualquier trabajo de modelado predictivo.
- Procesamiento avanzados de datos. Trataremos problemas avanzados muy típicos que nos vamos a encontrar a la hora de trabajar con un proyecto, estos son, valores NaN, One-Hot Encoding y escalamiento en la clase para problemas de regresión.