馃摎

Notas de la Clase de Aprendizaje Autom谩tico para Todos

Jul 9, 2024

Clase de Aprendizaje Autom谩tico para Todos

Presentador: Kylie Ying

Introducci贸n

  • Experiencia: MIT, CERN, Free Code Camp.
  • F铆sico, ingeniero y experto en ML.
  • Objetivo: Ense帽ar ML a principiantes.

Contenido de la Clase

  • Aprendizaje supervisado y no supervisado.
  • Algoritmos y modelos de ML.
  • Programaci贸n en Google CoLab.

Introducci贸n a la Programaci贸n y el Dataset de Ejemplo

  • Fuente del dataset: Repositorio de Aprendizaje Autom谩tico de UCI.
  • Dataset usado: magic gamma telescope.
  • Descripci贸n del Dataset: Datos de part铆culas de alta energ铆a que impactan un telescopio gamma.

Importaci贸n de Bibliotecas

import numpy as np import pandas as pd import matplotlib.pyplot as plt
  • Usaremos NumPy, Pandas y Matplotlib.

Carga y Preparaci贸n de Datos

  • Carga de datos usando Pandas:
df = pd.read_csv('magic04.data')
  • Asignaci贸n de nombres a las columnas:
    • length, width, size, asymmetry, etc.
  • Conversi贸n de etiquetas G y H a 0 y 1 para facilitar el procesado.

Exploraci贸n de Datos

  • Histograma para visualizar las caracter铆sticas.
  • Ploteo de caracter铆sticas:
for label in labels: plt.hist(df[label][df['class'] == 0], label='Gamma', alpha=0.7) plt.hist(df[label][df['class'] == 1], label='Hadron', alpha=0.7) plt.legend() plt.show()

Aprendizaje Supervisado

Definici贸n

  • Entrenamiento con datos etiquetados.
  • Ejemplo: Clasificaci贸n de im谩genes de gatos y perros.
  • Tipos de tareas:
    • Clasificaci贸n: Predicci贸n de etiquetas discretas.
      • Clasificaci贸n binaria: spam o no spam.
      • Clasificaci贸n multicategor铆a: gato, perro, lagarto.
    • Regresi贸n: Predicci贸n de valores continuos.
      • Ejemplos: Precio de una casa, temperatura.

Entrenamiento y Validaci贸n del Modelo

  • Divisi贸n de datos: train, validation, test.
  • Evaluaci贸n del modelo: Uso de m茅tricas como precisi贸n, recall, F1-score.

P茅rdida y Evaluaci贸n

  • Definici贸n de Loss: Diferencia entre predicciones y valores reales.
  • Funciones de p茅rdida comunes:
    • L1 Loss: |y - y_pred|
    • L2 Loss: (y - y_pred)^2
    • Binary Cross Entropy
  • M茅tricas adicionales: Accuracy, Precision, Recall, F1-Score.

Modelos Supervisados

  1. K-Nearest Neighbors (KNN):
    • Ejemplo pr谩ctico con gr谩ficos.
    • Uso de sklearn.neighbors.KNeighborsClassifier.
  2. Naive Bayes:
    • Conceptos: Probabilidad condicional, Teorema de Bayes.
    • Uso de sklearn.naive_bayes.GaussianNB.
  3. Regresi贸n Log铆stica:
    • Curva Sigmoide para clasificaci贸n binaria.
    • Implementaci贸n con sklearn.linear_model.LogisticRegression.
  4. Support Vector Machines (SVM):
    • B煤squeda de hiperplano que maximiza el margen.
    • Uso de sklearn.svm.SVC.
  5. Red Neuronal:
    • Crear un modelo con TensorFlow/Keras.
    • Entrenamiento y evaluaci贸n del modelo.

Aprendizaje No Supervisado

Definici贸n

  • Trabajar con datos no etiquetados para encontrar patrones o estructuras.

Ejemplos

  1. K-Means Clustering:
    • Algoritmo de cl煤steres.
    • Ejemplo paso a paso de implementaci贸n.
    • Uso de sklearn.cluster.KMeans.
  2. An谩lisis de Componentes Principales (PCA):
    • Reducci贸n de dimensionalidad.
    • Ejemplo de implementaci贸n y visualizaci贸n.
    • Uso de sklearn.decomposition.PCA.

Implementaci贸n

  • Visualizaci贸n de datos con Seaborn.
  • Ploteo de distintas caracter铆sticas y su efecto en el modelo.

Comparaci贸n de Modelos

  • Modelos supervisados: Alta precisi贸n gracias a los datos etiquetados.
  • Modelos no supervisados: Descubrimiento de patrones en datos no etiquetados.

Conclusi贸n

  • Importancia de elegir el modelo correcto seg煤n el tipo de problema.
  • Uso de librer铆as como TensorFlow, Scikit-learn facilita la implementaci贸n.
  • Evaluaci贸n continua y ajuste de hiperpar谩metros es clave para mejorar el rendimiento del modelo.

Recursos adicionales

  • TensorFlow, Keras, Scikit-learn documentaciones oficiales.
  • Ejercicios personales y experimentaci贸n en Google CoLab.

Preguntas y Retroalimentaci贸n

  • Invitaci贸n para la comunidad a opinar y corregir.