Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Machine Learning clásico, Unidad 7 — Reducción de dimensionalidad, 7.2 — PCA ·

Intuición geométrica

Intuición geométrica de PCA

Introducción

La reducción de dimensionalidad es un paso crucial en la preparación y análisis de datos para mejorar la eficiencia computacional, evitar el mal de la dimensionalidad y aumentar la interpretabilidad. Principal Component Analysis (PCA) es uno de los métodos más utilizados para esta tarea. En este artículo exploraremos la intuición geométrica detrás de PCA, lo que nos ayudará a entender mejor cómo funciona y cómo aplicarlo adecuadamente.

Explicación principal con ejemplos

Concepto básico: Componentes principales

PCA busca transformar los datos en un espacio de mayor dimensión a uno de menor dimensión manteniendo la varianza explícita. Los componentes principales son las direcciones o ejes del nuevo espacio de dimensionalidad reducida que capturan la máxima variabilidad en los datos.

Visualización geométrica

Imagina una base de datos bidimensional con dos variables: X1 y X2. PCA buscará encontrar un eje (componente principal) en este espacio bidimensional que capture la mayor varianza en los datos. Este eje se alinea verticalmente con la dirección de más dispersión de los puntos.

Ejemplo en Python

import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA

# Generar datos de ejemplo
np.random.seed(0)
X = np.random.rand(100, 2)

# Crear un objeto PCA y ajustarlo a los datos
pca = PCA(n_components=2)
pca.fit(X)

# Transformar los datos
X_pca = pca.transform(X)

# Visualizar los resultados
plt.figure(figsize=(8, 6))
plt.scatter(X[:, 0], X[:, 1], color='blue', label='Datos originales')
for i, (comp, var) in enumerate(zip(pca.components_, pca.explained_variance_ratio_)):
    plt.quiver(0, 0, comp[0], comp[1], angles='xy', scale_units='xy', scale=1)
plt.xlabel('X1')
plt.ylabel('X2')
plt.title('PCA Geometría')
plt.legend()
plt.show()

En este ejemplo, pca.components_ muestran las direcciones (vectores unitarios) de los componentes principales en el espacio original. Cada vector apunta en la dirección donde hay más variabilidad en los datos.

Transformación a un espacio de una dimensión

Si decidimos reducir a una sola dimensión, PCA seleccionará el componente principal con mayor varianza y proyectará todos los puntos a este eje. Esto se puede visualizar como "proyector" de los datos en una línea.

Errores típicos / trampas

1. Ignorar la interpretabilidad

PCA reduce la dimensionalidad, pero también reduce la interpretabilidad. Si los componentes principales no tienen significado intuitivo o no son fáciles de explicar a otros stakeholders, es posible que esté mal empleando PCA.

2. Olvidar el ruido

PCA captura tanto patrones útiles como ruido en los datos. Si los datos contienen mucho ruido, PCA puede capturar y proyectar este ruido, lo cual no es deseable. Para mitigar esto, se pueden aplicar técnicas de filtrado de ruido antes de la reducción dimensional.

3. No escalar los datos

PCA asume que las variables tienen una distribución normal y comparables. Si los datos no están escalados correctamente (es decir, si las variables tienen diferentes escala o unidades), PCA puede dar resultados sesgados. Es importante normalizar los datos antes de aplicar PCA.

Checklist accionable

1. Verifica la relevancia de reducir dimensiones

Asegúrate de que la reducción de dimensionalidad mejora el rendimiento del modelo y no daña su interpretabilidad.

2. Evalúa la varianza explicada por los componentes principales

Comprueba cuánta varianza se explica por cada componente principal para determinar si necesitas más o menos dimensiones.

3. Normaliza tus datos

Normaliza todos los datos a una escala comparable antes de aplicar PCA para evitar sesgos en la transformación.

4. Valida visualmente el resultado

Visualiza los resultados después de la reducción dimensional para asegurarte de que los componentes principales capturan la varianza importante sin perder demasiados detalles.

5. Evalúa el rendimiento del modelo

Mide el rendimiento del modelo antes y después de la reducción dimensional para confirmar si hay mejoras significativas.

Siguientes pasos

  • Aplica PCA en tu proyecto: Intenta aplicar PCA a tus datos de entrenamiento y observa cómo afecta a la interpretabilidad y al rendimiento del modelo.
  • Compara con otros métodos: Compara el resultado de PCA con otros métodos de reducción dimensional como t-SNE o LDA para ver si hay diferencias significativas en la representación de tus datos.
  • Explora más profundamente: Aprende a utilizar parámetros adicionales y técnicas avanzadas asociadas a PCA, como la selección automática del número de componentes principales.

Con estos consejos, podrás aplicar PCA de manera efectiva para mejorar el rendimiento y la interpretabilidad de tus modelos de aprendizaje automático clásico.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).