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

Ecuaciones para la IA: una predicción puede ajustarse a muchos pares de parámetros

Aprende a leer las ecuaciones como restricciones, describir conjuntos de soluciones de una y dos variables, conservarlos de forma segura y probar parámetros de modelos en NumPy.

Comparte este artículo

Un modelo de predicción de juguete devuelve

y^=2w+b,\hat y=2w+b,

donde el peso ww y el sesgo bb son números reales. Para un ejemplo observado, el objetivo es 55. Hacer coincidir ese objetivo impone la restricción

2w+b=5.2w+b=5.

El par (w,b)=(1,3)(w,b)=(1,3) funciona porque 2(1)+3=52(1)+3=5. También funcionan (0,5)(0,5), (2,1)(2,1) y (−1,7)(-1,7). Un solo objetivo no ha revelado una configuración privilegiada de parámetros. Ha seleccionado el conjunto completo de soluciones de pares de parámetros

S={(w,b)∈R2∣2w+b=5}={(t,5−2t)∣t∈R}.S=\left\{(w,b)\in\mathbb R^2\mid 2w+b=5\right\} =\left\{(t,5-2t)\mid t\in\mathbb R\right\}.

Ese conjunto es una recta en el plano (w,b)(w,b): cada punto de ella hace que el modelo prediga exactamente 55, y cada punto fuera de ella no alcanza el objetivo. Al terminar esta lección, podrás distinguir entre expresiones, ecuaciones, restricciones e identidades; describir todos los valores que resuelven una ecuación; y reconocer cuándo un atajo algebraico cambia el conjunto de soluciones.

Resultado de aprendizaje: Trata una ecuación como una restricción y describe todos los valores que la satisfacen.

Esta lección utiliza la disciplina de dominio de la lección 3: Dominio, codominio y entradas válidas del modelo: las soluciones de una ecuación no se pueden enunciar hasta conocer los valores permitidos. El sitio oficial complementario de Mathematics for Machine Learning organiza los fundamentos matemáticos como herramientas para entender modelos y aprendizaje. Su capítulo 1 y sección 2.1 motivan el recorrido desde los parámetros de un modelo hasta los conjuntos de soluciones y, más adelante, los sistemas de ecuaciones lineales. El puente de una sola ecuación que aparece a continuación es original; se detiene antes de los sistemas, la eliminación de Gauss, el rango y la optimización.

Un signo igual convierte un cálculo en una prueba de verdad

Los símbolos 2w+b2w+b forman una expresión. Una vez asignados los valores de ww y bb, la expresión tiene un valor numérico. No afirma que ese valor sea un número concreto.

Los símbolos 2w+b=52w+b=5 forman una ecuación. Plantean una afirmación que puede ser verdadera o falsa para una asignación dada. Con (w,b)=(1,3)(w,b)=(1,3) es verdadera; con (1,2)(1,2) es falsa porque 2(1)+2=42(1)+2=4.

Estos términos relacionados cumplen funciones distintas:

TérminoEjemplo sobre los números realesQué nos indica
Expresión2w+b2w+bUna cantidad que evaluar; no tiene signo igual ni valor de verdad
Ecuación2w+b=52w+b=5Una afirmación cuya verdad depende de ww y bb
RestricciónExigir 2w+b=52w+b=5Solo son factibles las asignaciones que satisfacen la ecuación
Identidad2(w+1)=2w+22(w+1)=2w+2Es verdadera para todo w∈Rw\in\mathbb R
Solución(w,b)=(1,3)(w,b)=(1,3)Una asignación que hace verdadera la ecuación
Conjunto de soluciones{(t,5−2t)∣t∈R}\{(t,5-2t)\mid t\in\mathbb R\}Todas las asignaciones que satisfacen la condición, no solo un ejemplo

La diferencia entre “ecuación” y “restricción” está en su función. La misma cadena 2w+b=52w+b=5 es una ecuación como sintaxis matemática y una restricción cuando filtra parámetros candidatos. “Identidad” es más fuerte: 2(w+1)=2w+22(w+1)=2w+2 no filtra ningún ww real.

Una variable no garantiza una única respuesta

Considera la ecuación

3x−7=11,x∈R.3x-7=11, \qquad x\in\mathbb R.

Sumar 77 a ambos lados y después dividir ambos lados por el número no nulo 33 da

3x−7=11  ⟺  3x=18  ⟺  x=6.3x-7=11 \iff 3x=18 \iff x=6.

La doble flecha   ⟺  \iff significa “si y solo si”. Cada paso se puede deshacer, por lo que el conjunto de soluciones reales es S={6}S=\{6\}. La sustitución comprueba la respuesta en la ecuación original: 3(6)−7=18−7=113(6)-7=18-7=11.

El número de variables escritas no determina el número de soluciones:

Ecuación y dominio indicadoConjunto de solucionesMotivo
3x−7=113x-7=11, x∈Rx\in\mathbb R{6}\{6\}Exactamente un valor real supera la prueba de verdad
x+1=x+2x+1=x+2, x∈Rx\in\mathbb R∅\varnothingRestar x+1x+1 produce la afirmación falsa 0=10=1
2(x+1)=2x+22(x+1)=2x+2, x∈Rx\in\mathbb RR\mathbb RAmbos lados son iguales para todo xx real
x2=2x^2=2, x∈Rx\in\mathbb R{−2,2}\{-\sqrt2,\sqrt2\}Dos valores reales tienen cuadrado igual a 22
x2=2x^2=2, x∈Qx\in\mathbb Q∅\varnothingNinguna de las soluciones reales es racional

Aquí ∅\varnothing es el conjunto vacío, R\mathbb R es el conjunto de los números reales y Q\mathbb Q el de los racionales. Las dos últimas filas usan la misma ecuación pero dominios diferentes, así que responden a preguntas diferentes.

Un objetivo deja una familia de parámetros

Volvamos a 2w+b=52w+b=5 con (w,b)∈R2(w,b)\in\mathbb R^2. La notación R2\mathbb R^2 significa pares ordenados de números reales. Aísla bb:

2w+b=5  ⟺  b=5−2w.2w+b=5 \iff b=5-2w.

Ese paso no fija ww. Llama tt a su valor real arbitrario; entonces bb queda obligado a ser 5−2t5-2t. Esto produce todas las soluciones:

(w,b)=(t,5−2t),t∈R.(w,b)=(t,5-2t), \qquad t\in\mathbb R.

¿Por qué la descripción es completa? Para todo tt real, la sustitución da 2t+(5−2t)=52t+(5-2t)=5, así que cada par listado es una solución. A la inversa, todo par que satisface 2w+b=52w+b=5 debe satisfacer b=5−2wb=5-2w; al tomar t=wt=w, ese par pertenece a la familia listada. Las dos direcciones establecen que los conjuntos son iguales.

Explorador de la recta de parámetros para la predicción 2w + b del modelo y el objetivo 5. Mueve un parámetro enlazado para permanecer en la recta completa de soluciones, o prueba un par candidato independiente.
Moverse por el conjunto exacto de soluciones

Las teclas de flecha cambian w en 0.25; el sesgo necesario se actualiza automáticamente.

1

Las teclas de flecha cambian b en 0.5; el peso necesario se actualiza automáticamente.

3

Opción con puntero: arrastra el marcador circular con cruz por la recta. Los dos controles deslizantes ofrecen un control de teclado equivalente.

Solución seleccionada: w = 1, b = 3, y 2w + b = 5.

Todas las soluciones exactas×Solución enlazada seleccionada◆Candidato independiente
Pares de parámetros restringidos por 2w más b igual a 5Una recta descendente de soluciones contiene todos los pares peso-sesgo que predicen 5. Un círculo con cruz marca la solución enlazada; un rombo marca un candidato controlado de forma independiente; y un segmento discontinuo muestra su separación vertical de la recta.-2-101234-30369Peso wSesgo bb = 5 − 2w
Probar cualquier par candidato

Establece ambos valores de forma independiente. El veredicto usa aritmética exacta en pasos de un cuarto, no una tolerancia.

1
2

No es una solución: (1, 2) predice 4, con un residual de -1. Con este peso, el sesgo necesario es 3.

Solución seleccionada: w = 1, b = 3, y 2w + b = 5. No es una solución: (1, 2) predice 4, con un residual de -1. Con este peso, el sesgo necesario es 3.

Pares de parámetros actuales y de referencia, con sus cálculos
ParPeso wSesgo b2w + bResidualVeredicto de la restricción
Par enlazado seleccionado1350 Solución
Candidato independiente124-1 No es una solución
Par de referencia A0550 Solución
Par de referencia B2150 Solución

La recta continua, el círculo con cruz seleccionado, el rombo candidato, el veredicto escrito y la tabla transmiten la misma conclusión sin depender del color. Mover los controles enlazados cambia el par de parámetros, pero nunca la predicción: un aumento de 0.250.25 en ww requiere una disminución de 0.50.5 en bb. Mover el candidato fuera de la recta produce un residual distinto de cero. Por tanto, una observación establece la factibilidad—dice qué pares encajan—, no cuál de los pares que encajan debe preferirse.

Los pasos reversibles conservan todas las soluciones

La manipulación algebraica es segura cuando produce una ecuación equivalente, no simplemente una ecuación que, por casualidad, satisfacen todas las soluciones anteriores. La diferencia está en la dirección inversa.

Supón que L(x)L(x) y R(x)R(x) están definidas para x∈Dx\in D. Para cualquier expresión c(x)c(x) definida en ese mismo dominio,

L(x)=R(x)  ⟺  L(x)+c(x)=R(x)+c(x).L(x)=R(x) \iff L(x)+c(x)=R(x)+c(x).

El paso directo suma el mismo valor a ambos lados. El paso inverso resta ese mismo valor y recupera la ecuación original. Como ambas implicaciones se cumplen para todo x∈Dx\in D, las dos ecuaciones tienen exactamente el mismo conjunto de soluciones.

Del mismo modo, para un número fijo no nulo kk,

L(x)=R(x)  ⟺  kL(x)=kR(x).L(x)=R(x) \iff kL(x)=kR(x).

Multiplicar por kk es reversible porque se puede dividir por kk. La condición k≠0k\ne0 forma parte del argumento, no es una nota técnica al margen.

En el ejemplo de una variable, el camino reversible se puede leer en ambas direcciones:

3x−7=11↔subtract 7add 73x=18↔multiply by 3divide by 3x=6.3x-7=11 \xleftrightarrow[\text{subtract }7]{\text{add }7} 3x=18 \xleftrightarrow[\text{multiply by }3]{\text{divide by }3} x=6.

Las etiquetas de arriba y abajo de cada flecha nombran operaciones inversas. Una auditoría útil es sencilla: especifica el dominio y pregunta cómo deshacer cada paso para cada candidato de ese dominio.

Cuatro atajos pueden cambiar la pregunta

Una operación puede llevar las soluciones hacia delante sin devolver todos los candidatos. Escribir ⇒\Rightarrow en lugar de   ⟺  \iff mantiene honesta esa relación unidireccional.

Multiplicar por cero borra información

Partiendo de x=1x=1 y multiplicando ambos lados por cero:

x=1⇒0x=0⋅1⇒0=0.x=1\Rightarrow 0x=0\cdot1\Rightarrow 0=0.

El conjunto de soluciones original es {1}\{1\}; la identidad final es verdadera para todo xx real. No existe una división por cero que pueda recuperar la restricción original.

Dividir por una variable puede descartar su caso cero

Reescribe y factoriza x2=xx^2=x como x2−x=0x^2-x=0 y después como x(x−1)=0x(x-1)=0. Las soluciones reales originales son x=0x=0 y x=1x=1. Dividir la ecuación original por xx supone silenciosamente x≠0x\ne0:

x2=x⇒assumes x≠0divide by xx=1.x^2=x \quad\xRightarrow[\text{assumes }x\ne0]{\text{divide by }x}\quad x=1.

La división no demostró que cero fuera inválido; eliminó cero del dominio del paso transformado. Separa el caso x=0x=0 antes de dividir por una expresión que pueda anularse.

Elevar al cuadrado puede introducir un candidato adicional

La ecuación x=2x=2 tiene el conjunto de soluciones {2}\{2\}. Elevar ambos lados al cuadrado produce x2=4x^2=4, cuyo conjunto de soluciones reales es {−2,2}\{-2,2\}. Que ambos lados de la primera ecuación sean iguales garantiza que sus cuadrados también lo sean, pero unos cuadrados iguales no garantizan que los signos originales sean iguales. Todo candidato creado al elevar al cuadrado debe comprobarse en la ecuación original.

Una raíz cuadrada principal puede ocultar una solución negativa

Desde x2=4x^2=4, escribir x=4=2x=\sqrt4=2 pierde x=−2x=-2. Sobre los números reales,

x2=∣x∣,\sqrt{x^2}=|x|,

no xx para todo xx. El paso completo es ∣x∣=2|x|=2, de donde x=±2x=\pm2. Elevar al cuadrado y tomar una raíz principal no son operaciones inversas para todos los números reales; las condiciones de signo y dominio determinan qué dirección es válida.

La tolerancia de NumPy es una política numérica, no una igualdad simbólica

En álgebra, un par pertenece a SS solo cuando 2w+b=52w+b=5 exactamente. El software suele evaluar aproximaciones decimales, así que una implementación puede adoptar una política de aceptación separada. La documentación oficial de isclose de NumPy define una prueba de tolerancia elemento a elemento. Con el objetivo como referencia y la tolerancia relativa fijada en cero, esta lección pregunta si

∣y^−5∣≤10−12.|\hat y-5|\le10^{-12}.

El siguiente ejemplo ejecutado hace visibles las dos preguntas:

import numpy as np

np.set_printoptions(precision=13)

candidates = np.array([
    [0.0, 5.0],
    [0.0, 5.0000000000005],
    [1.0, 2.999],
    [2.0, 1.0],
])
target = 5.0
predictions = 2.0 * candidates[:, 0] + candidates[:, 1]
residuals = predictions - target

print(predictions)
print(residuals)
print(predictions == target)
print(np.isclose(predictions, target, rtol=0.0, atol=1e-12))
[5.              5.0000000000005 4.999           5.             ]
[ 0.0000000000000e+00  5.0004445029117e-13 -9.9999999999945e-04
  0.0000000000000e+00]
[ True False False  True]
[ True  True False  True]

Los pares almacenados primero y cuarto producen una predicción almacenada igual al objetivo almacenado. El segundo no, aunque su residual está dentro de la tolerancia de ingeniería elegida de 10−1210^{-12}. El tercero se desvía aproximadamente 10−310^{-3} y falla ambas pruebas.

Ninguna de las dos máscaras booleanas demuestra una afirmación simbólica exacta. == compara los valores de coma flotante almacenados, mientras que isclose aplica una desigualdad elegida deliberadamente. NumPy también documenta que su fórmula general de tolerancia relativa trata el segundo argumento como referencia y que la tolerancia absoluta predeterminada puede ser inadecuada para valores de referencia muy pequeños. Nombrar las tolerancias hace que la regla de implementación se pueda revisar; sustituir el candidato en la ecuación simbólica original sigue siendo la comprobación matemática.

Una observación nos dice qué encaja, no qué elegir

La recta de parámetros muestra un límite práctico antes de que aparezca cualquier algoritmo de entrenamiento. La única observación “coeficiente de entrada 22, objetivo 55” proporciona una restricción sobre dos parámetros reales. Puede rechazar (1,2)(1,2), pero no puede elegir entre (1,3)(1,3) y (2,1)(2,1) porque ambas predicciones son exactamente 55.

Observaciones adicionales pueden imponer restricciones adicionales, y las lecciones posteriores preguntarán cómo interactúan. El punto de parada de esta lección es anterior y más fundamental: escribe el dominio, trata la ecuación como una condición de verdad, describe el conjunto completo que la satisface y exige que cada transformación tenga una operación inversa o una comprobación explícita de candidatos. Ese hábito es la base para leer línea por línea las deducciones de la lección siguiente.

Comprueba lo que has entendido

Pregunta 1

Clasifica cada elemento como expresión, ecuación condicional, identidad, solución o conjunto de soluciones: 3q + 1; 3q + 1 = 7; 2(q + 4) = 2q + 8; q = 2; y {2}. Usa el dominio q ∈ ℝ.

Mostrar la solución paso a paso
  • 3q+13q+1 es una expresión: tiene un valor después de proporcionar qq, pero no afirma una igualdad.
  • 3q+1=73q+1=7 es una ecuación condicional: es verdadera para algunos valores reales y falsa para otros. Al usarla para filtrar qq, también es una restricción.
  • 2(q+4)=2q+82(q+4)=2q+8 es una identidad sobre R\mathbb R. Al desarrollar el lado izquierdo se obtiene 2q+82q+8 para todo qq real.
  • q=2q=2 expresa la solución después de resolver la ecuación condicional: 3(2)+1=73(2)+1=7.
  • {2}\{2\} es el conjunto de soluciones. Las llaves describen la colección de todas las soluciones reales, aunque la colección solo tenga un miembro.

El dominio importa para las afirmaciones sobre la identidad y el conjunto de soluciones; cada clasificación anterior se hace sobre q∈Rq\in\mathbb R.

Pregunta 2

Resuelve 5x + 2 = 17 sobre los números reales, muestra pasos reversibles y expresa el conjunto de soluciones.

Mostrar la solución paso a paso

Resta 22 de ambos lados:

5x+2=17  ⟺  5x=15.5x+2=17\iff5x=15.

Es reversible porque sumar 22 recupera la primera ecuación. Divide ambos lados por el número no nulo 55:

5x=15  ⟺  x=3.5x=15\iff x=3.

Multiplicar por 55 invierte ese paso. Comprueba el candidato en la ecuación original:

5(3)+2=15+2=17.5(3)+2=15+2=17.

Por tanto, el conjunto de soluciones reales es S={3}S=\{3\}.

Pregunta 3

Describe cada par real (u, v) que satisface 3u + v = 7 y verifica después los pares obtenidos para u = −1, 0 y 2.

Mostrar la solución paso a paso

Aísla vv restando 3u3u de ambos lados:

3u+v=7  ⟺  v=7−3u.3u+v=7\iff v=7-3u.

Deja que tt represente cualquier elección real de uu. El conjunto completo de soluciones es

S={(t,7−3t)∣t∈R}.S=\{(t,7-3t)\mid t\in\mathbb R\}.

Ahora sustituye los tres valores solicitados:

uuv=7−3uv=7-3uComprobación
−1-110103(−1)+10=−3+10=73(-1)+10=-3+10=7
00773(0)+7=73(0)+7=7
22113(2)+1=6+1=73(2)+1=6+1=7

Cada fila satisface la ecuación, pero el parámetro tt recorre todos los números reales, de modo que estas tres filas son ejemplos, no el conjunto completo.

Pregunta 4

Una derivación cambia 4(x − 3) = 20 a x − 3 = 5 y después a x = 8. Explica por qué ambos pasos conservan el conjunto de soluciones reales y comprueba el resultado.

Mostrar la solución paso a paso

Primero divide ambos lados por 44:

4(x−3)=20  ⟺  x−3=5.4(x-3)=20\iff x-3=5.

Como 4≠04\ne0, multiplicar por 44 invierte este paso. Después suma 33 a ambos lados:

x−3=5  ⟺  x=8.x-3=5\iff x=8.

Restar 33 invierte el segundo paso. Por tanto, ambas flechas funcionan en las dos direcciones para cualquier candidato real. La sustitución comprueba el resultado:

4(8−3)=4(5)=20.4(8-3)=4(5)=20.

El conjunto de soluciones reales es {8}\{8\}.

Pregunta 5

Encuentra todas las soluciones reales de z² = 3z. Después explica qué solución se pierde si se dividen ambos lados por z inmediatamente.

Mostrar la solución paso a paso

Mueve todos los términos a un lado y factoriza:

z2=3z  ⟺  z2−3z=0  ⟺  z(z−3)=0.z^2=3z \iff z^2-3z=0 \iff z(z-3)=0.

El producto de números reales es cero cuando al menos uno de sus factores es cero, así que

z=0orz−3=0,z=0\quad\text{or}\quad z-3=0,

lo que da z=0z=0 o z=3z=3. Ambos se comprueban en la ecuación original: 02=3(0)=00^2=3(0)=0 y 32=3(3)=93^2=3(3)=9. Por tanto, S={0,3}S=\{0,3\}.

Dividir z2=3zz^2=3z por zz supone z≠0z\ne0 y deja z=3z=3. El paso pierde la solución válida z=0z=0 porque dividir por cero no está definido. Hay que separar el caso cero antes de dividir.

Pregunta 6

Resuelve √(x + 5) = x − 1 sobre los números reales. Muestra cómo elevar al cuadrado crea un candidato que debe rechazarse.

Mostrar la solución paso a paso

La raíz cuadrada exige x+5≥0x+5\ge0. Su valor es no negativo, así que la igualdad también exige x−1≥0x-1\ge0, o x≥1x\ge1. Eleva ambos lados al cuadrado para generar candidatos:

x+5=(x−1)2=x2−2x+1.x+5=(x-1)^2=x^2-2x+1.

Mueve todos los términos a un lado y factoriza:

0=x2−3x−4=(x−4)(x+1).0=x^2-3x-4=(x-4)(x+1).

La ecuación elevada al cuadrado da x=4x=4 o x=−1x=-1. El segundo candidato incumple la condición necesaria x≥1x\ge1 y también falla en la ecuación original: −1+5=2\sqrt{-1+5}=2, mientras que −1−1=−2-1-1=-2. El primer candidato se comprueba:

4+5=9=3=4−1.\sqrt{4+5}=\sqrt9=3=4-1.

Por tanto, el conjunto de soluciones reales original es S={4}S=\{4\}. Elevar al cuadrado conservó la solución verdadera, pero introdujo −1-1, así que comprobar la ecuación original era esencial.

Pregunta 7

Para 2w + b = 5, el software calcula una predicción candidata de 5 + 4 × 10⁻¹³. ¿Es el par una solución simbólica exacta? ¿Aceptaría np.isclose(prediction, 5, rtol=0, atol=10⁻¹²) ese par? Explica ambas respuestas.

Mostrar la solución paso a paso

El residual exacto indicado en la pregunta es

(5+4×10−13)−5=4×10−13,(5+4\times10^{-13})-5=4\times10^{-13},

que no es cero. Por tanto, el par no es una solución exacta de la ecuación simbólica tal como está escrita.

Para la política de NumPy, compara el residual absoluto con la tolerancia absoluta porque rtol=0:

4×10−13≤10−12.4\times10^{-13}\le10^{-12}.

La desigualdad es verdadera, así que np.isclose devuelve True. El resultado significa “aceptado con esta tolerancia”, no “demostrado igual simbólicamente”. Si la aplicación exige una política más estricta o dependiente de la escala, sus tolerancias deben elegirse y documentarse.

Fuentes

  1. Mathematics for Machine Learning companion website
  2. Mathematics for Machine Learning book PDF
  3. NumPy documentation: numpy.isclose