Clasificación supervisada

No sabemos a qué clase pertenece cada dato. Dejamos que K-Means decida por nosotros los grupos. Nosotros solo decimos cuántos grupos queremos. Ahora vamos a darle indicios de las clases en cada muestra.

Entrenamiento supervisado

Para un entrenamiento supervisado necesitamos pasar por:

  • Entrenamiento: Cuando ajustas el modelo para tratar de ser óptimo.

  • Prueba: Cuando muestras datos y comparas la clasificación obtenida vs la esperada.

Datasets de entrenamiento y prueba

  • Pruebas: muestra si tu modelo de machine learning hace su trabajo.

  • Entrenamiento: ajusta el modelo.

De todos los datos, debes hacer una división en 2 conjuntos.

División 70 / 30: 70% para entrenamiento, 30% para pruebas.

¿Cómo debes dividir los datos?

Supongamos que tienes un dataset de la siguiente forma… Los datos en “Y” son las salidas que esperas (ya sea binaria o multiclase).

Primer paso: “shuffle” Revolverás las muestras (filas) de forma aleatoria, para asegurarte de que no elijas por error muestras sencillas. No revolver las muestras = problema de “Cherry picking”

Segundo paso: “split”

Cortarás tanto X, como Y, en dos partes proporcionales. La parte de pruebas no debe ser usada jamás para entrenar. Usar las pruebas para entrenar = mentirte a ti mismo sobre la eficacia del sistema.

Separando en Train / Test

Para este ejemplo usaremos make_blobs nuevamente. Generamos 1000 datos de 2 dimensiones, con make_blobs - Puntos amarillos y morados, clase 0 y 1

Neuronas como clasificadores supervisados

Una neurona puede tener un comportamiento de clasificador. Para ello, las neuronas utilizan una función llamada “Función de activación”.

Función sigmoidal

Es una de las funciones de activación más comunes. Toma cualquier valor de una neurona y la transforma en un valor de 0 a 1

0 = respuesta rechazada. 0.5 = incertidumbre 1 = Respuesta aceptada

Las ecuaciones de una neurona

El perceptrón multicapa

¿Qué pasa si ponemos varias neuronas juntas? --> Todas las conectamos a las mismas entradas.

Cada neurona nos puede dar resultados diferentes. Estas neuronas juntas en una línea se le conoce como “Capa neuronal”.

Si hacemos que todas las salidas se conecten a una (o más neuronas) logramos un “perceptrón multicapa”.

Entre más capas: - Comportamientos más inteligentes - Mayor dificultad de entrenamiento

¡Implementando redes neuronales!

SciKit Learn te permite crear Redes neuronales rápidamente. Solo necesitas decirle:

  1. Qué función de activación quieres

  2. Qué método de entrenamiento usar

  3. La tasa de aprendizaje

  4. El ajuste de pesos sinápticos

  5. Cuántas neuronas en cada capa

Obteniendo resultados de clasificación

  • Con x_prueba vemos que tal predice las clases (predict). Los errores son calculados con:

  • La precisión se calcula con:

Actividad: Modifica el MLP y reporta qué pasa

* No modifiques la generación de blobs, ni la generación de train test Split (Tendrás resultados incongruentes siempre).

Última actualización

¿Te fue útil?