Fundamentos Teóricos del Aprendizaje Supervisado y No Supervisado
2. Fundamentos Teóricos del Aprendizaje Supervisado y No
Supervisado
Exploración Detallada de los Conceptos
Teóricos Detrás del Aprendizaje Supervisado y No Supervisado
Aprendizaje Supervisado: Conceptos Teóricos
Definición: Se basa en el uso de un conjunto de datos de
entrenamiento que contiene tanto las entradas como las salidas deseadas.
Funcionamiento: El modelo se entrena con estos datos para
aprender la relación entre las entradas y salidas. Su objetivo es generalizar esta
relación para predecir las salidas de nuevos datos de entrada.
Tipos de Problemas: Clasificación (cuando la salida es una
categoría) y regresión (cuando la salida es un valor numérico continuo).
Aprendizaje No Supervisado: Conceptos
Teóricos
Definición: Se utiliza cuando solo tenemos datos de entrada sin
etiquetas o salidas correspondientes.
Funcionamiento: El modelo busca patrones, estructuras o
agrupaciones en estos datos. El objetivo es entender mejor la estructura y
distribución de los datos.
Tipos de Problemas: Agrupamiento (clustering) y reducción de
dimensionalidad (como el análisis de componentes principales).
Ejemplos de Algoritmos en Cada Categoría
Aprendizaje Supervisado: Algoritmos Ejemplo
1. Regresión Lineal: Utilizado para problemas de regresión, modela la
relación entre una variable dependiente y una o más variables independientes.
2. Máquinas de Soporte Vectorial (SVM): Popular en problemas de
clasificación, busca el hiperplano que mejor separa las clases en el espacio de
características.
Aprendizaje No Supervisado: Algoritmos Ejemplo
1. K-Means: Un algoritmo de clustering que agrupa los datos en 'k'
grupos basándose en sus características.
2. Análisis de Componentes Principales (PCA): Reduce la dimensionalidad
de los datos mientras mantiene la mayor cantidad de información posible.
Cómo Elegir entre Aprendizaje Supervisado y
No Supervisado
La elección entre aprendizaje supervisado y no supervisado depende en
gran medida de la naturaleza de los datos disponibles y del problema específico
a resolver:
Cuándo Elegir Aprendizaje Supervisado: Si tienes un conjunto de datos con ejemplos
de entradas y salidas conocidas, y el objetivo es predecir la salida para
nuevas entradas. Ideal para situaciones donde la relación entre la entrada y la
salida es clara y se desea modelar esa relación.
Cuándo Elegir Aprendizaje No Supervisado: Si los datos no tienen etiquetas o si el
objetivo es explorar los datos para encontrar patrones o estructuras ocultas.
Es útil cuando se desconoce la estructura de los datos y se busca obtener
insights o reducir la complejidad de los datos para análisis posteriores.
Ejemplos con Datos Ficticios
1. Regresión Lineal
Escenario: Supongamos que queremos predecir el precio de venta de casas
basándonos en su tamaño (en metros cuadrados).
Datos Ficticios:
- Tamaño de la casa (m²): [50, 70, 80, 100, 120]
- Precio de venta (miles de dólares): [200, 250, 270, 300, 340]
Modelado:
- Variable dependiente (Y): Precio de venta
- Variable independiente (X): Tamaño de la casa
Funcionamiento:
- Se utiliza un modelo de regresión lineal para ajustar una línea a
estos datos.
- La ecuación de la línea podría ser algo como `Precio = a * Tamaño +
b`, donde `a` y `b` son los parámetros del modelo que se aprenden durante el
entrenamiento.
Predicción:
- Una vez entrenado el modelo, podríamos predecir el precio de una casa
de, digamos, 90 m². Si `a = 1.5` y `b = 50`, entonces `Precio = 1.5 * 90 + 50 =
185`.
2. Máquinas de Soporte Vectorial (SVM)
Escenario: Consideremos un problema de clasificación donde
queremos distinguir entre dos tipos de frutas, digamos manzanas y naranjas,
basándonos en su peso y color.
Datos Ficticios:
- Características: Peso (gramos) y Puntuación de Color (escala de 1 a
10).
- Etiquetas: Manzana (M) o Naranja (N).
| Peso (g) | Puntuación de Color | Etiqueta |
|----------|---------------------|----------|
| 150 | 6 | M |
| 200 | 7 | N |
| 180 | 5 | M |
| 210 | 8 | N |
| 170 | 6 | M |
Modelado:
- Variables de entrada (X): Peso y Puntuación de Color
- Variable de salida (Y): Tipo de fruta (Manzana o Naranja)
Funcionamiento:
- El SVM buscará el hiperplano que mejor separa las manzanas de las
naranjas en este espacio bidimensional de peso y color.
- Por ejemplo, podría encontrar una línea que divide las dos categorías,
maximizando la distancia (margen) entre los puntos más cercanos de cada
categoría a la línea.
Clasificación:
- Con este modelo, si nos dan una fruta nueva con un peso de 190 g y una
puntuación de color de 7, el SVM clasificará esta fruta basándose en qué lado
del hiperplano cae.
Estos ejemplos ilustran cómo se pueden aplicar modelos de regresión
lineal y SVM en situaciones con datos ficticios. En el aprendizaje automático
real, los datos serían mucho más complejos y los modelos requerirían una
evaluación y ajuste cuidadoso.
Análisis con
Python:
import matplotlib.pyplot as plt
import numpy as np
from sklearn.svm import SVC
from sklearn.linear_model import LinearRegression
# Datos para Regresión Lineal
tamaño_casa = np.array([50, 70, 80, 100, 120]) # Tamaño de la casa en m²
precio_venta = np.array([200, 250, 270, 300, 340]) # Precio en miles de dólares
# Ajustar un modelo de Regresión Lineal
modelo_regresion = LinearRegression()
modelo_regresion.fit(tamaño_casa.reshape(-1, 1),
precio_venta)
a = modelo_regresion.coef_[0]
b = modelo_regresion.intercept_
linea_regresion = a * tamaño_casa + b
# Datos para SVM
frutas = np.array([
[150, 6], [200,
7], [180, 5], [210, 8], [170, 6] # Peso
y Puntuación de Color
])
etiquetas = np.array([1, 0, 1, 0, 1]) # 1 para Manzana, 0 para Naranja
# Ajustar un modelo SVM
modelo_svm = SVC(kernel='linear', C=1E10)
modelo_svm.fit(frutas, etiquetas)
# Función para dibujar el hiperplano del SVM
def plot_svc_decision_function(model, ax=None,
plot_support=True):
if ax is None:
ax =
plt.gca()
xlim =
ax.get_xlim()
ylim =
ax.get_ylim()
# Crear
cuadrícula para evaluar el modelo
x =
np.linspace(xlim[0], xlim[1], 30)
y =
np.linspace(ylim[0], ylim[1], 30)
Y, X =
np.meshgrid(y, x)
xy =
np.vstack([X.ravel(), Y.ravel()]).T
P =
model.decision_function(xy).reshape(X.shape)
# Dibujar
límites de decisión y márgenes
ax.contour(X,
Y, P, colors='k',
levels=[-1, 0, 1], alpha=0.5,
linestyles=['--', '-', '--'])
# Dibujar
vectores de soporte
if
plot_support:
ax.scatter(model.support_vectors_[:, 0],
model.support_vectors_[:, 1],
s=300, linewidth=1, facecolors='none', edgecolors='k')
ax.set_xlim(xlim)
ax.set_ylim(ylim)
# Gráficos
plt.figure(figsize=(12, 6))
# Gráfico de Regresión Lineal
plt.subplot(1, 2, 1)
plt.scatter(tamaño_casa, precio_venta, color='blue')
plt.plot(tamaño_casa, linea_regresion, color='red')
plt.title("Regresión Lineal")
plt.xlabel("Tamaño de la Casa (m²)")
plt.ylabel("Precio de Venta (miles de $)")
plt.grid(True)
# Gráfico de SVM
plt.subplot(1, 2, 2)
plt.scatter(frutas[:, 0], frutas[:, 1], c=etiquetas,
cmap='bwr')
plot_svc_decision_function(modelo_svm)
plt.title("Máquinas de Soporte Vectorial
(SVM)")
plt.xlabel("Peso (g)")
plt.ylabel("Puntuación de Color")
plt.grid(True)
plt.tight_layout()
plt.show()
1. Regresión Lineal: Este
gráfico muestra la relación entre el tamaño de la casa (en metros cuadrados) y
su precio de venta (en miles de dólares). La línea roja representa el modelo de
regresión lineal ajustado a los datos, mostrando cómo aumenta el precio a
medida que aumenta el tamaño de la casa.
2. Máquinas de Soporte Vectorial (SVM): En este gráfico, los puntos representan las
frutas con su peso (en gramos) y puntuación de color. Los puntos azules y rojos
representan manzanas y naranjas, respectivamente. La línea sólida indica el
hiperplano que el SVM ha encontrado para separar óptimamente las dos clases.
Las líneas discontinuas representan el margen, y los puntos circundados son los
vectores de soporte que ayudan a definir el hiperplano.
Estos gráficos visualizan cómo se pueden aplicar estos dos modelos en
problemas de aprendizaje supervisado.
Conclusión
Comprender los fundamentos teóricos del aprendizaje supervisado y no
supervisado es crucial para aplicar estos métodos de manera efectiva. La
elección entre uno u otro depende de los objetivos específicos y de la
naturaleza de los datos disponibles. En las siguientes publicaciones,
exploraremos aplicaciones prácticas y estudios de caso que ilustran estos conceptos.
Comentarios
Publicar un comentario