Funciones logarítmicas

Nivel FundamentalDificultad ★★★★★Concepto⌖ Ver en el mapa

¿Qué es?

La inversa de la exponencial: log⁡ax\log_a x es la potencia a la que hay que elevar aa para obtener xx. Los logaritmos convierten productos en sumas, y por eso aparecen en el coste de los algoritmos, en la teoría de la información y en toda función de pérdida basada en la verosimilitud.

Intuición

log⁡2n\log_2 n cuenta cuántas veces se puede partir nn por la mitad hasta llegar a 1: los pasos de una búsqueda binaria, la profundidad de un árbol equilibrado, los bits necesarios para escribir nn.

Fórmulas

log⁡(xy)=log⁡x+log⁡y,ddxln⁡x=1x\log(xy) = \log x + \log y, \qquad \frac{\dd}{\dd x}\ln x = \frac1x
log⁡∏ip(xi)=∑ilog⁡p(xi)\log \prod_i p(x_i) = \sum_i \log p(x_i)
productos de probabilidades se vuelven sumas

Aplicaciones en informática

  • Análisis de algoritmos y complejidad★★★★★fundamentalComputación científica y algoritmos

    La búsqueda binaria es O(log⁡n)O(\log n) y la ordenación por comparaciones Θ(nlog⁡n)\Theta(n \log n).

  • Coma flotante (IEEE 754)★★★★★frecuenteComputación científica y algoritmos

    Multiplicar muchas probabilidades pequeñas da 0 por desbordamiento inferior; sumar sus logaritmos (log-sum-exp) no.

Dónde aparece en IA

  • Función de pérdida★★★★★fundamentalIA y machine learning

    La entropía cruzada es una log-verosimilitud negativa; el log convierte el producto sobre muestras en una suma.

¿Dónde se utiliza?

Temas de informática a los que se llega desde aquí, con la cadena de ideas que lleva a ellos:

Qué depende de él

Ejercicios

1Informática

¿Por qué las librerías de ML calculan log⁡∑iezi\log \sum_i e^{z_i} como m+log⁡∑iezi−mm + \log\sum_i e^{z_i - m} con m=max⁡izim = \max_i z_i?

Solución

Son iguales porque ezi=emezi−me^{z_i} = e^m e^{z_i - m}. Pero e1000e^{1000} desborda un doble, mientras que todo ezi−m≤1e^{z_i - m} \le 1 y al menos uno vale 1, así que la suma está en [1,n][1, n] y es segura.

↑ ↓ para navegar · ↵ · Esc