Curso de Matemáticas para IA · Lección 11 de 180

Ecuaciones lineales para la IA: convierte una fórmula en una recta geométrica

Aprende cómo una ecuación lineal de dos variables se convierte en una recta, prueba sus puntos, trata los casos verticales y lee una curva de nivel del puntaje de un clasificador lineal.

Comparte este artículo

Un clasificador pequeño asigna una puntuación a dos características:

s(x1,x2)=2x1+x2−5.s(x_1,x_2)=2x_1+x_2-5.

Los pares de características (0,5)(0,5), (1,3)(1,3) y (2,1)(2,1) parecen distintos, pero cada uno recibe la misma puntuación:

s(0,5)=s(1,3)=s(2,1)=0.s(0,5)=s(1,3)=s(2,1)=0.

No son tres coincidencias aisladas. Se encuentran sobre una misma recta geométrica, y cada punto de esa recta recibe puntuación cero. Al terminar esta lección podrás convertir una ecuación lineal de dos variables en una recta, producir y probar soluciones, y reconocer la misma geometría dentro de una curva de nivel del puntaje de un clasificador lineal.

Resultado de aprendizaje: Convierte una ecuación lineal de dos variables en una recta y prueba sus soluciones.

Esta lección se basa directamente en la Lección 9: Ecuaciones para IA, donde una ecuación se convirtió en una restricción que selecciona un conjunto solución. Aquí los valores permitidos son pares (x,y)∈R2(x,y)\in\mathbb R^2, y la geometría nos permite ver ese conjunto. La Lección 10: Leer una derivación de IA línea por línea aporta el hábito complementario: cada transformación debe conservar exactamente los mismos puntos.

El sitio web oficial Mathematics for Machine Learning sitúa los sistemas de ecuaciones lineales al comienzo del álgebra lineal. Su Sección 2.1 explica la perspectiva geométrica: una ecuación en dos variables representa una recta y un sistema pregunta dónde se intersectan esas rectas. Esta lección aísla los fundamentos de una sola recta. Sus ejemplos, código, visualización y evaluaciones son originales, y la siguiente lección añadirá la segunda ecuación.

Una ecuación describe un lugar

Considera la ecuación general de dos variables

ax+by=c,ax+by=c,

donde xx e yy son coordenadas reales y aa, bb y cc son coeficientes reales fijos. La ecuación es lineal porque xx e yy solo aparecen a la primera potencia, no se multiplican entre sí y solo se multiplican por números fijos.

Supón que b≠0b\ne0. Resta axax de ambos lados y luego divide por el número no nulo conocido bb:

ax+by=c,by=c−ax,y=−abx+cb.\begin{aligned} ax+by&=c,\\ by&=c-ax,\\ y&=-\frac{a}{b}x+\frac{c}{b}. \end{aligned}

Esta es la forma pendiente-intersección, y=mx+qy=mx+q. La pendiente es m=−a/bm=-a/b: aumentar xx una unidad cambia yy en −a/b-a/b unidades mientras la restricción se mantiene. La intersección con el eje vertical es q=c/bq=c/b, alcanzada cuando x=0x=0.

La fórmula reordenada hace más que facilitar el trazado. Expone una elección libre. Elige cualquier xx real y la ecuación calcula exactamente un yy correspondiente. A medida que xx varía continuamente, el punto solución recorre una recta, no una colección finita de puntos.

Una recta resuelta muestra pendiente, intersecciones y puntos

Trabajemos con

3x+2y=12.3x+2y=12.

Aquí a=3a=3, b=2b=2 y c=12c=12. Como bb no es cero, es válido despejar yy:

3x+2y=12,2y=12−3x,y=6−32x.\begin{aligned} 3x+2y&=12,\\ 2y&=12-3x,\\ y&=6-\frac32x. \end{aligned}

La recta tiene pendiente −3/2-3/2. Si xx aumenta en 22, yy disminuye en 33. Ese cambio emparejado mantiene fijo el lado izquierdo porque

3(Δx)+2(Δy)=3(2)+2(−3)=0.3(\Delta x)+2(\Delta y)=3(2)+2(-3)=0.

Un residuo convierte esa prueba de verdad en un número:

r(x,y):=3x+2y−12.r(x,y):=3x+2y-12.

Los puntos de la recta tienen residuo 00. Un residuo distinto de cero da tanto una prueba fallida como un signo: positivo significa que la suma ponderada supera 1212 y negativo que está por debajo de 1212.

Punto candidatoSustitución en 3x+2y3x+2yResiduo r(x,y)r(x,y)Veredicto
(0,6)(0,6)3(0)+2(6)=123(0)+2(6)=1200En la recta
(2,3)(2,3)3(2)+2(3)=123(2)+2(3)=1200En la recta
(4,0)(4,0)3(4)+2(0)=123(4)+2(0)=1200En la recta
(2,4)(2,4)3(2)+2(4)=143(2)+2(4)=1422Fuera de la recta

Dos puntos distintos bastan para dibujar esta recta, pero no son todo el conjunto solución. La visualización controlada hace tangible la familia que falta.

Mueve una coordenada mientras la ecuación calcula la otra: cada par mostrado permanece en 3x + 2y = 12.
Elige un punto de la recta

Usa el control deslizante con un puntero o las teclas de flecha, Page Up, Page Down, Home y End.

2
Coordenada y calculada3Calculado a partir de y = (12 − 3x) ÷ 2

También puedes arrastrar el punto circular a izquierda o derecha a lo largo de la recta.

Punto seleccionado: (2, 3). Su residuo es 0, por lo que satisface la ecuación.

Cada solución de 3x + 2y = 12●Solución seleccionada
Un punto móvil en la recta 3x más 2y igual a 12La recta desciende de menos 2 coma 9 a 6 coma menos 3. El punto seleccionado comienza en 2 coma 3 y siempre tiene residuo cero.
Alternativa textual para el punto seleccionado
CantidadValor actualCómo se obtiene
Coordenada x2Elegida con el control de rango
Coordenada y3(12 − 3 × 2) ÷ 2
Residuo03 × 2 + 2 × 3 − 12

El primer estado renderizado por el servidor es (2,3)(2,3), y la tabla situada bajo el gráfico contiene el mismo cálculo. La recta no necesita JavaScript para expresar su idea matemática; la hidratación añade la posibilidad de elegir otro xx y observar cómo cambia el yy correspondiente. El control usa pasos fijos de un cuarto de unidad para la inspección, mientras que el parámetro matemático puede ser cualquier número real.

Un parámetro representa toda la recta

Escribir varios puntos sugiere un patrón, pero un parámetro los describe todos a la vez. Sea tt cualquier número real y define

(x,y)=(t,6−32t),t∈R.(x,y)=\left(t,6-\frac32t\right), \qquad t\in\mathbb R.

Cada par de esta familia es una solución porque

3t+2(6−32t)=3t+12−3t=12.3t+2\left(6-\frac32t\right) =3t+12-3t =12.

La recíproca también importa. Cualquier par que satisfaga 3x+2y=123x+2y=12 debe satisfacer también y=6−32xy=6-\tfrac32x. Al elegir t=xt=x, ese par queda en la familia parametrizada. Juntas, ambas direcciones muestran que la parametrización incluye cada punto de la recta y ningún punto fuera de ella.

Por eso una ventana gráfica nunca contiene todo el objeto matemático. Los píxeles y las coordenadas muestreadas son finitos; la recta es el conjunto solución infinito especificado por la ecuación.

NumPy genera puntos; la ecuación original los verifica

El código debe reflejar el álgebra. La documentación de NumPy para linspace indica que devuelve muestras espaciadas uniformemente en un intervalo especificado. Genera algunos valores de xx, calcula sus valores correspondientes de yy y después prueba la restricción original, en lugar de confiar ciegamente en la fórmula reordenada:

import numpy as np
import matplotlib.pyplot as plt

# 3x + 2y = 12  ->  y = (12 - 3x) / 2
x = np.linspace(-2.0, 6.0, num=5)
y = (12.0 - 3.0 * x) / 2.0
residual = 3.0 * x + 2.0 * y - 12.0

print("x:", x)
print("y:", y)
print("residual:", residual)
print("on line:", np.isclose(residual, 0.0, rtol=0.0, atol=1e-12))

candidates = np.array([[2.0, 3.0], [2.0, 4.0], [4.0, 0.0]])
candidate_residual = 3.0 * candidates[:, 0] + 2.0 * candidates[:, 1] - 12.0
print("candidate residual:", candidate_residual)
print(
    "candidate on line:",
    np.isclose(candidate_residual, 0.0, rtol=0.0, atol=1e-12),
)

plt.plot(x, y, label="3x + 2y = 12")
plt.plot(candidates[:, 0], candidates[:, 1], "o", label="tested points")
plt.xlabel("x")
plt.ylabel("y")
plt.legend()
plt.show()

La salida ejecutada es:

x: [-2.  0.  2.  4.  6.]
y: [ 9.  6.  3.  0. -3.]
residual: [0. 0. 0. 0. 0.]
on line: [ True  True  True  True  True]
candidate residual: [0. 2. 0.]
candidate on line: [ True False  True]

np.isclose compara valores de coma flotante con una tolerancia explícita. Aquí rtol=0.0 y atol=1e-12 significan «aceptar un residuo cuyo valor absoluto sea como máximo 10−1210^{-12}». Es una decisión de ingeniería numérica a la escala de este ejemplo, no una demostración simbólica de que la ecuación se cumple. La demostración provino del álgebra; el código comprueba que esta implementación coincide.

La llamada de trazado sigue el contrato de plot de Matplotlib: los arrays proporcionados dan las coordenadas horizontal y vertical de los nodos de la recta. Un gráfico más denso se vería más suave, pero no crearía más soluciones matemáticas.

El contorno de un clasificador es la misma ecuación con nombres de características

Volvamos a la puntuación inicial:

s(x1,x2)=2x1+x2−5.s(x_1,x_2)=2x_1+x_2-5.

Aquí x1x_1 y x2x_2 son características de entrada, 22 y 11 son pesos fijos y −5-5 es una intersección. Una curva de nivel del puntaje reúne todos los pares de características que reciben una puntuación elegida. La curva de nivel de puntuación cero satisface

s(x1,x2)=0  ⟺  2x1+x2=5  ⟺  x2=5−2x1.s(x_1,x_2)=0 \iff 2x_1+x_2=5 \iff x_2=5-2x_1.

Es una recta. Moverse de (1,3)(1,3) a (2,1)(2,1) aumenta x1x_1 en 11 y reduce x2x_2 en 22, sin cambiar la puntuación:

2(1)+3−5=0,2(2)+1−5=0.2(1)+3-5=0, \qquad 2(2)+1-5=0.

Esta forma no se inventó para el diagrama. Un ejemplo oficial de LinearSVC de scikit-learn muestra la función de decisión calculada como una matriz de características multiplicada por coeficientes aprendidos más una intersección. La documentación de RidgeClassifier de scikit-learn también afirma que su puntuación de confianza binaria es proporcional a la distancia con signo al hiperplano separador y documenta que una puntuación superior a cero predice su segunda clase.

Para este clasificador educativo, elige la regla explícita

class^={A,s(x1,x2)>0,B,s(x1,x2)≤0.\widehat{\text{class}}= \begin{cases} \text{A}, & s(x_1,x_2)>0,\\ \text{B}, & s(x_1,x_2)\le0. \end{cases}

Según esta convención, la curva de nivel cero es la frontera de decisión: cruzarla cambia la clase predicha. Los puntos de un lado tienen puntuación positiva y los del otro puntuación negativa. La recta por sí sola no especifica la regla para empates ni los nombres de las clases; pertenecen a la convención de predicción. La puntuación bruta tampoco es automáticamente una probabilidad.

Par de característicasCálculo de la puntuaciónPuntuaciónResultado según la regla indicada
(1,3)(1,3)2(1)+3−52(1)+3-500Clase B, en la frontera
(2,2)(2,2)2(2)+2−52(2)+2-511Clase A
(0,4)(0,4)2(0)+4−52(0)+4-5−1-1Clase B

Dividir por cero revela los casos que faltan

La frase «ax+by=cax+by=c es una recta» necesita una condición: aa y bb no pueden ser ambos cero. Despejar yy necesita la condición local más fuerte b≠0b\ne0.

Caso de los coeficientesConjunto soluciónResultado geométrico
b≠0b\ne0y=−abx+cby=-\frac abx+\frac cbRecta no vertical
b=0b=0, a≠0a\ne0x=cax=\frac ca y cualquier yy realRecta vertical
a=0a=0, b≠0b\ne0y=cby=\frac cb y cualquier xx realRecta horizontal
a=b=0a=b=0, c=0c=0Todo (x,y)∈R2(x,y)\in\mathbb R^2Todo el plano, no una recta
a=b=0a=b=0, c≠0c\ne0No hay solucionesEl conjunto vacío, no una recta

Por ejemplo, 2x+0y=62x+0y=6 se simplifica a x=3x=3. Todo punto (3,y)(3,y) funciona, así que la recta es vertical. Intentar producir y=mx+qy=mx+q dividiendo por b=0b=0 no es una ruta incómoda: no está definido. Una recta vertical no tiene pendiente finita porque su coordenada xx no cambia mientras yy puede hacerlo.

Hay otra idea práctica equivocada que conviene evitar. Dos puntos trazados pueden determinar una recta no degenerada, pero superar dos pruebas no demuestra que un código cualquiera represente la ecuación prevista. Un coeficiente intercambiado aún puede poner esos puntos concretos en los lugares esperados. Calcula el residuo para varios puntos elegidos deliberadamente, incluido uno fuera de la recta, y conserva la derivación algebraica como fuente de verdad.

Una restricción más convertirá las rectas en intersecciones

Una ecuación deja una coordenada libre: elige xx y la recta determina yy; o, para una recta vertical, elige yy mientras xx permanece fijo. Esa libertad explica por qué una sola ecuación suele tener infinitas soluciones en pares de coordenadas.

La siguiente lección impondrá una segunda ecuación al mismo par. Entonces una solución deberá estar en ambas rectas a la vez. La prueba de punto sobre la recta desarrollada aquí se convertirá en una prueba de intersección, y la geometría mostrará por qué un sistema puede tener una solución, ninguna solución o una recta compartida completa.

Comprueba tu comprensión

Pregunta 1

Convierte 4x + 2y = 8 a la forma pendiente-intersección. Indica la pendiente y las dos intersecciones con los ejes, mostrando cada paso.

Mostrar la solución paso a paso

Como el coeficiente de yy es el número no nulo 22, despeja yy con pasos reversibles:

4x+2y=8,2y=8−4x,y=4−2x.\begin{aligned} 4x+2y&=8,\\ 2y&=8-4x,\\ y&=4-2x. \end{aligned}

Comparar y=4−2xy=4-2x con y=mx+qy=mx+q da la pendiente m=−2m=-2 y la intersección con el eje vertical q=4q=4, así que una intersección es (0,4)(0,4). Para la intersección con el eje horizontal, fija y=0y=0:

0=4−2x  ⟺  2x=4  ⟺  x=2.0=4-2x \iff 2x=4 \iff x=2.

La otra intersección es (2,0)(2,0). Ambas satisfacen la ecuación original: 4(0)+2(4)=84(0)+2(4)=8 y 4(2)+2(0)=84(2)+2(0)=8.

Pregunta 2

Prueba los puntos (3, 1), (1, 3) y (0, 4) en 2x + y = 7. Calcula un residuo para cada uno y clasifícalo como situado en la recta o fuera de ella.

Mostrar la solución paso a paso

Usa el residuo r(x,y)=2x+y−7r(x,y)=2x+y-7:

r(3,1)=2(3)+1−7=0,r(1,3)=2(1)+3−7=−2,r(0,4)=2(0)+4−7=−3.\begin{aligned} r(3,1)&=2(3)+1-7=0,\\ r(1,3)&=2(1)+3-7=-2,\\ r(0,4)&=2(0)+4-7=-3. \end{aligned}

Solo (3,1)(3,1) tiene residuo cero, así que está en la recta. Los otros dos puntos están fuera de ella. Sus residuos negativos significan que sus sumas ponderadas, 55 y 44, quedan por debajo del valor requerido 77.

Pregunta 3

Parametriza todas las soluciones de x − 3y = 6 usando un parámetro real, y demuestra las dos direcciones de la igualdad de conjuntos.

Mostrar la solución paso a paso

Elige y=ty=t para cualquier t∈Rt\in\mathbb R. Despejar xx da

x−3t=6  ⟺  x=6+3t.x-3t=6 \iff x=6+3t.

Así, la familia propuesta es

(x,y)=(6+3t,t),t∈R.(x,y)=(6+3t,t), \qquad t\in\mathbb R.

Primero, cada par listado funciona porque

(6+3t)−3t=6.(6+3t)-3t=6.

Segundo, cualquier solución (x,y)(x,y) de la ecuación original satisface x=6+3yx=6+3y. Al fijar t=yt=y, esa solución se escribe como (6+3t,t)(6+3t,t). La primera dirección excluye los puntos fuera de la recta; la segunda garantiza que no se omite ninguna solución.

Pregunta 4

Un estudiante reescribe 5x + 0y = 10 como y = (10 − 5x) / 0 y concluye que la ecuación no tiene gráfica. Diagnostica el error y proporciona el conjunto solución correcto.

Mostrar la solución paso a paso

La transformación intentada divide por el coeficiente de yy, que es cero. Dividir por cero no está definido, así que ese paso no puede conservar el conjunto solución.

Trabaja a partir de la ecuación original:

5x+0y=10  ⟺  5x=10  ⟺  x=2.5x+0y=10 \iff 5x=10 \iff x=2.

La ecuación no impone ninguna restricción sobre yy. Su conjunto solución es

{(2,t)∣t∈R},\{(2,t)\mid t\in\mathbb R\},

la recta vertical x=2x=2. La gráfica existe; solo que no está disponible una forma pendiente-intersección con pendiente finita.

Pregunta 5

Clasifica los conjuntos solución de 0x + 0y = 0 y 0x + 0y = 4. Explica por qué ninguna de las dos ecuaciones describe una sola recta.

Mostrar la solución paso a paso

Para todo par real (x,y)(x,y),

0x+0y=0.0x+0y=0.

Por tanto, el primer conjunto solución es todo R2\mathbb R^2, el plano de coordenadas completo. No selecciona una sola recta.

La segunda ecuación se simplifica a 0=40=4, que es falsa para toda asignación. Su conjunto solución es ∅\varnothing, el conjunto vacío. No contiene ninguna recta. Estos casos explican por qué la definición de recta exige que al menos uno de aa o bb sea distinto de cero.

Pregunta 6

Para la puntuación s(x₁, x₂) = −x₁ + 2x₂ − 4, encuentra la curva de nivel de puntuación cero y clasifica (0, 3), (2, 3) y (4, 3) usando la clase A para puntuaciones positivas y la clase B en los demás casos.

Mostrar la solución paso a paso

Iguala la puntuación a cero y despeja x2x_2:

−x1+2x2−4=0  ⟺  2x2=x1+4  ⟺  x2=12x1+2.-x_1+2x_2-4=0 \iff 2x_2=x_1+4 \iff x_2=\frac12x_1+2.

Esta recta es la curva de nivel de puntuación cero. Ahora evalúa los tres puntos:

s(0,3)=−(0)+2(3)−4=2,s(2,3)=−(2)+2(3)−4=0,s(4,3)=−(4)+2(3)−4=−2.\begin{aligned} s(0,3)&=-(0)+2(3)-4=2,\\ s(2,3)&=-(2)+2(3)-4=0,\\ s(4,3)&=-(4)+2(3)-4=-2. \end{aligned}

Según la convención indicada, (0,3)(0,3) es de clase A, mientras que (2,3)(2,3) y (4,3)(4,3) son de clase B. El punto (2,3)(2,3) está exactamente en la frontera. Otra regla para empates podría asignar el punto de puntuación cero de otra manera, así que la ecuación por sí sola no determina esa etiqueta.

Pregunta 7

Depura esta comprobación de NumPy: on_line = (3 * x + 2 * y == 12). Escribe una comprobación del residuo que tenga en cuenta una tolerancia y explica qué puede y qué no puede establecer.

Mostrar la solución paso a paso

Calcula primero el residuo y después compáralo con cero usando una tolerancia elegida para la escala del cálculo:

residual = 3.0 * x + 2.0 * y - 12.0
on_line = np.isclose(residual, 0.0, rtol=0.0, atol=1e-12)

Esto acepta un elemento cuando ∣r∣≤10−12|r|\le10^{-12}. Evita exigir igualdad bit a bit después de la aritmética de coma flotante, donde el redondeo puede dejar un residuo diminuto distinto de cero.

El resultado prueba los arrays numéricos proporcionados y esta tolerancia. No puede demostrar la identidad simbólica 3x+2y=123x+2y=12 para cada valor de parámetro real, y un atol demasiado grande podría aceptar incorrectamente puntos fuera de la recta. La derivación establece la fórmula; la comprobación numérica ayuda a detectar errores de implementación.

Fuentes

  1. Mathematics for Machine Learning companion website
  2. Mathematics for Machine Learning book PDF
  3. NumPy documentation: numpy.linspace
  4. NumPy documentation: numpy.isclose
  5. Matplotlib documentation: matplotlib.pyplot.plot
  6. scikit-learn documentation: RidgeClassifier
  7. scikit-learn example: Plot the support vectors in LinearSVC