2 votos

Expresión de la derivada del hiperparámetro del núcleo con respecto a los nuevos datos

Me gustaría determinar cómo cambiará el hiperparámetro cuando se observe un nuevo dato y se actualice la GP con este nuevo dato.

Considerando la siguiente distribución predictiva del GP:

$$\mu(x^*)=K(x^*,X)^\top[K(X,X)+\sigma_n^2\mathbf{I}]^{-1} \mathbf{y_n}$$

y el núcleo exponencial cuadrado:

$$K(x,x') = \sigma^2\exp\left(\frac{-(x-x')^T(x-x')}{2l^2}\right)$$

¿Cómo puedo calcular $\frac{\partial l}{\partial \mu}$ ? En segundo lugar, ¿es correcto calcular la métrica para determinar el cambio en el hiperparámetro, especialmente la escala de longitud, con respecto a los nuevos datos?

1voto

Bauna Puntos 176

Tal y como está redactada, la pregunta no tiene mucho sentido: $l$ es un hiperparámetro del problema y no depende en absoluto de los datos, por lo que $\frac{\mathrm d l}{\mathrm d \mu}$ o cualquier otra derivada similar es siempre simplemente cero. Tampoco estoy muy seguro de lo que quieres decir al tomar la derivada por $\mu$ .

Lo que parece que quieres es algo así: "¿cómo debo actualizar localmente mis hiperparámetros dados los nuevos datos?" Voy a responder a una pregunta ligeramente diferente: "¿cómo debo actualizar localmente mis hiperparámetros a medida que cambia mi conjunto de datos de entrenamiento? Esta pregunta, aunque menos natural, es mucho más susceptible de ser derivada.

Voy a utilizar $\theta$ para referirse al conjunto general de parámetros, tanto porque $l$ es un mal nombre de variable ( $\ell$ es mejor...) y porque probablemente quiera optimizar más de uno. Una forma de formalizar esto sería:

  • Decidir una regla de elección $\theta$ datos dados: tal vez sea el $l$ que maximiza la probabilidad marginal $p_\theta(\mathbf y \mid \mathbf X)$ . Puede llamar a esto \begin{align} \hat \theta &= \operatorname{argmax}_{\theta} \log p_\theta(\mathbf y \mid \mathbf X) \\&= \operatorname{argmax}_{\theta} - \mathbf y^T K_\theta(\mathbf X, \mathbf X)^{-1} \mathbf y - \tfrac12 \log\det K_\theta(\mathbf X, \mathbf X) .\end{align}
  • A continuación, puede preguntar sobre cómo este $\hat \theta$ cambia a medida que su conjunto de datos $\mathbf X, \mathbf y$ cambios. Por ejemplo, \begin{align} \frac{\mathrm d \hat\theta}{\mathrm d \mathbf y} &= \frac{\mathrm d}{\mathrm d \mathbf y} \operatorname{argmax}_{\theta} \log p_\theta(\mathbf y \mid \mathbf X) .\end{align}

Ahora, esto está bien definido. El problema es que tomar esa derivada no es trivial. (Si hubiera una expresión de forma cerrada para $\hat\theta$ Podríamos escribirlo y diferenciarlo. Pero casi nunca lo hay).

En cambio, podemos recurrir a la teorema de la función implícita para ver que $$ \frac{\mathrm d \hat\theta}{\mathrm d \mathbf y} \Bigg\rvert_{\mathbf y = \mathbf y_0} = - \left[ \frac{\partial^2 \log p_\theta(\mathbf y \mid \mathbf X)}{\partial \theta \, \partial\theta} \right]^{-1} \frac{\partial^2 \log p_\theta(\mathbf y \mid \mathbf X)}{\partial \theta \, \partial \mathbf y} \Bigg\rvert_{\substack{\mathbf y = \mathbf y_0 \\\theta = \hat\theta(\mathbf y_0)}} $$ o lo mismo para $\mathbf X$ .

Ahora bien, tomar estos derivados a mano será algo desagradable, pero probablemente factible; hay son formas cerradas para la derivada de la inversa de la matriz y logdet, por ejemplo.

Si $\theta$ es más que unos pocos parámetros, esto también será bastante caro computacionalmente en una biblioteca de diferenciación automática como PyTorch, TensorFlow, o JAX - pero para un puñado de $\theta$ No debería serlo. también mucho trabajo de implementación. (Para un tamaño moderado $\theta$ JAX podría ser más eficiente, ya que, a diferencia de los otros dos, permite la autodifusión en modo forward).

(Compruebe mi aplicación del teorema aquí; lo he copiado de una entrada del blog en lugar de trabajar de nuevo).

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