Curso de Matemáticas para IA · Lección 30 de 180
Span: las predicciones que puede alcanzar un modelo lineal
Usa el span de vectores para identificar todas las predicciones que un modelo lineal puede producir a partir de sus columnas de características y detectar un objetivo que estas no pueden expresar.
Una regla de predicción lineal puede ajustar sus pesos tanto como quiera y aun así pasar por alto un patrón que sus características no pueden expresar. El límite se ve en todos los ejemplos de entrenamiento: cada vector de predicciones es una suma ponderada de las columnas de características. Esas sumas ponderadas forman un conjunto llamado span.
Al terminar esta lección, podrás describir ese conjunto alcanzable, calcular una predicción dentro de él y comprobar si el modelo podría producir una serie de valores objetivo propuestos.
Objetivo de aprendizaje: identificar el conjunto de vectores alcanzables mediante combinaciones lineales.
Lección 29: La independencia lineal elimina la redundancia pregunta si las direcciones de las características aportan información distinta. Aquí planteamos la siguiente pregunta: ¿qué combinaciones de esas direcciones puede alcanzar realmente un modelo? La sección 2.5 del libro oficial Mathematics for Machine Learning introduce las combinaciones lineales y la independencia lineal, conceptos necesarios para definir el span en esta lección. El ejemplo de predicción, los cálculos, el código, la ilustración y las evaluaciones son originales.
Las salidas de un modelo viven en un conjunto alcanzable
Supongamos que un conjunto de datos contiene ejemplos y características numéricas. Coloca los valores de la característica para los ejemplos en un vector columna . La matriz de diseño apila esas columnas. Para un vector de pesos , un modelo lineal sin término independiente predice
El producto de matriz por vector realiza algo conceptualmente importante: mezcla las columnas de características mediante los pesos del modelo. Los coeficientes pueden variar, pero las únicas direcciones disponibles son las columnas que ya están en .
La última frase expresa la capacidad del modelo para este conjunto de datos finito: el span contiene exactamente los vectores de predicción que pueden producir los pesos lineales sin restricciones. No afirma que el modelo pueda realizar cualquier asignación posible con entradas futuras. Eso depende de la regla de características, sus parámetros y las entradas que recibirá.
Calcular las predicciones alcanzables
Consideremos tres ejemplos y dos características:
Cada par de pesos produce
Por tanto, todo vector de predicción alcanzable tiene la forma . Su tercera coordenada debe ser igual a la suma de las dos primeras. Se trata de un plano que pasa por el origen dentro de : se registran tres coordenadas de salida, pero las dos direcciones de las características solo pueden llenar ese plano.
El fallo se debe a un límite de las características, no a que no hayamos buscado el tiempo suficiente los coeficientes adecuados. Un optimizador puede elegir otros pesos, pero no puede salir del espacio columna sin cambiar las direcciones de las características o la forma del modelo.
Espacio de predicciones
Las columnas de características delimitan todas las predicciones
Con dos columnas de características, el modelo puede alcanzar el plano que estas abarcan. El vector objetivo queda fuera porque su tercer valor no es la suma de los dos primeros.
| Vector | Coordenadas | Comprobación del span |
|---|---|---|
| Columna de características x₁ | [1, 0, 1] | Dentro: tercera = primera + segunda |
| Columna de características x₂ | [0, 1, 1] | Dentro: tercera = primera + segunda |
| Predicción para w = [2, −1] | [2, −1, 1] | Dentro: tercera = primera + segunda |
| Objetivo propuesto | [1, 2, 4] | Fuera: 4 ≠ 1 + 2 |
El diagrama muestra el mismo álgebra desde el punto de vista del modelo. Las flechas continuas de las características generan el plano y cualquier combinación ponderada de ellas permanece en él. El objetivo discontinuo queda fuera. La imagen ayuda a intuir la posición; la ecuación es la comprobación exacta.
Comprobar el límite con un cálculo breve en NumPy
El cálculo del modelo sigue directamente la definición. NumPy
matmul
implementa el producto de matriz por vector, así que multiplicar por los pesos da el vector de predicciones:
import numpy as np
X = np.array([[1, 0], [0, 1], [1, 1]])
weights = np.array([2, -1])
prediction = X @ weights
target = np.array([1, 2, 4])
print(prediction) # [ 2 -1 1]
print(prediction[2] == prediction[0] + prediction[1]) # True
print(target[2] == target[0] + target[1]) # False
La primera línea confirma la predicción calculada. La segunda comprueba la regla que deben satisfacer todos los vectores de este espacio columna. La tercera descarta el objetivo propuesto mediante la misma relación exacta. Es una comprobación estructural y no depende de cómo se hayan entrenado los pesos.
Esta perspectiva también explica una restricción habitual de la regresión lineal. La guía de modelos lineales de scikit-learn define una predicción como una suma ponderada de características, con un término independiente opcional. El procedimiento de ajuste puede intentar reducir los errores, pero en los ejemplos de esta lección un modelo sin término independiente solo puede producir las predicciones de . Si todas las columnas de características son redundantes, el span puede no crecer al añadir otra; si una columna nueva apunta en una dirección realmente distinta, puede ampliar el conjunto alcanzable.
El span describe las direcciones disponibles
El span incluye cualquier valor real para los coeficientes, también pesos cero y negativos. Esto importa: si solo consideráramos combinaciones positivas, describiríamos un conjunto más pequeño, a menudo un cono, en lugar del span completo. La regresión lineal estándar sin restricciones permite coeficientes positivos o negativos. Las restricciones pueden limitar los coeficientes permitidos, mientras que la regularización cambia qué pesos prefiere el objetivo de entrenamiento; ninguna de las dos cambia el espacio columna definido por la propia matriz de características.
El número de columnas de características no indica por sí solo cuántas direcciones independientes aportan. Dos columnas pueden apuntar a lo largo de la misma recta y, en ese caso, su span sigue teniendo una dimensión. El siguiente paso consiste en determinar cuándo un vector nuevo añade una dirección independiente y puede ampliar el span. Esa es la pregunta que aborda la Lección 29: La independencia lineal elimina la redundancia.
El hábito práctico es sencillo: cuando un modelo pasa por alto un patrón repetidamente, pregúntate si sus características pueden expresar la salida necesaria antes de culpar al optimizador. El span te indica qué vectores de predicción pueden siquiera plantearse.
Comprueba lo que has entendido
Question 1
Con tus propias palabras, ¿qué contiene el span de dos columnas de características?
Show the step-by-step solution
El span contiene todos los vectores que se forman al multiplicar la primera columna por cualquier número real, multiplicar la segunda por cualquier número real y sumar los resultados. Los coeficientes pueden ser cero o negativos, además de positivos, así que el conjunto incluye todas las direcciones generadas por esas dos columnas, no solo los puntos entre ellas.
Question 2
Sean x₁ = [1, 0, 1]ᵀ y x₂ = [0, 1, 1]ᵀ. Calcula 3x₁ − 2x₂ y comprueba si el resultado cumple la regla de coordenadas del span.
Show the step-by-step solution
Primero escala cada vector: y . Suma las coordenadas para obtener . Su tercera entrada es y la suma de las dos primeras es , así que cumple la regla y pertenece al span.
Question 3
Para la matriz cuyas columnas son [1, 0, 1]ᵀ y [0, 1, 1]ᵀ, escribe el vector de predicción general para los pesos [a, b]ᵀ.
Show the step-by-step solution
Multiplica la primera columna por para obtener . Multiplica la segunda por para obtener . La suma es . Por tanto, la tercera coordenada de toda predicción es igual a la suma de las dos primeras.
Question 4
¿Puede este modelo de dos características producir [2, 1, 4]ᵀ? Muestra una comprobación decisiva.
Show the step-by-step solution
Si las dos primeras coordenadas son y , la regla del span obliga a que la tercera sea . La tercera coordenada propuesta es . Como , ninguna elección de los dos pesos puede producir este vector.
Question 5
Supón que una tercera columna de características es [0, 0, 1]ᵀ. Da unos pesos que produzcan [1, 2, 4]ᵀ usando las tres columnas.
Show the step-by-step solution
Usa un peso de para , de para y de para . Las dos primeras columnas ponderadas suman . Al añadir la tercera, se obtiene ; así, la nueva característica aporta justo la dirección que faltaba para este objetivo.
Question 6
¿Describe el espacio columna todas las funciones que el modelo entrenado podría calcular con cualquier entrada futura? Explica el alcance de la afirmación.
Show the step-by-step solution
No. Aquí el espacio columna describe los vectores de predicción en las filas fijas usadas para construir , bajo el modelo lineal sin término independiente indicado y con pesos reales sin restricciones. Las predicciones para entradas nuevas dependen de sus valores de características. Cambiar la transformación de características o añadir operaciones no lineales también puede cambiar la familia de funciones que representa el modelo.
Question 7
Para estas tres filas de muestra, ¿qué ocurre con el span si se añade una columna de término independiente [1, 1, 1]ᵀ? ¿Por qué después puede alcanzar [1, 2, 4]ᵀ?
Show the step-by-step solution
La columna de término independiente no es una combinación lineal de las dos columnas originales: el span original exige que la tercera entrada sea igual a la suma de la primera y la segunda, pero no cumple . La columna nueva aporta una tercera dirección independiente en , por lo que las columnas ampliadas abarcan todo . En particular, .
Question 8
Un modelo tiene cuatro columnas de características, pero dos son copias exactas de las dos primeras. ¿Obtiene necesariamente cuatro direcciones de predicción independientes? Explícalo usando el span.
Show the step-by-step solution
No. Repetir una columna existente no crea una dirección nueva. Cualquier combinación de una columna duplicada puede incorporarse al coeficiente de su copia, por lo que el span permanece igual al de las dos direcciones originales. El número de columnas cuenta las posiciones de coeficientes disponibles; el span muestra qué direcciones de salida pueden alcanzar en conjunto.