TICS-411 Minería de Datos

Clase 0: Presentación del Curso

Alfonso Tobar-Arancibia

¿Quién soy?

  • Alfonso Tobar-Arancibia, estudié Ingeniería Civil pero llevo 9 años trabajando como:
    • Data Analyst.
    • Data Scientist.
    • ML Engineer.
    • Data Engineer.
  • Terminando mi Msc. y empezando mi PhD en la UAI.
  • Me gusta mucho programar (en vivo).
  • Contribuyo a HuggingFace y Feature Engine.
  • He ganado 2 competencias de Machine Learning.
  • Publiqué mi primer paper el año pasado sobre Hate Speech en Español.
  • Juego Tenis de Mesa, hago Agility con mi perrita Kira y escribo en mi Blog.

Cuéntenme de ustedes!!

Sobre el Curso

Objetivos del Curso

  • Identificar Elementos Claves del Machine Learning (Terminología, Nomenclatura, Intuición).
  • Entender como interactúan los algoritmos más importantes.
  • Aprender a seleccionar el mejor Algoritmo para el Problema.
  • Ejecutar y aplicar algoritmos clásicos de Machine Learning.
  • Evaluar el desempeño esperado del Modelo.

Tópicos

  • Introducción a la Minería de Datos
  • Análisis Exploratorio de Datos (EDA)
  • Modelos No Supervisados/Descriptivos
  • Modelos Supervisados/Predictivos

Modelos no Supervisados

  • K-Means
  • Hierarchical Clustering
  • DBScan
  • Apriori

Modelos Supervisados

  • KNN
  • Árboles de Decisión
  • Naive Bayes
  • Regresión Logística

Sobre las clases

  • Clases presenciales, con participación activa de los estudiantes.
  • Es un curso coordinado.
  • Canal oficial será Webcursos.
  • Mucha terminología y material de estudio será en Inglés.
  • Horario: Jueves.
    • 15:30 a 16:40 (Cátedra)
    • 17:00 a 18:10 (Práctico)
    • Idealmente!!
  • Asistencia es voluntaria, pero altamente recomendada.

Materiales de Clases

  • Slides interactivas (Código se puede copiar e imágenes se pueden ver en grande).
  • Se puede buscar contenido en las diapositivas mediante un buscador.
  • Se dejarán copias en PDF en Webcursos (levemente distintas).

Se espera que los estudiantes dominen las siguientes tecnologías:

Material Complementario

Evaluación

  • Dos Evaluaciones Escritas (P1, P2) coordinadas y cuatro tareas prácticas en parejas (T1, T2, T3, T4) \[NP = 0.35 \cdot P1 + 0.35 \cdot P2 + 0.3 \cdot \bar{T}\] \[ \bar{T} = (T1 + T2 + T3 + T4)/4 \]

Si NP > 5

\[NF = NP\]

En caso contrario:

\[NF = 0.7 \cdot NP + 0.3 \cdot E\]

Ayudantías

Ayudante: TBD

email: TBD

  • Las ayudantías serán en la manera que sean necesarias.
  • Estarán enfocadas principalmente en aplicaciones y código.

Introducción al Curso

Revolución de los Datos

Nace el Data Science (Ciencia de Datos)

¿Cómo aprovechar la información que tenemos?

Data Mining (Minería de Datos)

“The process of identifying valid, novel, potentially useful, and ultimately understandable patterns in data.” (Fayyad, Piatetsky-Shapiro & Smith 1996)

Machine Learning (Aprendizaje Automático)

“A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.” (Mitchell, 2006)

Tipos de Datos

Datos Estructurados

Datos No Estructurados

Tipos de Datos: Datos Tabulares

  • Filas: Observaciones, instancias, registros. (Normalmente independientes).
  • Columnas: Variables, Atributos, Features.
  • Probablemente el tipo de datos más amigable.
  • Requiere conocimiento de negocio (Domain Knowledge)
  • Es un % bajísimo del total de datos existentes en el Mundo. También el que más disponible está en las empresas.
  • Distintos data types, por lo que normalmente requiere de algún tipo de preprocesamiento.

Tipos de Datos: Series de Tiempo

  • Filas: Instancias temporales (Normalmente interdependientes).
  • Columnas: Variables, Atributos, Features (Univariada o Multivariada).
  • Es un % bajísimo del total de datos existentes en el Mundo.
  • Propiedad temporal requiere preprocesamiento y modelos especiales.

Tipos de Datos: Imágenes

Tipos de Datos: Texto Libre

  • Datos Masivos.
  • Dificiles de lidiar ya que deben ser llevarse a una representación numérica.
  • Alto nivel de Sesgo y Subjetividad.
  • Gracias a este tipo de datos se han producido los avances más increíbles del último tiempo: Transformers

Tipos de Datos: Videos

  • Los videos no son más que arreglos de imágenes.
  • Son un tipo de dato muy pesado y difícil de lidiar.
  • Requiere alto poder de Procesamiento.

¿Cómo aprenden los Modelos?

Tipos de Aprendizaje

Reinforcement Learning

En este tipo de aprendizaje se enseña por refuerzo. Es decir se da una recompensa si el sistema aprende lo que queremos.

Si el premio es mayor, se pueden obtener aprendizajes mayores.

Un ejemplo de esto es AlphaTensor en el cual un modelo aprendió una nueva manera de multiplicar matrices que es más eficiente.

Otro ejemplo es AlphaFold donde el modelo aprendió/descubrió cómo se doblan las proteínas cuando se vuelven aminoácidos.

Problemas Supervisados: Regresión y Clasificación

  • Regresión: Se busca estimar un valor continuo.
    • (Estimar el valor de una casa).
  • Clasificación: Se busca encontrar una categoría o un valor discreto.
    • (Clasificar una imagen como Perro o Gato).
  • Para entrenar este tipo de modelos se necesitan etiquetas, es decir, la respuesta esperada del modelo.

Clustering

  • Clusters: Una categoría en la que sus componentes son similares. Los clusters normalmente no tienen un nombre propio, sino que uno les asigna uno.
  • También se les llama segmentos. No usar la palabra clase.
  • No requiere de etiquetas, por lo tanto, no es posible evaluar su desempeño de manera 100% acertada.

Reducción de Dimensionalidad

  • Reducción de la Dimensionalidad: Eliminar complejidad sin perder información clave para poder entender su comportamiento.

Intuición

Nuestro Sistema de ML

Creemos un Sistema de ML que sea capaz de ver una imágen y pronunciar correctamente el uso de la letra C.

Vamos a Entrenar un Modelo.

Nuestro Sistema de ML: Entrenamiento

Kasa

Kokodrilo

Kubo

¿Qué patrones está aprendiendo el modelo?

Entrenamiento

Es el proceso en el cuál se permite al modelo aprender. En este proceso se le entregan ejemplos (Train Set) para que el modelo de manera autónoma pueda aprender patrones que le permitan resolver la tarea dada.

Nuestro Sistema de ML: Inferencia

Inferencia/Predicción

Se refiere al proceso en el que el modelo tiene que demostrar cuál sería su decisión de acuerdo a los patrones aprendidos en el proceso de entrenamiento. Los ejemplos en los que se prueba se le denomina Test Set.

Kollar

Konejo

Kukillo

Bikikleta

Generalización

Se le llama generalización a la capacidad del modelo de aplicar lo aprendido de manera correcta en ejemplos no vistos.

Nuestro Sistema de ML: Nuevas instancias de Entrenamiento

Kuchillo

Chokolate

Sinsel

No es bueno entrenar con las mismas instancias de de Test, es decir, con las cuales se evalúa el modelo. ¿Por qué?

Nuestro Sistema de ML: Reevaluemos nuestro Modelo

Kollar

Konejo

Kuchillo

Bisikleta

Evaluación

Utilizar una métrica que permita ponerle nota al modelo.

  • 1er Modelo: 2 correctas de 4, es decir 50%.
  • 2do Modelo: 4 correctas de 4, es decir 100%.

Problemas del Aprendizaje

Supongamos que queremos utilizar nuestro modelo para pronunciar palabras en otro idioma (otro Test Set).

¿Qué problemas podemos encontrar?

  • Stomach \(\rightarrow\) Stomak

  • Archer \(\rightarrow\) Archer

  • Church \(\rightarrow\) Churk

    • Church.
  • Archeology \(\rightarrow\) Archeology

    • Arkeology.
  • Chicago \(\rightarrow\) Chicago

    • Shicago.
  • Muscle \(\rightarrow\) Muskle

    • Mus_le.
  • Ich mag Schweinefleisch \(\rightarrow\) Ich mag Schweinefleisk.

    • Ij mag Shvaineflaish.

Claramente tenemos un problema. ¿A qué se debe esto?

Problemas del Aprendizaje: Definiciones

Overfitting (Sobreajuste)

Se refiere a cuando un modelo no es capaz de generalizar de manera correcta, porque se ajusta demasiado bien (llegando a memorizar) a los datos de entrenamiento. ¿Cómo se puede mitigar este problema?

Se le tiende a llamar sobreentrenamiento, pero no es del todo correcto para el caso de modelos de Machine Learning. Lo más correcto es que el sobreentrenamiento provoca overfitting.

Underfitting (Subajuste)

Se refiere a cuando un modelo no es capaz de generalizar de manera correcta, pero a diferencia del overfitting no se ha ajustado correctamente a los datos. ¿Cómo se vería el underfitting en nuestro ejemplo?

Etapas del Modelamiento: Crisp-DM

Etapas del Modelamiento: KDD

Etapas del Modelamiento: Semma

Etapas del Modelamiento: Metodología Propia

Preguntas para terminar

  • ¿Qué tipo de modelo debo implementar si quiero estimar la temperatura del día de mañana?
  • ¿Qué tipo de modelo debo implementar si es que quiero detectar barrios de acuerdo a su condición socio-economica?
  • Si mi modelo aprende a resolver ejercicios de matemática.
    • ¿Cómo se vería el overfitting?
    • ¿Cómo se vería el underfitting?

Gracias