Temario Avanzado: Sistemas de Clasificación y Teoría de la Información en Data Mining

Curso Universitario Avanzado | Estadística y Análisis de Grandes Volúmenes de Datos


PARTE I: INTRODUCCIÓN A LOS SISTEMAS DE CLASIFICACIÓN

I.1 Fundamentos Teóricos de la Clasificación

1.1.1 Definiciones Formales

Problema de Clasificación Supervisada

Sean \(\mathcal{X} = \mathbb{R}^p\) el espacio de características y \(\mathcal{Y} = \{1, 2, \ldots, K\}\) el conjunto de clases discretas. Un conjunto de entrenamiento está compuesto por observaciones \(\mathcal{D} = \{(x_i, y_i)\}_{i=1}^{n}\) donde \(x_i \in \mathcal{X}\) e \(y_i \in \mathcal{Y}\).

El objetivo es encontrar una función de clasificación \(f: \mathcal{X} \rightarrow \mathcal{Y}\) que minimice el riesgo empírico:

\[ \mathcal{R}_{emp}(f) = \frac{1}{n} \sum_{i=1}^{n} \mathcal{L}(f(x_i), y_i) \]

donde \(\mathcal{L}\) es una función de pérdida que penaliza las predicciones incorrectas.

1.1.2 Criterios de Evaluación

Matriz de Confusión (Multiclase)

Para un problema con \(K\) clases:

\[ \text{Precisión}_k = \frac{TP_k}{TP_k + FP_k}, \quad \text{Exhaustividad}_k = \frac{TP_k}{TP_k + FN_k} \]

Medida F1 Ponderada

\[ F1_{ponderada} = \frac{2}{n} \sum_{k=1}^{K} \frac{n_k}{n} \frac{\text{Precisión}_k \cdot \text{Exhaustividad}_k}{\text{Precisión}_k + \text{Exhaustividad}_k} \]

donde \(n_k\) es el número de muestras de la clase \(k\).


PARTE II: ALGORITMOS PRINCIPALES DE CLASIFICACIÓN

II.1 Regresión Logística

2.1.1 Formulación Matemática

Función Logística

Para clasificación binaria, se utiliza la función sigmoide:

\[ p(Y=1|X=x) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \cdots + \beta_p x_p)}} = \sigma(\beta^T x) \]

donde \(\beta = (\beta_0, \beta_1, \ldots, \beta_p)^T\) son los parámetros del modelo.

Odds y Log-Odds

\[ \text{odds} = \frac{p(Y=1|X)}{1 - p(Y=1|X)} \quad \Rightarrow \quad \log(\text{odds}) = \beta_0 + \beta_1 x_1 + \cdots + \beta_p x_p \]

2.1.2 Estimación de Parámetros: Máxima Verosimilitud

Función de Verosimilitud

\[ L(\beta) = \prod_{i=1}^{n} p(y_i|x_i; \beta)^{y_i}(1 - p(y_i|x_i; \beta))^{1-y_i} \]

Log-Verosimilitud

\[ \ell(\beta) = \sum_{i=1}^{n} \left[ y_i \log p(x_i) + (1-y_i) \log(1 - p(x_i)) \right] \]

Los parámetros óptimos \(\hat{\beta}\) se obtienen resolviendo:

\[ \nabla \ell(\beta) = 0 \quad \Rightarrow \quad \sum_{i=1}^{n} (y_i - p(x_i)) x_i = 0 \]

Extensión Multiclase: Regresión Logística Multinomial

\[ P(Y=k|X=x) = \frac{e^{\beta_k^T x}}{\sum_{j=1}^{K} e^{\beta_j^T x}} \]

2.1.3 Optimización Numérica

Se emplean métodos iterativos como Newton-Raphson o Descenso de Gradiente Estocástico. El Hessiano de la función log-verosimilitud es:

\[ H = -\sum_{i=1}^{n} p(x_i)(1 - p(x_i)) x_i x_i^T \]

II.2 Máquinas de Vectores de Soporte (SVM)

2.2.1 Clasificación Lineal Separable

Problema de Optimización Original

Dadas clases separables, se desea encontrar el hiperplano separador que maximiza el margen:

\[ \min_{\mathbf{w}, b} \frac{1}{2} \|\mathbf{w}\|^2 \]

sujeto a:

\[ y_i (w^T x_i + b) \geq 1 \quad \forall i = 1, \ldots, n \]

Condiciones de Karush-Kuhn-Tucker (KKT)

\[ \alpha_i [y_i (w^T x_i + b) - 1] = 0 \quad \text{(complementariedad)} \]

2.2.2 Dual de Wolfe

El problema dual es:

\[ \max_{\alpha} \sum_{i=1}^{n} \alpha_i - \frac{1}{2} \sum_{i,j=1}^{n} \alpha_i \alpha_j y_i y_j x_i^T x_j \]

sujeto a:

\[ \sum_{i=1}^{n} \alpha_i y_i = 0, \quad 0 \leq \alpha_i \leq C \quad \forall i \]

2.2.3 El Truco del Kernel

Para datos no separables linealmente, se mapea a un espacio de mayor dimensión mediante una función \(\phi: \mathcal{X} \rightarrow \mathcal{H}\):

\[ K(x_i, x_j) = \langle \phi(x_i), \phi(x_j) \rangle \]

Kernels Comunes

  • Kernel Lineal: \(K(x_i, x_j) = x_i^T x_j\)

  • Kernel Polinomial: \(K(x_i, x_j) = (x_i^T x_j + r)^d\)

  • Kernel RBF (Gaussiano): \(K(x_i, x_j) = \exp(-\gamma \|x_i - x_j\|^2)\)

  • Kernel Sigmoide: \(K(x_i, x_j) = \tanh(\kappa x_i^T x_j + \theta)\)

2.2.4 SVM Multiclase

Esquema Uno-vs-Todos

Se entrena \(K\) clasificadores binarios SVM. Para clasificar un nuevo punto \(x\):

\[ \hat{y} = \arg\max_{k=1,\ldots,K} f_k(x) \]

Esquema Uno-vs-Uno

Se entrena \(\binom{K}{2}\) clasificadores. Se utiliza un esquema de votación.

II.3 Árboles de Decisión

2.3.1 Estructura Formal

Un árbol de decisión es un grafo dirigido acíclico donde:

  • Cada nodo interno realiza un test sobre un atributo
  • Cada rama representa un resultado del test
  • Cada hoja es una predicción de clase

2.3.2 Criterios de Partición: Entropía e Información

Entropía de Shannon (ver Parte III para definición completa)

\[ H(Y) = -\sum_{k=1}^{K} p(Y=k) \log_2 p(Y=k) \]

Ganancia de Información

\[ IG(Y, X) = H(Y) - \sum_{v} \frac{|S_v|}{|S|} H(Y|X=v) \]

donde \(S_v\) es el subconjunto de muestras donde \(X=v\).

2.3.3 Criterio de Gini

Alternativa a la entropía, más computacionalmente eficiente:

\[ \text{Gini}(Y) = 1 - \sum_{k=1}^{K} p(Y=k)^2 \]

Impureza de Gini Ponderada

\[ \text{Gini}_{\text{ponderado}}(S) = \sum_{v} \frac{|S_v|}{|S|} \text{Gini}(Y|X=v) \]

La ganancia de Gini es \(\text{Gini}(Y) - \text{Gini}_{\text{ponderado}}(S)\).

2.3.4 Algoritmo de Construcción (CART)

Búsqueda Binaria Greedy

  1. Para cada atributo \(X_j\) y umbral \(t\), calcular la ganancia de información
  2. Seleccionar la división \((X_j, t)\) con máxima ganancia
  3. Particionar recursivamente los nodos hijo
  4. Detener cuando se cumple criterio de parada (profundidad máxima, muestras mínimas, etc.)

2.3.5 Poda (Pruning)

Poda de Costo-Complejidad

\[ R_{\alpha}(T) = R(T) + \alpha |T| \]

donde \(R(T)\) es el error en datos de validación, \(|T|\) es el número de hojas, y \(\alpha\) es el parámetro de complejidad.

II.4 Naive Bayes

2.4.1 Teorema de Bayes

\[ P(Y=k|X_1, \ldots, X_p) = \frac{P(X_1, \ldots, X_p|Y=k) P(Y=k)}{P(X_1, \ldots, X_p)} \]

2.4.2 Hipótesis de Independencia Condicional

Naive Bayes asume:

\[ P(X_1, \ldots, X_p|Y=k) = \prod_{j=1}^{p} P(X_j|Y=k) \]

Por tanto:

\[ P(Y=k|X_1, \ldots, X_p) \propto P(Y=k) \prod_{j=1}^{p} P(X_j|Y=k) \]

2.4.3 Regla de Decisión MAP

\[ \hat{y} = \arg\max_{k} P(Y=k) \prod_{j=1}^{p} P(X_j|Y=k) \]

2.4.4 Estimación de Probabilidades

Para atributos discretos:

\[ P(X_j = v|Y=k) = \frac{\text{count}(X_j = v, Y=k) + \alpha}{n_k + \alpha \cdot |V_j|} \]

donde \(\alpha\) es el parámetro de suavizado de Laplace, \(n_k\) es el número de muestras de clase \(k\), y \(|V_j|\) es el número de valores posibles de \(X_j\).

Para atributos continuos:

Se asume distribución gaussiana:

\[ P(X_j|Y=k) = \frac{1}{\sqrt{2\pi\sigma_k^2}} \exp\left(-\frac{(X_j - \mu_k)^2}{2\sigma_k^2}\right) \]

II.5 K-Vecinos Más Cercanos (KNN)

2.5.1 Formulación General

Para clasificar un punto \(x\), se identifican los \(k\) puntos de entrenamiento más cercanos según una métrica de distancia \(d(\cdot, \cdot)\).

2.5.2 Métricas de Distancia

Distancia Euclidiana

\[ d_E(x, x') = \sqrt{\sum_{j=1}^{p} (x_j - x'_j)^2} \]

Distancia Manhattan

\[ d_M(x, x') = \sum_{j=1}^{p} |x_j - x'_j| \]

Distancia de Minkowski

\[ d_{\text{Mink}}(x, x') = \left(\sum_{j=1}^{p} |x_j - x'_j|^q\right)^{1/q} \]

Métrica de Mahalanobis

\[ d_{\text{Mah}}(x, x') = \sqrt{(x - x')^T \Sigma^{-1} (x - x')} \]

donde \(\Sigma\) es la matriz de covarianza.

2.5.3 Regla de Decisión Multiclase

\[ \hat{y} = \arg\max_{k} \sum_{i \in N_k(x)} \mathbf{1}[y_i = k] \]

donde \(N_k(x)\) es el conjunto de \(k\) vecinos más cercanos.

Ponderación por Distancia

\[ \hat{y} = \arg\max_{k} \sum_{i \in N_k(x)} w_i \cdot \mathbf{1}[y_i = k] \]

con \(w_i = \frac{1}{d(x, x_i) + \epsilon}\).

II.6 Métodos de Ensamble

2.6.1 Bagging (Bootstrap Aggregating)

Algoritmo

  1. Para \(b = 1, \ldots, B\):
    • Generar muestra bootstrap \(\mathcal{D}^{(b)}\) con reemplazo de \(\mathcal{D}\)
    • Entrenar clasificador \(f^{(b)}\) en \(\mathcal{D}^{(b)}\)
  2. Predicción: \(\hat{y} = \text{mode}\{f^{(b)}(x)\}_{b=1}^{B}\)

Análisis de Varianza

Para predicciones correlacionadas:

\[ \text{Var}_{\text{bagged}}(f) = \rho \sigma^2 + (1-\rho) \frac{\sigma^2}{B} \]

donde \(\rho\) es la correlación entre predictores y \(\sigma^2\) es la varianza individual.

2.6.2 Random Forest

Modificación de Bagging

En cada división de árbol, se considera un subconjunto aleatorio \(m\) de \(p\) características:

\[ m = \left\lfloor \sqrt{p} \right\rfloor \quad \text{(clasificación típica)} \]

Importancia de Variables

\[ \text{Importancia}_j = \frac{1}{B} \sum_{b=1}^{B} \text{IG}_b(j) \]

donde \(\text{IG}_b(j)\) es la ganancia de información total del atributo \(j\) en el árbol \(b\).

2.6.3 Boosting: AdaBoost

Algoritmo AdaBoost

  1. Inicializar pesos: \(w_i^{(1)} = \frac{1}{n}\)

  2. Para \(t = 1, \ldots, T\):

    • Entrenar clasificador \(f^{(t)}\) con pesos \(w^{(t)}\)
    • Calcular error ponderado: \(\varepsilon_t = \sum_{i=1}^{n} w_i^{(t)} \mathbf{1}[f^{(t)}(x_i) \neq y_i]\)
    • Si \(\varepsilon_t > 0.5\), detener o reintentar
    • Calcular peso: \(\alpha_t = \frac{1}{2} \ln\left(\frac{1 - \varepsilon_t}{\varepsilon_t}\right)\)
    • Actualizar pesos: \(w_i^{(t+1)} = \frac{w_i^{(t)} \exp(-\alpha_t y_i f^{(t)}(x_i))}{Z_t}\)

    donde \(Z_t = \sum_{i=1}^{n} w_i^{(t)} \exp(-\alpha_t y_i f^{(t)}(x_i))\)

  3. Predicción final: \(\hat{y} = \text{sign}\left(\sum_{t=1}^{T} \alpha_t f^{(t)}(x)\right)\)

2.6.4 Gradient Boosting

Marco General

Se minimiza una función de pérdida \(L(y, f(x))\) mediante aproximaciones funcionales iterativas.

Pseudorresiduo en iteración \(t\):

\[ r_i^{(t)} = -\frac{\partial L(y_i, f^{(t-1)}(x_i))}{\partial f^{(t-1)}(x_i)} \]

Se entrena un árbol débil \(h^{(t)}\) para predecir \(r_i^{(t)}\):

\[ f^{(t)}(x) = f^{(t-1)}(x) + \eta h^{(t)}(x) \]

donde \(\eta \in (0, 1]\) es la tasa de aprendizaje.


PARTE III: ENTROPÍA DE SHANNON E INFORMACIÓN MUTUA

III.1 Fundamentos de la Teoría de la Información

3.1.1 Entropía de Shannon

Definición

La entropía de una variable aleatoria discreta \(X\) con distribución de probabilidad \(P(X)\) es:

\[ H(X) = -\sum_{x \in \mathcal{X}} P(x) \log_2 P(x) = \mathbb{E}[-\log_2 P(X)] \]

donde se define \(0 \log_2 0 = 0\) por continuidad.

Interpretación

  • \(H(X)\) mide la incertidumbre promedio sobre el valor de \(X\)
  • Unidades: bits (si se utiliza \(\log_2\)), nats (si se utiliza \(\ln\))
  • \(0 \leq H(X) \leq \log_2 K\) para \(K\) estados posibles

Propiedades Fundamentales

  1. No negatividad: \(H(X) \geq 0\)

  2. Máxima entropía: \(H(X) = \log_2 K\) cuando \(P(x) = \frac{1}{K}\) (uniforme)

  3. Entropía nula: \(H(X) = 0\) si \(P(x_i) = 1\) para algún \(x_i\)

  4. Simetría: \(H(X, Y) = H(Y, X)\)

3.1.2 Entropía Conjunta

Para dos variables aleatorias \(X\) e \(Y\):

\[ H(X, Y) = -\sum_{x \in \mathcal{X}} \sum_{y \in \mathcal{Y}} P(x, y) \log_2 P(x, y) \]

Generalización Multivariada

\[ H(X_1, X_2, \ldots, X_n) = -\sum_{x_1 \in \mathcal{X}_1} \cdots \sum_{x_n \in \mathcal{X}_n} P(x_1, \ldots, x_n) \log_2 P(x_1, \ldots, x_n) \]

3.1.3 Entropía Condicional

La entropía de \(Y\) dado que se conoce \(X\):

\[ H(Y|X) = \sum_{x \in \mathcal{X}} P(x) H(Y|X=x) = -\sum_{x, y} P(x, y) \log_2 P(y|x) \]

Interpretación: Promedio ponderado de la incertidumbre residual sobre \(Y\) tras conocer \(X\).

Propiedad de Reducción

\[ H(Y|X) \leq H(Y) \]

con igualdad si y solo si \(X\) e \(Y\) son independientes.

3.1.4 Regla de la Cadena para la Entropía

\[ H(X, Y) = H(X) + H(Y|X) = H(Y) + H(X|Y) \]

Generalización

\[ H(X_1, X_2, \ldots, X_n) = H(X_1) + H(X_2|X_1) + H(X_3|X_1, X_2) + \cdots + H(X_n|X_1, \ldots, X_{n-1}) \]

3.1.5 Entropía Diferencial (Variables Continuas)

Para una variable continua \(X\) con densidad de probabilidad \(f(x)\):

\[ h(X) = -\int_{\mathcal{X}} f(x) \log_2 f(x) \, dx \]

Diferencias con el caso discreto

  • No está acotada superiormente
  • Puede ser negativa
  • No es invariante bajo cambios de variables

III.2 Información Mutua

3.2.1 Definición Formal

La información mutua entre \(X\) e \(Y\) es:

\[ I(X; Y) = \sum_{x, y} P(x, y) \log_2 \frac{P(x, y)}{P(x)P(y)} \]

Definiciones Equivalentes

  1. En términos de entropías: \[ I(X; Y) = H(X) - H(X|Y) = H(Y) - H(Y|X) \]

  2. Divergencia de Kullback-Leibler: \[ I(X; Y) = D_{KL}(P(X, Y) \| P(X) \cdot P(Y)) \]

  3. Covarianza de log-probabilidades: \[ I(X; Y) = \mathbb{E}[\log_2 P(X|Y)] - \mathbb{E}[\log_2 P(X)] \]

3.2.2 Interpretación

  • \(I(X; Y)\) mide cuánta información \(Y\) proporciona sobre \(X\)
  • Unidades: bits
  • \(I(X; Y) = 0\) si \(X\) e \(Y\) son independientes
  • \(I(X; Y) = H(X)\) si \(Y\) determina completamente \(X\)

3.2.3 Simetrización

\[ I(X; Y) = I(Y; X) \]

3.2.4 Relación con Entropía Conjunta

\[ I(X; Y) = H(X) + H(Y) - H(X, Y) \]

Esta relación muestra que la información mutua es la “sobreposición” entre los espacios de incertidumbre de \(X\) e \(Y\).

III.3 Información Mutua Condicional

3.3.1 Definición

La información mutua entre \(X\) e \(Y\) condicionada a \(Z\):

\[ I(X; Y|Z) = \sum_{x, y, z} P(x, y, z) \log_2 \frac{P(x, y|z)}{P(x|z)P(y|z)} \]

Expresión en Términos de Entropías

\[ I(X; Y|Z) = H(X|Z) - H(X|Y, Z) = H(Y|Z) - H(Y|X, Z) \]

3.3.2 Regla de la Cadena para Información Mutua

\[ I(X_1, X_2, \ldots, X_n; Y) = \sum_{i=1}^{n} I(X_i; Y | X_1, \ldots, X_{i-1}) \]

Esta regla es crucial para entender dependencias de orden superior.

3.3.3 Propiedades

  1. No negatividad: \(I(X; Y|Z) \geq 0\)

  2. Independencia condicional: \(I(X; Y|Z) = 0\) si \(X \perp Y | Z\)

  3. Descomposición: \[ I(X; Y, Z) = I(X; Y) + I(X; Z|Y) \]

III.4 Divergencia de Kullback-Leibler

3.4.1 Definición

La divergencia KL (entropía relativa) de la distribución \(Q\) respecto a \(P\):

\[ D_{KL}(P \| Q) = \sum_{x} P(x) \log_2 \frac{P(x)}{Q(x)} \]

Para distribuciones continuas:

\[ D_{KL}(p \| q) = \int p(x) \log_2 \frac{p(x)}{q(x)} \, dx \]

3.4.2 Propiedades

  1. No negatividad: \(D_{KL}(P \| Q) \geq 0\) (Desigualdad de Gibbs)

  2. Semimétricas:

    • \(D_{KL}(P \| Q) = 0 \iff P = Q\)
    • No simetría: \(D_{KL}(P \| Q) \neq D_{KL}(Q \| P)\)
    • No satisface desigualdad triangular
  3. Interpretación probabilística: \[ D_{KL}(P \| Q) \approx \text{log-verosimilitud esperado al usar } Q \text{ en lugar de } P \]

3.4.3 Divergencia Simetrizada: Distancia Hellinger

\[ H(P, Q) = \frac{1}{2} \left[ D_{KL}(P \| Q) + D_{KL}(Q \| P) \right] \]

O más comúnmente:

\[ H(P, Q) = \sqrt{\frac{1}{2} \left[ D_{KL}(P \| Q) + D_{KL}(Q \| P) \right]} \]

3.4.4 Conexión con Información Mutua

\[ I(X; Y) = D_{KL}(P(X, Y) \| P(X) P(Y)) \]


PARTE IV: SELECCIÓN DE CARACTERÍSTICAS MEDIANTE TEORÍA DE LA INFORMACIÓN

IV.1 Criterios de Selección Univariados

4.1.1 Ganancia de Información (Information Gain)

Para atributo discreto \(X\) y clase \(Y\)

\[ IG(Y; X) = H(Y) - H(Y|X) = \sum_{x} P(x) H(Y|X=x) \]

Algoritmo Greedy (Forward Selection)

  1. Calcular \(IG(Y; X_i)\) para cada atributo \(X_i\)
  2. Seleccionar el atributo con máxima ganancia
  3. Repetir hasta alcanzar número deseado de características o criterio de parada

Problema: Favorece atributos con muchos valores discretos.

4.1.2 Ganancia de Información Normalizada (Gain Ratio)

\[ \text{GainRatio}(Y; X) = \frac{IG(Y; X)}{H(X)} \]

donde \(H(X)\) es la entropía intrínseca del atributo.

Ventaja: Penaliza atributos con excesiva fragmentación.

4.1.3 Información Mutua Normalizada

\[ I_{\text{norm}}(X; Y) = \frac{I(X; Y)}{\min(H(X), H(Y))} \]

Rango: \([0, 1]\).

IV.2 Selección Multivariada con Información Mutua Condicional

4.2.1 Algoritmo MIFS (Mutual Information Feature Selection)

Marco Greedy

  1. Inicializar conjunto de características seleccionadas: \(S = \emptyset\)

  2. Para \(t = 1, \ldots, k\):

    • Para cada característica \(X_j \notin S\): \[ \text{Score}_j = I(X_j; Y) - \beta \sum_{X_i \in S} I(X_j; X_i) \]
    • Seleccionar: \(X_* = \arg\max_{X_j} \text{Score}_j\)
    • Actualizar: \(S \leftarrow S \cup \{X_*\}\)

donde \(\beta \in [0.5, 1.0]\) regula el balance entre relevancia e independencia.

Justificación Teórica

  • Primer término: Maximiza dependencia con la clase
  • Segundo término: Minimiza redundancia con características ya seleccionadas

4.2.2 Algoritmo CIFE (Conditional Information Feature Extraction)

Definición del Score

\[ \text{Score}_j = I(X_j; Y | S) - \beta \sum_{X_i \in S} I(X_j; X_i | Y) \]

donde \(I(X_j; Y | S) = H(Y|S) - H(Y|S \cup \{X_j\})\).

Ventaja: Considera dependencias condicionales a la clase.

4.2.3 Criterio de Orden Superior: Máxima Información Condicional

\[ \text{Score}_j = I(X_j; Y | X_1, \ldots, X_{j-1}) \]

A cada paso se selecciona la característica que maximiza la información después de conocer el resto.

Complejidad: Orden exponencial en el número de características seleccionadas previas.

IV.3 Redundancia y Sinergía en Información Multivariada

4.3.1 Descomposición de Información Parcial (PID)

Para tres variables \(X_1, X_2, Y\), la información mutua conjunta se descompone:

\[ I(X_1, X_2; Y) = U_1 + U_2 + R + S \]

donde:

  • \(U_1 = I(X_1; Y | X_2)\): Información única de \(X_1\)
  • \(U_2 = I(X_2; Y | X_1)\): Información única de \(X_2\)
  • \(R = \min(I(X_1; Y), I(X_2; Y))\): Información redundante (aproximación)
  • \(S = I(X_1, X_2; Y) - I(X_1; Y) - I(X_2; Y) + R\): Información sinérgica

4.3.2 Redundancia: Definición Formal

Información disponible en múltiples fuentes de forma duplicada:

\[ \text{Redundancia} = \min_i I(X_i; Y) \]

O más precisamente (Williams-Beer):

\[ I^{\cap}(X_1, X_2; Y) = \max_{x_1, x_2} \min(I(X_1; Y | X_2 = x_2), I(X_2; Y | X_1 = x_1)) \]

4.3.3 Sinergía: Definición Formal

Información que emerge solo de la combinación conjunta de variables:

\[ I_{\text{syn}}(X_1, X_2; Y) = I(X_1, X_2; Y) - I(X_1; Y) - I(X_2; Y) + I^{\cap}(X_1, X_2; Y) \]

Una característica presentasinergía cuando:

\[ I(X_1, X_2; Y) > I(X_1; Y) + I(X_2; Y) \]

4.3.4 O-Información (Medida de Equilibrio Redundancia-Sinergía)

\[ \Omega(X_1, \ldots, X_n; Y) = TC(X_1, \ldots, X_n) - DTC(X_1, \ldots, X_n) \]

donde:

  • Correlación Total: \(TC = I(X_1, \ldots, X_n)\) mide dependencias de orden superior
  • Correlación Dual Total: \(DTC = \sum_{i=1}^{n} H(X_i|X_{\neg i})\)

Interpretación:

  • \(\Omega > 0\): Sistema dominado por redundancia
  • \(\Omega < 0\): Sistema dominado por sinergía
  • \(\Omega = 0\): Equilibrio

IV.4 Aplicaciones a Problemas Multiclase

4.4.1 Entropía Multiclase Ponderada

Para \(K\) clases con distribuciones potencialmente desbalanceadas:

\[ H_w(Y) = -\sum_{k=1}^{K} \frac{n_k}{n} \log_2\left(\frac{n_k}{n}\right) \]

donde \(n_k\) es el número de muestras de la clase \(k\).

4.4.2 Información Mutua Promediada

Macro-promedio (todas las clases tienen igual peso):

\[ I_{\text{macro}}(X; Y) = \frac{1}{K} \sum_{k=1}^{K} I(X; Y=k) \]

Micro-promedio (ponderada por tamaño de clase):

\[ I_{\text{micro}}(X; Y) = \sum_{k=1}^{K} \frac{n_k}{n} I(X; Y=k) \]

4.4.3 Algoritmo Multiclase con Información Condicional

Para seleccionar \(m\) características de \(p\):

  1. Inicializar \(S = \emptyset\), \(\text{scores} = [0, \ldots, 0]\)

  2. Para \(t = 1, \ldots, m\):

    • Para cada \(X_j \notin S\): \[ \text{Score}_j = \sum_{k=1}^{K} \frac{n_k}{n} I(X_j; Y=k | S) \]
    • Seleccionar \(X_* = \arg\max_{X_j} \text{Score}_j\)
    • \(S \leftarrow S \cup \{X_*\}\)
  3. Retornar \(S\)

4.4.4 Tratamiento de Desbalance de Clases

Ponderación por Frecuencia Inversa

\[ w_k = \frac{1}{\sqrt{p_k}} \]

donde \(p_k = \frac{n_k}{n}\).

Término de Corrección de Entropía

\[ H_{\text{corr}}(Y) = H(Y) + \lambda \sum_{k: n_k < n/K} (n/K - n_k) \]


PARTE V: ANÁLISIS DE DEPENDENCIAS VARIABLES: PROBLEMAS COMPLEJOS

V.1 Estructura de Dependencias de Orden Superior

5.1.1 Grafo de Dependencias de Información

Nodos: Variables \(X_1, \ldots, X_p, Y\)

Aristas Ponderadas: \(I(X_i; X_j | Y)\) o \(I(X_i; Y | X_j)\)

Algoritmo de Detección:

  1. Calcular información mutua condicional para todos los pares
  2. Filtrar aristas con \(I < \theta\) (threshold)
  3. Usar algoritmo de clustering para identificar submódulos

5.1.2 Matriz de Información Mutua Condicional

Sea \(M_{ij} = I(X_i; X_j | Y)\).

Propiedades:

  • Simétrica: \(M_{ij} = M_{ji}\)
  • Diagonal: \(M_{ii} = H(X_i|Y)\)
  • Valores propios permiten análisis de componentes principales de dependencia

5.1.3 Análisis Espectral de Dependencias

Descomposición de autovalores:

\[ M = U \Lambda U^T \]

Donde \(\Lambda = \text{diag}(\lambda_1, \ldots, \lambda_p)\) con \(\lambda_1 \geq \lambda_2 \geq \cdots\)

Varianza de Información Explicada

\[ \text{VIE}_k = \frac{\sum_{i=1}^{k} \lambda_i}{\sum_{i=1}^{p} \lambda_i} \]

Se retienen componentes hasta \(\text{VIE}_k > 0.95\).

V.2 Métodos Avanzados: Máxima Entropía

5.2.1 Principio de Máxima Entropía

Dadas restricciones sobre los momentos de una distribución:

\[ \mathbb{E}[f_i(X)] = a_i \quad i = 1, \ldots, m \]

La distribución que mejor representa el conocimiento con mínima asunción adicional es:

\[ P^*(x) = \frac{1}{Z(\lambda)} \exp\left(-\sum_{i=1}^{m} \lambda_i f_i(x)\right) \]

donde \(Z(\lambda) = \sum_x \exp(-\sum_i \lambda_i f_i(x))\) es la función de partición.

5.2.2 Modelo de Máxima Entropía para Clasificación

Distribución Condicional

\[ P(Y=k|X=x) = \frac{1}{Z(x, \lambda)} \exp\left(\sum_{j=1}^{m} \lambda_{kj} f_j(x)\right) \]

donde \(f_j(x)\) son características.

Estimación de Parámetros

\[ \lambda_{kj} = \arg\min_{\lambda} \left[ -\sum_i \log P(y_i|x_i; \lambda) + \frac{\alpha}{2} \|\lambda\|^2 \right] \]

(regularización L2).

5.2.3 Equivalencia con Regresión Logística

Para características binarias y modelo de máxima entropía:

\[ P(Y|X) = \text{Softmax}(\lambda \cdot X) \]

equivale a regresión logística multinomial.

V.3 Estimación de Información Mutua

5.3.1 Problema de Estimación

La estimación directa de \(I(X; Y)\) desde datos finitos es problemática:

\[ \hat{I}(X; Y) = \sum_{x, y} \hat{P}(x, y) \log_2 \frac{\hat{P}(x, y)}{\hat{P}(x) \hat{P}(y)} \]

Sesgos

  • Sesgo positivo cuando espacios son discretos
  • Sesgo negativo cuando hay datos escasos

5.3.2 Estimador de Bias Mínimo: Miller-Madow

\[ \hat{I}_{\text{MM}} = \hat{I} - \frac{(K_x K_y - K_x - K_y + 1)}{2n \ln 2} \]

donde \(K_x, K_y\) son el número de símbolos en \(X, Y\).

5.3.3 Métodos Basados en k-NN

Estimador de Kraskov-Stögbauer-Grassberger (KSG)

Basado en distancias a k-ésimo vecino:

\[ \hat{I}(X; Y) \approx \psi(k) + \psi(n) - \langle \psi(n_x) + \psi(n_y) \rangle \]

donde \(\psi\) es la función digamma y \(n_x, n_y\) son los conteos en direcciones marginales.

Ventajas

  • Aplicable a variables continuas
  • Menos sesgado para dimensiones altas
  • O(n log n) complejidad

V.4 Discretización de Variables Continuas

5.4.1 Discretización Óptima por Entropía

Se busca el número de bins \(k\) que minimiza:

\[ H(X_{\text{disc}}) + \lambda \cdot k \]

donde el término de penalización evita sobrefragmentación.

5.4.2 Método de Discretización Mínima Descripción (MDL)

\[ \text{MDL}(\text{partition}) = \sum_i n_i H(Y|X \in \text{bin}_i) + \text{costo de codificación} \]

5.4.3 Implicaciones para Selección de Características

Discretización afecta:

  • Estimaciones de \(I(X; Y)\)
  • Complejidad computacional
  • Sesgo-varianza en estimación

PARTE VI: PROBLEMAS APLICADOS CON MÚLTIPLES VARIABLES

VI.1 Caso de Estudio 1: Clasificación de Iris Multivariada

6.1.1 Descripción del Dataset

  • Muestras: 150 flores iris
  • Clases: 3 (setosa, versicolor, virginica)
  • Características: 4 (largo/ancho de sépalo, largo/ancho de pétalo)
  • Objetivo: Clasificar especie

6.1.2 Análisis de Entropía Univariado

Calcular para cada característica \(X_i\):

\[ I(X_i; Y) \quad \text{y} \quad H(X_i) \]

Usando discretización en 10 bins.

6.1.3 Análisis Multivariado

Información Mutua Conjunta

\[ I(X_1, X_2, X_3, X_4; Y) \]

Comparar con suma univariada para detectar sinergía:

\[ S = I(X_1, X_2, X_3, X_4; Y) - \sum_{i} I(X_i; Y) \]

Análisis de Redundancia por Pares

Para cada par \((X_i, X_j)\):

\[ R_{ij} = I(X_i; X_j) \]

Construir matriz de redundancia \(4 \times 4\).

6.1.4 Selección Óptima de Características

Usar algoritmo MIFS con \(\beta = 0.7\):

  1. Iteración 1: Seleccionar \(X_* = \arg\max_i I(X_i; Y)\)

  2. Iteración 2: \[ \text{Score}_j = I(X_j; Y) - 0.7 \cdot I(X_j; X_*) \] Seleccionar el máximo

  3. Continuar hasta 3 características

6.1.5 Evaluación de Clasificadores

Entrenar en \(\mathcal{D}_{\text{train}}\) (100 muestras):

  • Regresión Logística Multinomial: Calcular \(\hat{P}(Y=k|X)\)
  • SVM con kernel RBF: Optimizar \(\gamma\)
  • Random Forest: 100 árboles, \(m = \sqrt{4} = 2\)
  • KNN: Validación cruzada para \(k \in \{1, 3, 5, 7\}\)

Métricas en \(\mathcal{D}_{\text{test}}\) (50 muestras):

  • Precisión macro-promedio
  • Exhaustividad macro-promedio
  • F1 ponderada

VI.2 Caso de Estudio 2: Diagnóstico Médico Multiclase

6.2.1 Motivación

Dataset médico con:

  • Variables independientes: \(p = 30\) (medidas clínicas, análisis)
  • Variable dependiente: \(K = 5\) (diagnósticos)
  • Desbalance de clases: \(n_k \in [50, 300]\)

6.2.2 Selección Adaptada a Desbalance

Usar información mutua ponderada:

\[ I_w(X_i; Y) = \sum_{k=1}^{5} w_k \cdot I(X_i; Y=k) \]

donde \(w_k = \frac{1}{\sqrt{n_k}}\) normalizado.

6.2.3 Detección de Características Sinérgicas

Triplas \((X_i, X_j, X_k)\) con máxima sinergía:

\[ S_{ijk} = I(X_i, X_j, X_k; Y) - I(X_i; Y) - I(X_j; Y) - I(X_k; Y) + \text{correcciones} \]

Retener triplas con \(S_{ijk} > 0.5\) bits.

6.2.4 Construcción de Meta-características

Combinar variables sinérgicas:

\[ Z = \text{PCA}([X_i, X_j, X_k]) \quad \text{(primera componente)} \]

O simplemente concatenar: \(Z = (X_i, X_j, X_k)\).

Verificar que \(I(Z; Y) > \sum I(X_*; Y)\).

6.2.5 Comparación de Métodos de Ensamble

Configuración 1: Voting Ensemble

\[ \hat{Y} = \text{mode}\{f_{\text{LR}}(X), f_{\text{SVM}}(X), f_{\text{RF}}(X), f_{\text{KNN}}(X)\} \]

Configuración 2: Soft Voting

\[ \hat{p}_k = \frac{1}{4} \sum_{m=1}^{4} P_m(Y=k|X) \]

Configuración 3: Stacking

Entrenar meta-aprendiz sobre predicciones de base:

\[ f_{\text{meta}}([f_1(X), f_2(X), f_3(X), f_4(X)]) \rightarrow \hat{Y} \]

VI.3 Caso de Estudio 3: Datos de Alta Dimensión

6.3.1 Características del Problema

  • \(p = 1000\) (genes en bioinformática o palabras en NLP)
  • \(n = 200\) (muestras)
  • \(K = 3\) (clases)

6.3.2 Desafíos

  • Maldición de la dimensionalidad: \(p \gg n\)
  • Estimación sesgada: \(\hat{I}(X_i; Y)\) sobreestimado
  • Complejidad computacional: \(O(p^2)\) o peor para métodos multivariados

6.3.3 Estrategia de Selección por Fases

Fase 1: Filtrado Univariado

Retener top-100 características por \(I(X_i; Y)\).

Fase 2: Refinamiento Multivariado

Sobre las 100 características, aplicar MIFS con búsqueda greedy.

Fase 3: Validación Cruzada

Entrenar clasificadores en 30-50 características seleccionadas.

6.3.4 Estimación de Información Mutua en Alta Dimensión

Usar estimador KSG en lugar de histogramas:

Para cada par (X_i, Y):
  1. Calcular k-NN en espacio (X_i, Y) combinado
  2. Contar vecinos en direcciones marginales
  3. Aplicar fórmula KSG

Complejidad: \(O(n p \log n)\).

6.3.5 Regularización en Aprendizaje

Para SVM: Usar parámetro \(C\) pequeño o \(L_2\):

\[ \min_w \frac{1}{2} \|w\|^2 + C \sum_i \max(0, 1 - y_i w^T x_i) \]

Para Regresión Logística: Penalización Ridge:

\[ \min_\beta \left[ -\sum_i \log P(y_i|x_i; \beta) + \frac{\lambda}{2} \|\beta\|^2 \right] \]

Para Random Forest: Limitar profundidad y requerir muestras mínimas por hoja.


PARTE VII: IMPLEMENTACIÓN Y ALGORITMOS

VII.1 Pseudocódigos de Algoritmos Clave

7.1.1 Cálculo de Entropía

FUNCIÓN Entropía(X, n_bins=10)
  // Discretizar X si es continua
  X_disc ← Discretizar(X, n_bins)
  
  // Calcular distribución de probabilidad
  PARA cada valor v en X_disc:
    p[v] ← Contar(X_disc == v) / len(X)
  FIN PARA
  
  // Aplicar fórmula
  H ← 0
  PARA cada p_v en p:
    SI p_v > 0:
      H ← H - p_v * log2(p_v)
    FIN SI
  FIN PARA
  
  RETORNAR H
FUNCIÓN FIN

7.1.2 Cálculo de Información Mutua

FUNCIÓN InformaciónMutua(X, Y, n_bins=10)
  // Discretizar si es necesario
  X_disc ← Discretizar(X, n_bins)
  Y_disc ← Discretizar(Y, n_bins)
  
  // Entropías marginales
  H_X ← Entropía(X_disc)
  H_Y ← Entropía(Y_disc)
  
  // Entropía conjunta
  H_XY ← Entropía_Conjunta(X_disc, Y_disc)
  
  // Información Mutua
  I_XY ← H_X + H_Y - H_XY
  
  RETORNAR I_XY
FUNCIÓN FIN

7.1.3 Selección de Características MIFS

FUNCIÓN SeleccionMIFS(X, Y, k_features, beta=0.7)
  // X: matriz n×p de características
  // Y: vector n de clases
  // k_features: número de características a seleccionar
  
  S ← Conjunto vacío  // características seleccionadas
  scores ← [0, 0, ..., 0]  // para cada característica
  
  PARA t = 1 HASTA k_features:
    PARA cada característica j no en S:
      I_jY ← InformaciónMutua(X[:, j], Y)
      
      redundancia ← 0
      PARA cada característica i en S:
        I_ji ← InformaciónMutua(X[:, j], X[:, i])
        redundancia ← redundancia + I_ji
      FIN PARA
      
      scores[j] ← I_jY - beta * redundancia
    FIN PARA
    
    j_star ← arg max_j scores[j]
    S ← S ∪ {j_star}
  FIN PARA
  
  RETORNAR S
FUNCIÓN FIN

7.1.4 Árbol de Decisión con Ganancia de Información

FUNCIÓN ConstruirArbol(X, Y, profundidad_max)
  
  // Caso base: todas muestras de la misma clase
  SI TodasDelaMismaClase(Y):
    RETORNAR Hoja(clase_mayoritaria)
  FIN SI
  
  // Caso base: profundidad máxima alcanzada
  SI profundidad == profundidad_max:
    RETORNAR Hoja(clase_mayoritaria)
  FIN SI
  
  // Encontrar mejor división
  mejor_ganancia ← 0
  mejor_atributo ← -1
  mejor_umbral ← 0
  
  PARA cada atributo j:
    SI X[:, j] es continuo:
      PARA cada umbral t en valores ordenados de X[:, j]:
        izq ← X[:, j] <= t
        der ← X[:, j] > t
        
        ganancia ← IG(Y, izq, der)
        
        SI ganancia > mejor_ganancia:
          mejor_ganancia ← ganancia
          mejor_atributo ← j
          mejor_umbral ← t
        FIN SI
      FIN PARA
    SINO (atributo discreto):
      PARA cada valor v de X[:, j]:
        subconjunto ← X[:, j] == v
        ganancia ← IG(Y, subconjunto)
        
        SI ganancia > mejor_ganancia:
          mejor_ganancia ← ganancia
          mejor_atributo ← j
          mejor_valor ← v
        FIN SI
      FIN PARA
    FIN SI
  FIN PARA
  
  // Crear nodos hijos
  SI mejor_atributo == -1:
    RETORNAR Hoja(clase_mayoritaria)
  FIN SI
  
  izq_subset ← Filtrar por (mejor_atributo, mejor_umbral, <=)
  der_subset ← Filtrar por (mejor_atributo, mejor_umbral, >)
  
  nodo ← NodoInterno(mejor_atributo, mejor_umbral)
  nodo.izq ← ConstruirArbol(izq_subset, Y_izq, profundidad + 1)
  nodo.der ← ConstruirArbol(der_subset, Y_der, profundidad + 1)
  
  RETORNAR nodo
FUNCIÓN FIN

7.1.5 Random Forest

FUNCIÓN RandomForest(X, Y, n_trees=100, max_features=sqrt(p))
  
  forest ← Lista vacía
  
  PARA t = 1 HASTA n_trees:
    // Bootstrap sampling
    indices ← SampleConReemplazo(1:n, n)
    X_boot ← X[indices, :]
    Y_boot ← Y[indices]
    
    // Construcción del árbol con características aleatorias
    arbol ← ConstruirArbolConFeaturesAleatorias(
      X_boot, Y_boot, 
      max_features, 
      profundidad_max=30
    )
    
    forest.Añadir(arbol)
  FIN PARA
  
  RETORNAR forest
FUNCIÓN FIN

FUNCIÓN Predicción_RF(forest, x_nuevo)
  predicciones ← []
  
  PARA cada árbol en forest:
    pred ← ArbolPredict(árbol, x_nuevo)
    predicciones.Añadir(pred)
  FIN PARA
  
  RETORNAR Mode(predicciones)  // clase más frecuente
FUNCIÓN FIN

VII.2 Consideraciones Computacionales

7.2.1 Complejidad Temporal

Algoritmo Entrenamiento Predicción
Regresión Logística \(O(n p^2 t)\) \(O(p)\)
SVM (kernel RBF) \(O(n^2 p + n^3)\) \(O(n_{\text{sv}} p)\)
Árbol de Decisión \(O(np \log n)\) \(O(\log n)\)
Random Forest \(O(B \cdot np \log n)\) \(O(B \log n)\)
KNN \(O(n p)\) (construcción índice) \(O(kp \log n)\)
Naive Bayes \(O(np)\) \(O(kp)\)

donde \(n\) = muestras, \(p\) = características, \(B\) = árboles, \(t\) = iteraciones, \(k\) = vecinos.

7.2.2 Complejidad Espacial

Algoritmo Requerimiento
Regresión Logística \(O(p)\)
SVM \(O(n_{\text{sv}} \cdot p)\)
Árbol \(O(n)\) (en el peor caso)
Random Forest \(O(B \cdot n)\)
KNN \(O(np)\)
Naive Bayes \(O(Kp)\) para atributos discretos

7.2.3 Optimizaciones Prácticas

Selección de Características: - Reduce \(p\) significativamente - Acelera entrenamiento: \(O(np) \rightarrow O(n m)\) si \(m \ll p\)

Normalización de Datos: - Escalar características a \([0, 1]\) o \(\mathbb{N}(0, 1)\) - Mejora convergencia en métodos de gradiente

Paralelización: - Random Forest: Entrenar árboles en paralelo - SVM: Usar libsvm con soporte multi-core - Información Mutua: Calcular para cada par en paralelo


PARTE VIII: CONCLUSIONES Y PERSPECTIVAS

VIII.1 Síntesis de Conceptos

La teoría de la información de Shannon proporciona herramientas fundamentales para clasificación:

  1. Entropía: Cuantifica incertidumbre inherente a datos
  2. Información Mutua: Mide dependencia entre variables
  3. Ganancia de Información: Guía construcción de árboles de decisión
  4. Selección de Características: Identifica variables relevantes y evita redundancia

VIII.2 Relaciones entre Algoritmos

Árboles de Decisión
    ↓ (ensemble)
Random Forest / Gradient Boosting
    ↓ (generalización probabilística)
Modelos de Máxima Entropía
    ↓ (discretización + información)
Selección de Características

VIII.3 Dirección Futuras de Investigación

  • Métodos adaptativos: Selección dinámica según complejidad del problema
  • Información de orden superior: Explorar sinergías más allá de pares
  • Robustez: Estimación de información mutua con datos incompletos o ruidosos
  • Integración multimodal: Combinar información textual, visual, numérica

REFERENCIAS FORMALES

  1. Cover, T. M., & Thomas, J. A. (2006). Elements of Information Theory (2nd ed.). Wiley-Interscience.

  2. Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning (2nd ed.). Springer.

  3. Battiti, R. (1994). “Using mutual information for selecting features in supervised neural net learning.” IEEE Transactions on Neural Networks, 5(4), 537-550.

  4. Williams, P. L., & Beer, R. D. (2010). “Nonnegative decomposition of multivariate information.” arXiv preprint arXiv:1004.2515.

  5. Shannon, C. E. (1948). “A mathematical theory of communication.” The Bell System Technical Journal, 27(3), 379-423.


Temario preparado para Curso Avanzado de Estadística y Minería de Datos | Nivel: Postgrado

Última actualización: Diciembre 2025