Curso de Matemáticas para IA · Lección 45 de 180
La ortogonalidad significa que no hay solapamiento lineal
Comprueba la ortogonalidad con productos escalares, interpreta un ángulo recto y una proyección cero, y evita confundir el producto interno cero con la independencia en NumPy.
Supón que una representación de IA contiene dos direcciones que deberían aportar cosas diferentes a un cálculo posterior. Si una dirección no aporta nada a lo largo de la otra, su producto interno es cero. Por ejemplo, con y ,
Ninguno de los dos vectores está vacío, pero ninguno tiene un componente en la dirección del otro según la geometría habitual del producto escalar. Esta es la idea útil detrás de la ortogonalidad: el producto interno cero significa que no hay solapamiento lineal en la geometría elegida.
Al terminar esta lección, podrás comprobar la ortogonalidad a mano y en NumPy, interpretar el cero como un ángulo recto y una proyección cero, y mantener separada la ortogonalidad de la correlación, la independencia y la idea de «ninguna información».
Objetivo de aprendizaje: Comprobar la ortogonalidad e interpretar geométricamente el producto interno cero.
Esta lección se basa en la Lección 041: Los productos internos miden la alineación, que introdujo el producto escalar como una medida de alineación. La Lección 044: Ángulos y similitud del coseno separó después la dirección de la longitud del vector. La sección 3.4 del libro oficial Mathematics for Machine Learning es la referencia matemática de esta lección. Las explicaciones, los números, el código, la visualización, la conexión con la IA y las evaluaciones son originales.
La ortogonalidad es un producto interno cero
Sean e vectores reales con el mismo número de coordenadas. La coordenada en la posición debe describir el mismo tipo de cantidad en ambos vectores. En esta lección, el producto interno es el producto escalar euclídeo estándar.
Esta es una definición algebraica. En el plano euclídeo ordinario, coincide con la imagen conocida de un ángulo recto para vectores no nulos. La fórmula del ángulo de la lección anterior hace explícita la conexión:
Si ambos vectores son distintos de cero y , el numerador es cero y el denominador es positivo. Por tanto, y . La condición de no nulidad importa: el vector cero tiene producto escalar cero con todo, pero no tiene dirección y, por tanto, no tiene un ángulo que interpretar.
Una prueba calculada a partir de coordenadas
Volvamos a y . Las dos entradas son coordenadas, no probabilidades ni grados. Sigue el cálculo en tres pasos.
La cancelación es el acontecimiento central. El producto positivo de la segunda coordenada cancela exactamente el producto negativo de la primera. En una puntuación lineal que usa como dirección, no aporta nada a lo largo de .
Un producto escalar, tres relaciones geométricas
| Primer vector | Segundo vector | Producto escalar | Ángulo | Interpretación |
|---|---|---|---|---|
| u = (3, 1) | v = (-1, 3) | 0.0 | 90.0° | producto = 0; ángulo = 90° |
| u = (3, 1) | w = (6, 2) | 20.0 | 0.0° | producto = 20; ángulo = 0° |
| u = (3, 1) | z = (2, 3) | 9.0 | 37.9° | producto = 9; ángulo ≈ 37.9° |
Perpendiculares
Misma dirección
Oblicuos
La tabla contiene todos los números. Los trazos continuos y discontinuos, las etiquetas de los vectores, el cuadrado del ángulo recto y la relación escrita aportan pistas redundantes a los diagramas más allá del color.
La visualización mantiene juntas tres ideas. El par alineado es un escalado positivo de , por lo que tiene un ángulo de y un producto escalar de . El par oblicuo tiene un producto escalar de y un coseno de
por lo que su ángulo es de aproximadamente . Así, un producto escalar cero es un límite especial entre la alineación direccional positiva y negativa; no es simplemente una puntuación positiva pequeña.
El escalado cambia el tamaño, no una relación cero
Para escalares y , la bilinealidad da
Si , los vectores escalados siguen siendo ortogonales para cualesquiera y finitos. Por ejemplo,
Las longitudes y las direcciones de las flechas pueden cambiar: un escalar negativo invierte una flecha y un escalar con mayor valor absoluto la hace más larga. Para escalares no nulos, un ángulo recto sigue siendo un ángulo recto cuando se estira o se invierte uno de los lados, o ambos. La ortogonalidad trata del cero del producto interno, no de que los vectores tengan la misma longitud.
Un residuo puede ser ortogonal sin estar vacío
La ortogonalidad resulta especialmente útil cuando un cálculo elimina una dirección lineal de un vector. Sea una dirección y sea una observación. La proyección de sobre la recta generada por es
Define lo que queda, o residuo, como
El residuo es ortogonal a porque
El último paso usa la simetría del producto escalar real. Esta es la razón geométrica por la que la proyección deja el punto más cercano de una recta: cualquier movimiento restante es perpendicular a esa recta.
El residuo no es cero: es y aún conserva una dirección y una magnitud. «No hay solapamiento lineal con » solo significa que el residuo no tiene componente en esa dirección concreta. Puede contener otra estructura, relaciones no lineales, ruido o una señal útil para un modelo posterior.
NumPy hace explícita la prueba
Para arrays unidimensionales, la documentación actual de NumPy define numpy.dot como el producto interno de vectores. numpy.linalg.norm calcula la longitud euclídea cuando se utiliza con un array unidimensional. La función siguiente hace visibles el contrato de forma y la tolerancia numérica:
import numpy as np
def is_orthogonal(x, y, *, atol=1e-12):
x = np.asarray(x, dtype=float)
y = np.asarray(y, dtype=float)
if x.ndim != 1 or y.ndim != 1 or x.shape != y.shape:
raise ValueError('x and y must be 1-D vectors with the same shape')
dot = float(np.dot(x, y))
scale = max(1.0, np.linalg.norm(x) * np.linalg.norm(y))
return bool(np.isclose(dot, 0.0, atol=atol * scale, rtol=0.0))
u = np.array([3.0, 1.0])
v = np.array([-1.0, 3.0])
residual = np.array([-0.4, 1.2])
print(np.dot(u, v))
print(is_orthogonal(u, v))
print(np.dot(u, residual))
print(is_orthogonal(u, residual))
La salida es
0.0
True
-2.220446049250313e-16
True
La tolerancia no sustituye a la definición. Reconoce que la aritmética de coma flotante puede dejar un residuo con signo diminuto donde la aritmética exacta daría cero; una plataforma puede mostrar un valor ligeramente distinto. La documentación de isclose de NumPy también advierte que su tolerancia absoluta predeterminada puede ser inadecuada cerca de cero, por lo que una canalización real debería elegir un umbral adaptado a la escala de sus datos. La comprobación explícita de forma evita confundir una difusión accidental o una operación matricial no intencionada con una prueba vectorial por parejas.
Ortogonalidad, correlación e independencia plantean preguntas distintas
Un producto interno compara dos vectores fijos en un espacio de coordenadas elegido. Un coeficiente de correlación describe cómo se mueven conjuntamente dos variables aleatorias o dos columnas observadas después de centrar y escalar. La conexión es precisa para un conjunto de datos finito, pero solo después de declarar la convención de los datos.
Supón que e son dos columnas de características centradas con observaciones. Usando la normalización poblacional para esta muestra finita,
Si ambas columnas tienen varianza distinta de cero, su producto escalar centrado es cero exactamente cuando su covarianza de Pearson empírica, y por tanto su correlación de Pearson, es cero. La convención muestral con denominador tiene el mismo numerador cero. Eso dice «no hay co-movimiento lineal medido en esta muestra». No dice «las características no están relacionadas de ninguna forma posible».
Aquí tienes un contraejemplo pequeño. Sea
Ambas medias son cero, y
Las columnas centradas son ortogonales y tienen correlación empírica cero. Sin embargo, la segunda columna está determinada por la primera mediante
coordenada a coordenada. La relación es no lineal, no inexistente. Por eso, una canalización de IA que elimine o gire direcciones correlacionadas puede reducir la redundancia lineal y, aun así, dejar interacciones no lineales para las capas posteriores. La documentación actual de selección de características de scikit-learn marca el mismo límite en términos de implementación: los métodos de prueba F estiman la dependencia lineal, mientras que los métodos de información mutua pueden detectar una dependencia estadística más amplia y necesitan más datos para estimarla con precisión.
«Independiente» es una afirmación probabilística sobre una distribución conjunta. Un producto interno cero entre dos vectores de representación —o incluso una correlación cero medida en un solo conjunto de datos— no basta para afirmar independencia. Nombra siempre el espacio, la convención de centrado, la muestra y la relación que realmente has comprobado.
En los sistemas de IA, esta distinción da a la ortogonalidad un papel modesto pero útil. Si las direcciones de características centradas son ortogonales, una salida lineal no puede obtener una puntuación distinta de cero de una dirección proyectando la otra sobre ella. Si un componente residual es ortogonal a una dirección ajustada, ese componente queda separado limpiamente de esa contribución lineal concreta. Ninguna de las dos afirmaciones garantiza que una capa no lineal, una métrica diferente o un conjunto de datos diferente conserve la misma separación.
El siguiente paso del currículo es la Lección 046: Las bases ortonormales simplifican las coordenadas (contenido en inglés). Añade longitud unitaria a las direcciones ortogonales, de modo que los productos internos puedan leerse directamente como coordenadas. El centro del curso Math for AI (contenido en inglés) mantiene visible esa próxima lección y su secuencia de prerrequisitos mientras se prepara el conjunto de traducciones posterior de la fuente inglesa.
Comprueba tu comprensión
Question 1
Para u = (3, 1) y v = (−1, 3), calcula el producto escalar, ambas normas euclídeas y el ángulo.
Show the step-by-step solution
Primero multiplica las coordenadas correspondientes: . Después, y . Ambos vectores son no nulos, así que . Por tanto, , que es la interpretación de ángulo recto de este producto interno cero.
Question 2
Comprueba si a = (2, −1) y b = (1, 2) son ortogonales y explica por qué el resultado no se debe a que uno de los vectores sea cero.
Show the step-by-step solution
Los productos de las coordenadas son y . Su suma es , así que los vectores superan la prueba de ortogonalidad. Sus normas son y , ambas estrictamente positivas. Por tanto, son dos vectores no nulos perpendiculares; el cero procede de la cancelación entre coordenadas.
Question 3
Si x ⊥ y, ¿qué ocurre con el producto interno al sustituir x por −4x e y por 7y?
Show the step-by-step solution
La bilinealidad da . Como , el producto original es , por lo que el nuevo producto es . Los vectores pueden hacerse más largos y una flecha puede invertirse, pero la relación cero, y por tanto la perpendicularidad bajo el mismo producto escalar, permanece.
Question 4
Usando u = (3, 1), clasifica w = (6, 2) y z = (2, 3) según el signo de sus productos escalares con u.
Show the step-by-step solution
Para , y , así que los vectores están alineados con un ángulo de . Para , ; el signo positivo indica un ángulo agudo, pero no es un múltiplo escalar de , así que el ángulo es oblicuo, no cero. Por tanto, un producto escalar positivo significa estar en el mismo lado general de la geometría, no tener necesariamente una dirección idéntica.
Question 5
Proyecta y = (5, 3) sobre u = (3, 1), calcula después el residuo y verifica su ortogonalidad.
Show the step-by-step solution
Primero calcula y . El coeficiente de proyección es , así que . Al restar, . Finalmente, . El residuo no es cero; simplemente no tiene componente a lo largo de .
Question 6
¿Por qué una prueba directa de NumPy con np.dot(x, y) == 0 puede clasificar mal un par de vectores de coma flotante, y qué hace en su lugar la función de la lección?
Show the step-by-step solution
Los cálculos decimales se representan con números de coma flotante de
precisión finita, así que una operación que da exactamente cero sobre el
papel puede dejar un valor diminuto como . Una prueba de igualdad
exacta devolvería entonces false. La función exige primero arrays
unidimensionales con la misma forma, calcula el producto escalar y ambas
normas, y llama a np.isclose con una tolerancia absoluta explícita y
adaptada a la escala, además de rtol=0. La tolerancia debe elegirse para
los datos y la precisión; no debe ocultar un producto escalar grande ni un
error de forma.
Question 7
Para x = (−1, 0, 1) e y = (1, −2, 1), demuestra que los vectores centrados son ortogonales pero no independientes en el sentido estadístico habitual.
Show the step-by-step solution
Ambas medias son cero, así que estos vectores ya están centrados. Su producto escalar es , lo que produce una covarianza empírica cero y, como ambas tienen varianza distinta de cero, una correlación de Pearson cero. Pero las coordenadas obedecen exactamente , de modo que observar determina . Esa relación no lineal determinista es dependencia; una correlación lineal cero no es una prueba general de independencia.
Question 8
Un modelo dice que un residuo es «no informativo» porque es ortogonal a una dirección ajustada. ¿Qué parte de esa afirmación es válida y qué parte es demasiado fuerte?
Show the step-by-step solution
Si es el residuo después de proyectar sobre la dirección , entonces es válido: una puntuación lineal a lo largo de no puede recuperar un componente de proyectándolo sobre esa misma dirección. La conclusión de que no contiene información es demasiado fuerte. El residuo puede tener norma distinta de cero, contener otra dirección lineal, codificar una estructura no lineal o llevar una señal útil a una capa posterior. La ortogonalidad elimina un solapamiento lineal especificado, no toda la información.