1 votos

¿Cómo aproximar una función para hacerla diferenciable?

Estaba leyendo un artículo que hacía la función mediana $$ \mathcal{M} = \arg\min_c\sum_{j=1}^N\|x_j-c\|_p,$$ diferenciable sustituyendo arg min por un softmax para formar una media ponderada, es decir $ \mathcal{M} \approx \mathbf{s}^T\mathbf{X},$ donde la función softmax es $$ s_i = \frac{e^{-\frac{1}{T}||x_j-x_i||}}{\sum_{q=1}^ne^{-\frac{1}{T}||x_j-x_q||}}$$

Se utilizó Softmax para que las ponderaciones estén entre $0$ y $1$ , también podríamos ponerlo a través de otras funciones. Pero, ¿existen otros métodos diferentes para aproximar esta función (y otras similares) para hacerlas diferenciables?

0voto

SUMIT MITRA Puntos 16

Hay un número casi infinito de formas de aproximarse. En el contexto de la optimización, una técnica común sería optimizar los parámetros en una secuencia de parámetros fijos de temperatura $T$ (utilizando su formulación softmax), aumentando gradualmente $T\rightarrow\infty$ . En otras palabras, optimizar primero en $T=10$ entonces $T=100$ etc., todo ello utilizando los últimos pesos de optimización $x_i$ de la optimización anterior.

Esto tiene el efecto de hacer que el softmax converja al valor máximo, a la vez que se optimiza sobre una función diferenciable.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X