Linear Algebra·Unidad 2

LA-02 — Vector spaces, span, basis

"Cuántas features realmente independientes tiene mi dataset" es una pregunta sobre linear independence y dimension. Feature columns redundantes (una es combinación lineal de otras) rompen modelos y desperdician cómputo. Span y basis son también la base conceptual de PCA (encontrar una mejor base para tus datos).

Why this matters for ML

"Cuántas features realmente independientes tiene mi dataset" es una pregunta sobre linear independence y dimension. Feature columns redundantes (una es combinación lineal de otras) rompen modelos y desperdician cómputo. Span y basis son también la base conceptual de PCA (encontrar una mejor base para tus datos).

Concepts covered

  • Vector space y subspace
  • Linear combination
  • Span (envolvente lineal)
  • Linear independence / dependence
  • Basis y dimension
  • Coordinates respecto a una base

Intuition first

🎬 3Blue1Brown E.o.L.A. cap. 2 ("Linear combinations, span, and basis vectors") y cap. 2.5 (linear (in)dependence). Es probablemente el capítulo más importante para la intuición de todo el pilar.

Theory & key results

Vector space: un conjunto de vectores cerrado bajo suma y scaling (si sumas dos o escalas uno, sigues dentro). Rn\mathbb{R}^n es el ejemplo estándar.

Subspace: un subconjunto que también es un vector space (contiene el 0\mathbf{0} y es cerrado). Ejemplos en R3\mathbb{R}^3: una recta o un plano que pasan por el origen.

Linear combination de v1,,vk\mathbf{v}_1,\dots,\mathbf{v}_k: c1v1++ckvkc_1\mathbf{v}_1 + \dots + c_k\mathbf{v}_k con escalares cic_i.

Span: el conjunto de todas las combinaciones lineales de un grupo de vectores. span{(1,0),(0,1)} = todo R2\mathbb{R}^2. span{(1,1)} = una recta.

Linear independence: v1,,vk\mathbf{v}_1,\dots,\mathbf{v}_k son independientes si la única forma de que c1v1++ckvk=0c_1\mathbf{v}_1+\dots+c_k\mathbf{v}_k = \mathbf{0} es con todos los ci=0c_i = 0. Si no, son dependientes (al menos uno es "redundante", combinación de los otros).

Basis: un conjunto de vectores que es (1) linealmente independiente y (2) hace span de todo el espacio. Es el "sistema de coordenadas mínimo": ni sobra ni falta un vector. La standard basis de R2\mathbb{R}^2 es {(1,0),(0,1)}{(1,0),(0,1)}.

Dimension: el número de vectores en cualquier basis (siempre el mismo). dim(Rn)=n\dim(\mathbb{R}^n) = n.

Coordinates: dado una basis BB, todo vector se escribe de forma única como combinación de la base; esos coeficientes son sus coordenadas en BB. Cambiar de base = ver los mismos datos desde otro ángulo (esto será PCA).

Worked example

¿Son v1=(1,2)\mathbf{v}_1=(1,2), v2=(2,4)\mathbf{v}_2=(2,4) independientes? Buscamos c1,c2c_1,c_2 no ambos cero con c1(1,2)+c2(2,4)=(0,0)c_1(1,2)+c_2(2,4)=(0,0). Nota que v2=2v1\mathbf{v}_2 = 2\mathbf{v}_1, así que 2v1v2=02\mathbf{v}_1 - \mathbf{v}_2 = \mathbf{0}: dependientes. Su span es solo una recta (dimension 1), no todo R2\mathbb{R}^2.

En cambio {(1,2),(3,1)}{(1,2),(3,1)}: no son múltiplos, son independientes, hacen span de R2\mathbb{R}^2 → son una basis de R2\mathbb{R}^2.

Notebook exercises (by hand)

  1. ¿(1,1,0),(0,1,1),(1,0,1)(1,1,0),(0,1,1),(1,0,-1) son independientes en R3\mathbb{R}^3? (Resuelve el sistema homogéneo.)
  2. Describe geométricamente span{(1,0,0),(0,1,0)} en R3\mathbb{R}^3.
  3. ¿Puede un conjunto de 4 vectores ser basis de R3\mathbb{R}^3? ¿Por qué?
  4. Escribe (5,7)(5,7) en coordenadas de la base {(1,1),(1,1)}{(1,1),(1,-1)}.
  5. Da una basis del plano {(x,y,z):z=0}{(x,y,z): z=0} y su dimension.
  6. Argumenta por qué feature columns linealmente dependientes son "información redundante" en un dataset.

Python lab

import numpy as np

def is_independent(vectors):
    A = np.column_stack(vectors)          # vectores como columnas
    return np.linalg.matrix_rank(A) == len(vectors)  # rank = # independientes

print(is_independent([np.array([1,2]), np.array([2,4])]))  # False
print(is_independent([np.array([1,2]), np.array([3,1])]))  # True

# coordenadas en una base: resuelve B c = x
B = np.array([[1, 1],[1, -1]], float)   # columnas = vectores base
x = np.array([5.0, 7.0])
c = np.linalg.solve(B, x)
print("coords:", c, "check:", B @ c)     # reconstruye x

El rango (matrix_rank) cuenta cuántos vectores son realmente independientes: conéctalo con el concepto, no lo uses como caja negra.

Examen final 📝

Intenta cada nivel antes de abrir las soluciones.

🟡 Medio

  1. ¿Es {(1,2),(2,4),(0,1)}{(1,2),(2,4),(0,1)} una base de R2\mathbb{R}^2? Justifica (independencia y span/tamaño).
  2. Da una base del subspace {(x,y,z)R3:x+y+z=0}{(x,y,z)\in\mathbb{R}^3: x+y+z=0} y su dimensión.

🟠 Medio-difícil

  1. Determina si (1,0,1),(0,1,1),(1,1,0)(1,0,1),(0,1,1),(1,1,0) son linealmente independientes resolviendo el sistema homogéneo a mano.
  2. Escribe (4,1)(4,-1) en coordenadas de la base B={(2,1),(1,1)}B={(2,1),(1,-1)}.

🔴 Difícil

  1. Demuestra que si {v1,,vk}{\mathbf v_1,\dots,\mathbf v_k} son linealmente independientes, entonces la representación de cualquier vector de su span como combinación lineal de ellos es única.
  2. Un dataset tiene 5 feature columns pero rank(X)=3\text{rank}(X)=3. Explica, en términos de span y dimension, qué significa geométricamente y qué problema causa al ajustar una regresión lineal (relación con LA-04/05).
✅ Soluciones
  1. No. Tres vectores en R2\mathbb{R}^2 nunca son independientes (dim = 2). Sí hacen span de R2\mathbb{R}^2, pero una base debe ser independiente y generar: sobra un vector.
  2. El plano tiene dimensión 2. Base p. ej. {(1,1,0),(1,0,1)}{(1,-1,0),(1,0,-1)} (ambos cumplen x+y+z=0x+y+z=0 y son independientes).
  3. c1(1,0,1)+c2(0,1,1)+c3(1,1,0)=0c_1(1,0,1)+c_2(0,1,1)+c_3(1,1,0)=0 da c1+c3=0, c2+c3=0, c1+c2=0c_1+c_3=0,\ c_2+c_3=0,\ c_1+c_2=0. Resolviendo: c1=c2=c3c_1=c_2=-c_3 y c1+c2=0c3=0c_1+c_2=0\Rightarrow c_3=0\Rightarrow todos 0. Independientes (forman base de R3\mathbb{R}^3).
  4. Resolver c1(2,1)+c2(1,1)=(4,1)c_1(2,1)+c_2(1,-1)=(4,-1): 2c1+c2=4, c1c2=12c_1+c_2=4,\ c_1-c_2=-1. Sumando: 3c1=3c1=1, c2=23c_1=3\Rightarrow c_1=1,\ c_2=2. Coordenadas (1,2)B(1,2)_B.
  5. Si x=aivi=bivi\mathbf x=\sum a_i\mathbf v_i=\sum b_i\mathbf v_i, entonces (aibi)vi=0\sum(a_i-b_i)\mathbf v_i=\mathbf 0. Por independencia, todos los aibi=0a_i-b_i=0, i.e. ai=bia_i=b_i. Único.
  6. Las 5 columnas viven en un subspace de dimensión 3: solo hay "3 direcciones reales de información", 2 columnas son combinaciones lineales de las otras (redundantes). XXX^\top X es singular (no invertible) ⇒ las normal equations no tienen solución única (LA-05); el modelo no puede identificar pesos únicos.