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).