Inicio · Parte 02 — Álgebra y funciones
log(ab) = log a + log b
log(a/b) = log a − log b
log(aⁿ) = n log a
log_b(a) = ln a / ln b
El logaritmo se inventó, literalmente, para convertir multiplicaciones en sumas. Napier publicó sus tablas en 1614 con ese propósito explícito: antes de las calculadoras, multiplicar dos números de seis cifras era costoso y sumar sus logaritmos no. Esa misma propiedad, cuatro siglos después, es la razón por la que el logaritmo está en el centro de la estadística y del machine learning.
El motivo es de precisión, no de velocidad. Multiplicar diez mil probabilidades —cada una menor que 1— produce un número tan pequeño que hace underflow a cero en float64 (clase 033). Sumar diez mil logaritmos no tiene ese problema. Por eso la verosimilitud se maximiza siempre como log-verosimilitud (clase 215) y por eso la pérdida de un clasificador es cross-entropy, que es una suma de logaritmos (clase 263).
Las tres leyes se deducen directamente de las de exponentes, porque el logaritmo es su función inversa. log(ab) = log a + log b es exactamente aᵐ·aⁿ = aᵐ⁺ⁿ leído al revés. El cambio de base, log_b(a) = ln a / ln b, permite calcular cualquier logaritmo con uno solo implementado.
Numéricamente hay dos precauciones. El dominio es x > 0, y log(0) es −inf: por eso toda implementación de cross-entropy añade un epsilon. Y log(1 + x) para x pequeño sufre cancelación, de ahí que exista log1p (clase 040).
Las tres leyes verificadas con a = 12, b = 5.
log(12·5) = log(60) = 4.094345
log 12 + log 5 = 2.484907 + 1.609438 = 4.094345 ✓
log(12/5) = log(2.4) = 0.875469
log 12 − log 5 = 2.484907 − 1.609438 = 0.875469 ✓
log(12³) = log(1728) = 7.454720
3·log 12 = 3 · 2.484907 = 7.454720 ✓
Cambio de base:
log₂(12) = ln 12 / ln 2 = 2.484907/0.693147 = 3.584963
math.log2(12) = 3.584963 ✓
Las tres leyes del logaritmo verificadas numéricamente.
python classes/part-02-algebra-y-funciones/051-logaritmos-y-sus-propiedades/lab.py
compmath run 051
log(a*b)log(a)+log(b)ley_productolog(a/b)log(a)-log(b)log(a^3)3*log(a)cambio_de_base_log2(a)math.log2(a){
"log(a*b)": 4.0943445622221,
"log(a)+log(b)": 4.0943445622221,
"ley_producto": true,
"log(a/b)": 0.8754687373538999,
"log(a)-log(b)": 0.8754687373539001,
"log(a^3)": 7.454719949364001
}
Log-verosimilitud, cross-entropy, entropía, escalas logarítmicas (decibelios, pH, magnitud sísmica), perplejidad de un modelo de lenguaje y leyes de escala.
Una red neuronal es una composición de funciones parametrizadas. La sigmoide, la softmax y la log-verosimilitud son álgebra de exponenciales y logaritmos.
math.log, math.log1p, math.log2 — documentación de la herramienta que ejecuta el laboratorio · URL de la fuente primaria comprobada en Python Software Foundation (2026-08-19).