Curso de Matemáticas para IA · Lección 2 de 180
Las funciones son máquinas reutilizables para los cálculos de IA
Pasa de las variables a las funciones: evalúa correspondencias entre entrada, regla y salida, combina cálculos sencillos y descubre por qué un modelo puede procesar muchos ejemplos.
En la lección 1, las variables daban nombre a las entradas, los parámetros y las salidas. Una función empaqueta la relación entre esas variables en una regla reutilizable.
Esta estructura ya basta para describir el acto central de la inferencia. Un modelo recibe una entrada, aplica una regla determinada por sus parámetros y devuelve una salida. Al terminar esta lección, podrás evaluar una función, separar la regla de un cálculo concreto y traducir esa misma relación a Python.
Una regla, muchas evaluaciones
Considera la función
La notación se lee « de ». Nombra la salida producida cuando la función recibe el valor de entrada .
Para :
Para :
Estas son dos evaluaciones de una misma función. La regla no cambió.
En este estado, f((2)) = 2x da 4. Volver a introducir 2 con la misma regla siempre produce la misma salida.
La imagen de la máquina resulta útil siempre que recordemos qué deja fuera. Una función matemática no tiene por qué implementarse mediante pasos físicos dentro de una caja. La promesa clave es la correspondencia: entra una entrada permitida y sale una única salida determinada.
Un modelo es una función con parámetros
La regla de puntuación pequeña de la lección 1 era
Podemos darle nombre como función:
El punto y coma es una convención útil. Separa la entrada ordinaria de los parámetros y . No crea un nuevo tipo de aritmética.
Cuando termina el entrenamiento, supón que los parámetros almacenados son y . El modelo desplegado es entonces la función
Puede procesar muchas entradas:
El entrenamiento elige los valores de los parámetros que definen la regla desplegada. La inferencia evalúa esa regla para entradas nuevas.
La notación de funciones mantiene legible una canalización
Supón que una aplicación convierte primero una medición sin procesar en un valor normalizado y después convierte ese valor en una puntuación.
Sea
la función de normalización, y sea
la función de puntuación. Para , evalúa la canalización desde dentro hacia fuera:
La notación combinada
se llama composición. La salida de se convierte en la entrada de .
Este patrón aparece en todos los sistemas de IA. El preprocesamiento produce características; las capas del modelo transforman representaciones; una función final convierte las puntuaciones en probabilidades o decisiones. Las lecciones posteriores mostrarán que la regla de la cadena utilizada en la retropropagación sigue el mismo recorrido de dependencias en sentido inverso.
La misma regla en Python
La sintaxis de funciones de Python hace visible la estructura entrada-regla-salida. El tutorial de Python describe def como la forma de introducir una definición de función.
def normalize(x):
return (x - 10) / 5
def score(z):
return 2 * z + 1
def model(x):
normalized = normalize(x)
return score(normalized)
print(model(20)) # 5.0
print(model(5)) # -1.0
El nombre local normalized registra la salida intermedia. La función model compone las dos reglas sin duplicar ninguna.
La notación matemática y la sintaxis de Python difieren:
| Idea | Matemáticas | Python |
|---|---|---|
| Definir una regla | def f(x): return 2*x + 1 | |
| Evaluarla | f(3) | |
| Componer reglas | g(f(x)) | |
| Nombrar un resultado intermedio | z = f(x) |
La correspondencia resulta útil, pero no es perfecta. Las funciones de Python pueden leer archivos, modificar estados externos, usar aleatoriedad o devolver resultados diferentes en momentos distintos. Una función matemática, por definición, asigna una salida a cada entrada. Cuando un texto de ML llama función a un procedimiento estocástico, el estado aleatorio debe considerarse parte de la entrada completa o de la descripción del modelo.
Casos límite: no toda regla define una salida válida en todas partes
Considera
La expresión no puede producir una salida real cuando porque la división por cero no está definida. Por tanto, decir solamente que « toma un número real» es demasiado impreciso. Sus entradas reales permitidas excluyen el cero.
Esto importa en el código de IA. Una función de normalización que divide por la desviación estándar de una característica necesita un plan para la varianza cero. Un logaritmo utilizado en una pérdida necesita una entrada positiva. Una función tensorial espera una forma compatible. Las funciones tienen condiciones de validez; la lección 3 dará nombres precisos a esas condiciones.
Comprueba lo que has entendido
Pregunta 1
Evalúa f(x) = 3x - 2 en x = 4 y en x = -1.
Mostrar la solución paso a paso
Para , sustituye donde aparezca :
Para :
La regla de la función permaneció fija. Solo cambió el valor de entrada.
Pregunta 2
Una regla envía la entrada 2 a la salida 5 en una evaluación y a la salida 7 en otra, sin nombrar ninguna otra entrada o estado. ¿Es una función matemática de esa entrada por sí sola?
Mostrar la solución paso a paso
No. Una función debe asignar exactamente una salida a cada entrada permitida. La misma entrada no puede corresponder tanto a como a bajo una función que no haya cambiado.
El procedimiento podría depender de una entrada omitida, como un estado aleatorio o el tiempo. Si se incluye ese estado, podría definirse una función mayor; por ejemplo, , donde es una semilla aleatoria. Pero no es una función únicamente de la entrada indicada.
Pregunta 3
Sea n(x) = (x - 4) / 2 y g(z) = z². Calcula g(n(10)) paso a paso.
Mostrar la solución paso a paso
Evalúa primero la función interna:
Usa esa salida como entrada de :
Por tanto, la función compuesta asigna a .
Pregunta 4
En f(x; w, b) = wx + b, ¿qué cambia durante la inferencia normal y qué cambió durante el entrenamiento?
Mostrar la solución paso a paso
Durante la inferencia normal, el modelo recibe distintos valores de , mientras que los parámetros almacenados y normalmente permanecen fijos. El entrenamiento es el proceso que cambió y para ajustarse a los datos.
Ambas fases evalúan funciones, pero los roles de sus variables son distintos:
Pregunta 5
¿Por qué una implementación de h(x) = 1/x debe ocuparse de x = 0 antes de evaluar?
Mostrar la solución paso a paso
Para , la regla solicita , que no tiene un valor real. La entrada está fuera del dominio real válido de la regla.
Una implementación debe rechazar la entrada, elegir un valor alternativo definido por separado o reformular la operación. Añadir silenciosamente un número pequeño cambia la función que se calcula y debe documentarse como una convención numérica, no presentarse como una igualdad exacta.