Curso de Matemáticas para IA · Lección 28 de 180
Subespacios para IA: poner a prueba familias de características restringidas
Aprende la prueba de subespacio, demuestra que un plano es cerrado bajo operaciones vectoriales y usa NumPy para examinar direcciones de representación de menor dimensión.
Un codificador puede producir cientos de coordenadas para cada entrada, aunque las representaciones cercanas solo varíen en unas pocas direcciones coherentes. Para razonar sobre esa restricción, no basta con una nube de puntos: necesitamos un conjunto que siga siendo válido al sumar y escalar sus direcciones.
Ese conjunto es un subespacio vectorial. Al terminar esta lección, podrás aplicar la prueba de subespacio, demostrar que un plano que pasa por el origen la supera, descartar contraejemplos tentadores e interpretar un modelo lineal de menor dimensión para los desplazamientos de representaciones aprendidas.
Resultado de aprendizaje: Comprobar las condiciones de subespacio e interpretar una región de menor dimensión.
Lección 27: Los espacios vectoriales definen representaciones válidas estableció las reglas del espacio ambiente para la suma de vectores y la multiplicación por escalares. Un subespacio conserva esas operaciones y restringe los vectores permitidos. El sitio oficial complementario de Mathematics for Machine Learning desarrolla los subespacios vectoriales en la sección 2.4.3 del PDF del libro. El escenario de representación, los cálculos, el código, la visualización y las evaluaciones que siguen son originales.
Una restricción debe mantenerse tras las operaciones
Sea el espacio vectorial ambiente y sea un conjunto candidato. Decir que es un subespacio significa que los vectores permanecen dentro de al usar la suma y la multiplicación por escalares ya definidas en . El espacio ambiente aporta las operaciones; el subconjunto debe demostrar que es cerrado respecto de ellas.
Comprobar el vector cero es rápido y concluyente. Todo subespacio debe contenerlo, porque el cierre respecto de escalares exige para cada . El cierre bajo la suma permite combinar dos direcciones admitidas. El cierre bajo escalares permite que una dirección siga admitida al estirarla, reducirla, invertirla o llevarla a cero.
La prueba compacta de combinación lineal reúne esos requisitos. Al tomar se obtiene la suma; con , la multiplicación por escalares; y con ambos coeficientes iguales a cero, el vector cero. Es la misma operación de combinación lineal presentada en la lección 17, ahora usada como prueba de pertenencia para toda una familia de vectores.
Ejemplo resuelto: un plano que pasa por el origen
Considera el conjunto
La ecuación restringe las tres coordenadas mostradas mediante una relación. Elige libremente y ; entonces . Por tanto, todo vector de tiene la forma
Dos números, y , determinan las tres coordenadas. Geométricamente, el resultado es un plano dentro del espacio tridimensional. El plano pasa por el origen porque produce $(0,0,0).
Ahora realiza cada parte de la prueba. Escribe dos elementos cualesquiera como
Su suma es
La tercera coordenada es la suma de las dos primeras: . Por tanto, . Al escalar por cualquier real se obtiene
que también satisface la ecuación que lo define. Junto con la comprobación del vector cero, esto demuestra que es un subespacio de .
Mapa del plano en el espacio
Un subespacio mantiene cada combinación lineal en el plano
El plano azul contiene el origen y todos los vectores cuya tercera coordenada es la suma de las dos primeras. Las flechas continuas permanecen en el plano; la flecha discontinua no satisface la ecuación.
| Vector | Coordenadas | Prueba de pertenencia | Resultado |
|---|---|---|---|
| u | [1, 0, 1] | 1 = 1 + 0 | Dentro de U |
| v | [0, 1, 1] | 1 = 0 + 1 | Dentro de U |
| u − v | [1, −1, 0] | 0 = 1 + (−1) | Dentro de U |
| r | [1, 0, 0] | 0 ≠ 1 + 0 | Fuera de U |
La imagen sugiere el resultado, pero el álgebra lo demuestra: un dibujo puede mostrar algunas flechas, aunque el cierre debe cumplirse para cada par de vectores y cada coeficiente real.
El diagrama responde a la pregunta geométrica: «¿Hacia dónde pueden moverse estas características?». El plano tiene menor dimensión que su espacio ambiente porque una coordenada queda determinada por las otras dos. Aun así, la demostración importa más que el dibujo en perspectiva. Unas pocas flechas que llegan al plano no establecen el cierre para los infinitos vectores posibles.
Tres conjuntos atractivos que no superan la prueba
Los subespacios son casos especiales entre los subconjuntos. La forma, la simetría y la apariencia plana no bastan.
Primero, traslada una unidad el plano del ejemplo:
Sigue siendo un plano, pero no cumple la ecuación porque . Por tanto, no es un subespacio vectorial. La multiplicación por escalares también revela el problema: si , entonces generalmente satisface , no la ecuación que define .
En segundo lugar, los vectores de longitud uno no forman un subespacio. Una representación embebida normalizada puede cumplir , mientras que tiene longitud y , longitud . El conjunto no es cerrado bajo escalares y excluye el vector cero. Por eso, las representaciones normalizadas analizadas en la lección 27 pueden servir como entradas del modelo sin formar un espacio vectorial ni un subespacio.
En tercer lugar, un conjunto de datos finito normalmente no es un subespacio. Aunque cada representación registrada cumpla , las filas almacenadas no tienen por qué incluir sus sumas, sus opuestos ni todos sus múltiplos reales. La familia definida por la restricción es un subespacio; la muestra finita usada para descubrirla o estimarla es solo un subconjunto de .
NumPy puede comprobar ejemplos, pero no sustituir la demostración
Para el plano del ejemplo, almacena las dos direcciones generadoras como filas. Cada fila de coefficients indica a NumPy cuánto combinar de cada dirección:
import numpy as np
directions = np.array([
[1.0, 0.0, 1.0],
[0.0, 1.0, 1.0],
])
coefficients = np.array([
[2.0, -1.0],
[-1.0, 3.0],
[0.5, 0.25],
])
offsets = coefficients @ directions
constraint = np.array([1.0, 1.0, -1.0])
constraint_residuals = offsets @ constraint
print(offsets)
print(constraint_residuals)
print(np.allclose(
constraint_residuals,
0.0,
rtol=0.0,
atol=1e-12,
))
La salida es
[[ 2. -1. 1. ]
[-1. 3. 2. ]
[ 0.5 0.25 0.75]]
[0. 0. 0.]
True
El primer @ forma tres combinaciones lineales. El segundo calcula para cada resultado. La documentación de NumPy matmul define la regla de dimensiones que implementa @; aquí, una matriz de coeficientes de multiplicada por una matriz de direcciones de produce tres vectores en .
El ejemplo exacto produce ceros, pero las activaciones de modelos reales usan aritmética de precisión finita. La documentación de NumPy allclose define la comparación con tolerancia y advierte que su tolerancia absoluta predeterminada puede ser inadecuada para valores mucho menores que uno. Establecer rtol=0.0 y elegir un atol explícito hace visible la prueba de cero deseada. La tolerancia debe corresponderse con la escala de activación y el error que la aplicación pueda aceptar; 1e-12 es adecuado para este ejemplo float64 construido, no es un umbral universal.
Este programa comprueba vectores elegidos frente a una restricción conocida. No demuestra que una nube arbitraria de activaciones del modelo pertenezca al plano. Esa afirmación más amplia requiere un modelo ajustado, análisis de residuos y evidencia de que la aproximación lineal elegida es adecuada para la región estudiada.
Las variedades de representación suelen ser planas solo localmente
Sea un codificador que asigna a la entrada una representación . Elige una representación ancla y examina los desplazamientos cercanos
Si esos desplazamientos se aproximan bien mediante combinaciones de unas pocas direcciones, un subespacio proporciona un modelo lineal local útil. En las coordenadas originales, la aproximación es el conjunto trasladado
La familia de desplazamientos pasa por cero. El parche de representación trasladado pasa por y, en general, no es un subespacio de . Centrar los datos es lo que separa una dirección válida de una ubicación absoluta.
Esta perspectiva es una aproximación, no afirma que todas las representaciones aprendidas estén en un único plano global. En el artículo principal de Yoshua Bengio sobre representaciones profundas, el aprendizaje de variedades se describe como la búsqueda de regiones de alta densidad y baja dimensión, y de sistemas de coordenadas para ellas. El artículo presenta PCA como un antecedente lineal del aprendizaje de variedades y explica por qué una hipótesis lineal global puede pasar por alto estructuras curvas. Localmente, un plano puede resumir las direcciones que varían cerca de un ancla; a mayor distancia, las direcciones útiles pueden girar o el error de aproximación puede crecer.
Para quienes trabajan en IA, esto establece una regla concreta de interpretación:
- un subespacio describe una familia de desplazamientos permitidos, cerrada bajo mezclas y escalados;
- un plano trasladado describe representaciones posibles cerca de un ancla; y
- una variedad de representación curva puede requerir planos locales distintos en diferentes vecindades.
La prueba de subespacio indica si el objeto lineal es internamente coherente. No indica si representa bien los datos, si captura una característica causal o si conserva la información que necesita una tarea posterior.
Los casos límite afinan la prueba
Hay dos subespacios que es fácil pasar por alto. El conjunto que solo contiene el vector cero, , cumple todas las condiciones: cero más cero es cero y cualquier escalar por cero es cero. Todo el espacio ambiente también es un subespacio de sí mismo. Se denominan subespacios triviales, aunque ambos son casos límite útiles al revisar un argumento.
El conjunto vacío no supera la prueba porque no contiene el cero. Un conjunto con un único vector no nulo, , también falla sobre los números reales: no pertenece al conjunto salvo que . En cambio, la recta completa sí la supera porque incluye todos los múltiplos reales, sus sumas y el cero.
Los subespacios proporcionan un lenguaje preciso para familias restringidas de características. Una vez que un conjunto supera la prueba, cualquier combinación lineal sigue siendo válida. La siguiente lección plantea otra pregunta sobre las direcciones usadas para describir ese conjunto: si algunas son redundantes.
Comprueba lo que has aprendido
Pregunta 1
¿Qué tres condiciones debe cumplir un subconjunto no vacío U de un espacio vectorial real para ser un subespacio?
Mostrar la solución paso a paso
Primero, comprueba que . Segundo, toma arbitrarios y demuestra que . Tercero, toma un escalar real arbitrario y un cualquiera, y demuestra que . Los vectores y el escalar deben ser arbitrarios, porque comprobar unos pocos ejemplos no demuestra el cierre de todo el conjunto.
Pregunta 2
Usa la prueba compacta para demostrar que U = {(a, b, a + b): a, b son reales} es cerrado bajo combinaciones lineales.
Mostrar la solución paso a paso
Elige y en , con y reales. Entonces
La tercera coordenada es la suma de las dos primeras. Por tanto, el resultado tiene la forma requerida y pertenece a . Como no está vacío, la prueba compacta también garantiza el vector cero.
Pregunta 3
Para u = (2, -1, 1) y v = (-1, 3, 2), calcula -u + 2v y comprueba si el resultado pertenece al plano de la lección.
Mostrar la solución paso a paso
Primero escala: y . Al sumarlos se obtiene . La ecuación de pertenencia es ; aquí, . La ecuación se cumple, así que el resultado pertenece al plano, como predice el cierre.
Pregunta 4
¿Por qué el plano trasladado W = {x in R^3: x_3 = x_1 + x_2 + 1} falla de inmediato la prueba de subespacio?
Mostrar la solución paso a paso
Comprueba el vector cero antes de hacer cálculos más largos. Al sustituirlo se obtiene , que es falso, así que . Todo subespacio vectorial debe contener el cero; por tanto, no puede ser un subespacio. La constante adicional desplaza el plano fuera del origen.
Pregunta 5
¿Forman un subespacio todos los vectores de representación de longitud unitaria? Muestra qué operación falla.
Mostrar la solución paso a paso
No. Sea un vector de longitud unitaria, de modo que . El cierre bajo escalares exigiría que y siguieran en el conjunto. Sus longitudes son 2 y 0, respectivamente, así que ninguno tiene longitud unitaria. El conjunto también excluye el vector cero. La normalización es útil, pero su familia de salidas no es un subespacio vectorial.
Pregunta 6
El código NumPy informa residuos de restricción [0, 0, 0]. ¿Qué se ha establecido y qué sigue sin demostrarse?
Mostrar la solución paso a paso
Se ha establecido que los tres desplazamientos construidos satisfacen con la tolerancia numérica elegida. También se verifican las dimensiones de las matrices y las operaciones de esos ejemplos. No se demuestra que todas las activaciones reales del modelo estén en este plano, que el plano se ajuste bien a un conjunto de datos mayor ni que las direcciones representadas importen para una tarea posterior. Esas afirmaciones empíricas requieren más evidencia.
Pregunta 7
¿Por qué restamos un ancla h_0 antes de modelar las representaciones cercanas con un subespacio U?
Mostrar la solución paso a paso
Los subespacios describen direcciones y deben pasar por cero. Las representaciones cercanas suelen agruparse alrededor de un ancla no nula . Restarla produce desplazamientos , cuyo vector cero significa «ningún movimiento desde el ancla». Podemos modelar esos desplazamientos con y luego sumar el ancla para obtener el parche local trasladado .
Pregunta 8
Clasifica cada conjunto como subespacio de R^3 o no: {0}, R^3, el conjunto vacío y {lambda u: lambda es real} para un u fijo no nulo.
Mostrar la solución paso a paso
es un subespacio porque la suma y la multiplicación por escalares nunca salen del cero. es un subespacio de sí mismo porque sus operaciones vectoriales son cerradas. El conjunto vacío no es un subespacio porque carece del cero. Por último, es un subespacio: contiene cero cuando , escalar solo cambia el coeficiente y sumar produce otro elemento del mismo conjunto.