Phase 00 - Lesson 22
Funciones y Graficos
This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.
Una funcion es una maquina: dale un numero, recibe un numero de vuelta. Un grafico es una foto de todos los pares entrada-salida a la vez.
Tipo: Aprender Lenguajes: Python Requisitos previos: Variables y Algebra (00-21) Tiempo: ~40 minutos
Objetivos de Aprendizaje
- Leer
f(x)como "la salida de la maquina f cuando le das x" - Evaluar una funcion en una entrada dada
- Reconocer las formas de tres funciones por intuicion: lineal, exponencial, sigmoide
- Conectar cada forma a una cantidad real de IA (una recta de tasa de aprendizaje, decaimiento exponencial, una compuerta sigmoide)
El Concepto
Una funcion es una maquina entrada-salida
En la leccion 00-21 una variable era una incognita por resolver. Una funcion es diferente: es una regla que convierte cualquier entrada en una salida. La escribimos f(x), leida "f de x", que significa "el valor que la maquina f produce cuando se le da x".
f(x) = 2x + 1
Esta maquina duplica la entrada y suma 1. Dale numeros:
f(0) = 2(0) + 1 = 1
f(3) = 2(3) + 1 = 7
f(5) = 2(5) + 1 = 11
El x es una ranura que llenas. Todo el lado derecho es solo la aritmetica del orden de las operaciones de la leccion 00-13, evaluada en lo que pongas. Nota que esto NO es resolver para x; se te DA x y calculas la salida.
Un grafico es una foto de la maquina
Si calculas f(x) para muchas entradas y graficas cada par (entrada, salida) como un punto, los puntos forman una forma. Esa forma es el grafico, y su forma te dice al instante como se comporta la maquina. No necesitas dibujarlo perfectamente; necesitas reconocer tres formas.
Forma 1: lineal (una recta)
f(x) = 2x + 1
Cada paso a la derecha de 1 mueve la salida hacia arriba la misma cantidad (aqui, 2). El cambio constante da una recta. El numero que multiplica x (el 2) es la inclinacion, llamada pendiente. Un "calentamiento" de tasa de aprendizaje que sube una cantidad fija en cada paso es una recta.
Forma 2: exponencial (una curva que explota o decae)
f(x) = 2^x
Esta es la leccion de potencias (00-17) convertida en funcion. Cada paso a la derecha no suma una cantidad fija; MULTIPLICA por 2. Asi que la salida se duplica en cada paso: 1, 2, 4, 8, 16. La curva empieza plana y se dispara hacia arriba. Ejecutala al reves con un signo negativo y decae hacia cero:
f(x) = 2^(-x) -> 1, 0.5, 0.25, 0.125, ... (dividiendo a la mitad cada paso)
Los cronogramas de decaimiento de tasa de aprendizaje y la ponderacion exp(-x) en muchas formulas de IA tienen esta forma.
Forma 3: sigmoide (una S que comprime cualquier cosa en 0 a 1)
sigmoide(x) = 1 / (1 + e^(-x))
Parece complicada, pero su comportamiento es simple: toma CUALQUIER entrada, desde un numero negativo enorme hasta uno positivo enorme, y la comprime en el rango entre 0 y 1. Una entrada muy negativa da casi 0, una muy positiva da casi 1, y sigmoide(0) = 0.5 queda exactamente en el medio. La curva es una letra S estirada. Esta es la clasica forma de "compuerta" o "probabilidad": convierte una puntuacion bruta en algo que puedes leer como "que tan encendido, de 0 a 1". Las neuronas, las compuertas de atencion y los clasificadores binarios todos la usan.
El resumen de una linea de las tres formas
lineal: cambio constante -> recta
exponencial: cambio multiplicativo -> plana luego explosiva (o decayendo)
sigmoide: comprimida -> curva en S, salida atrapada en 0..1
Recuerdo activo
Produce la respuesta. Lo mas facil primero.
- Para
f(x) = 2x + 1, cuanto esf(4)? - Para
g(x) = 2^x, cuanto esg(3)? - Aproximadamente, cuanto es
sigmoide(0), y por que?
Respuestas: 9 (2x4+1); 8 (la escalera de duplicaciones, 2^3); 0.5, porque una entrada 0 cae exactamente en el medio del rango de 0 a 1.
Alerta de error comun
La trampa es confundir el crecimiento lineal y el exponencial. Una recta SUMA la misma cantidad en cada paso; un exponencial MULTIPLICA en cada paso. Se parecen cerca del inicio, pero el exponencial deja a la recta muy atras: en x = 10, la recta 2x es 20 mientras 2^x es 1024. Cuando alguien dice "crece linealmente" frente a "crece exponencialmente", ese factor (50x aqui, y subiendo) es toda la diferencia.
Construyelo
python phases/00-setup-and-tooling/22-functions-and-graphs/code/functions.py
Por que esto importa para la IA
Los modelos son funciones: una red es un enorme f(entradas) = salidas. El entrenamiento remodela esa funcion para ajustarse a los datos. Las tres formas aqui estan en todas partes: las capas lineales hacen Wx + b, los cronogramas de tasa de aprendizaje suben y decaen, y la sigmoide (y su prima softmax) convierte puntuaciones en probabilidades a la salida de casi todo clasificador. Reconocer una forma a partir de su formula es como predices que hara una parte de un modelo antes de siquiera ejecutarla.