From b70506d3c6c536c3697a419ae7fb0e359462dee7 Mon Sep 17 00:00:00 2001 From: Louis Date: Tue, 23 Dec 2025 13:40:52 +0100 Subject: [PATCH] =?UTF-8?q?Supp=20mod=C3=A8le=201=20et=20ajout=20d=C3=A9ta?= =?UTF-8?q?ils=20sur=20dual?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- suivi/2025-51/2025-51.qmd | 159 ++++++++++++++++++++++++++++++++------ 1 file changed, 137 insertions(+), 22 deletions(-) diff --git a/suivi/2025-51/2025-51.qmd b/suivi/2025-51/2025-51.qmd index a79dd78..2647d7a 100644 --- a/suivi/2025-51/2025-51.qmd +++ b/suivi/2025-51/2025-51.qmd @@ -37,7 +37,7 @@ bibliography: references.bib - Comparaison covar prop avec GREMLINS multipartite sur (log(dist_phylo), fungus-tree) - Trouver manière de faire un compromis : $\ell(Y,Z,W;\theta) - \lambda d(C(W),C_0)$ avec $C(W)$ le clustering seulement sur la base de la structure LBM et $C_0$ le clustering de l'arbre. Problème $d$ est une distance entre partition, comment optimiser dessus ? - Mise à jour partielle des $\tau$ : ce qui pose soucis c'est les gros calculs matriciels (c'est vraiment vrai?). Donc sorte de "stochastic" VEM où on update seulement une partie des $\tau$ à chaque itération. Et échantillonnage stratifié selon l'arbre ? -- Chercher à formuler le problème dual (s'il existe?) de l'optimisation du LBM. Peut-être possible d'aller plus vite alors ? +- ✅ **Inutile car besoin du primal** Chercher à formuler le problème dual (s'il existe?) de l'optimisation du LBM. Peut-être possible d'aller plus vite alors ? @eq-dual ::: @@ -91,27 +91,6 @@ $$ Plusieurs possibilités pour la définition de $\rho_r^j$ -##### Modèle 1 (Tabouy) - -Dénominateur pas correct, ne somme pas à 1. - -$\rho_r^j = \frac{\exp{\beta_r X_j\mathbf{1}_{\{r\neq R\}}}}{1+\sum_{s=1}^{R-1} \beta_s X_j}, \beta_R = 0$ et $\rho_R^{j} = \frac{1}{1+\sum_{s=1}^{R-1} \beta_s X_j}$ (pas de compréhension intuitive) - -La partie pertinente de l'ELBO devient: -$$ - P((\beta_r)_{r=1,\dots,R}, (X_j)_{j=1,\dots,n_2}, (\tau_{jr})_{\substack{j=1,\dots,n_2\\r=1,\dots,R}} ) = \sum_{j=1}^{n_2} \sum_{r=1}^{R} [\tau_{jr} (\beta_r X_j \mathbb{1}_{r\neq R} - \log (1+\sum_{s=1}^{R-1} \beta_s X_j))] -$$ - -Et on obtient la dérivée partielle par rapport à $\beta_t$ comme: -\begin{align*} -\dfrac{\partial P}{\partial \beta_t}&((\beta_r)_{r=1,\dots,R}, (X_j)_{j=1,\dots,n_2}, (\tau_{jr})_{\substack{j=1,\dots,n_2\\r=1,\dots,R}} ) = \sum_{j=1}^{n_2} \biggl[ \tau_{jt} X_j - \frac{X_j}{1+\sum_{s=1}^{R-1} \exp{\beta_s X_j}} \biggr]\\ -& = \sum_{j=1}^{n_2} \biggl[\bigl(\tau_{jt} - \frac{1}{1+\sum_{s=1}^{R-1} \beta_s X_j} \bigr) X_j\biggr] = \sum_{j=1}^{n_2} \biggl[\bigl(\tau_{jt} - \rho_R^j \bigr) X_j\biggr] -\end{align*} - -❓ Gradient mesure l'écart entre probas a posteriori et la proba a priori du groupe de référence ? - -**Conclusion**: Il manque l'exponentielle cette formulation ne somme pas à 1. - ##### Modèle Sophie Avec $\rho_r^j = \frac{\exp{\beta_r X_j}}{\sum_{s=1}^{R} \exp{\beta_s X_j}} = \sigma(\pmb{\beta} \pmb{X})_{r,j}$, où $\sigma$ désigne le softmax. Mais il y a besoin de poser une contrainte sur l'un des $(\beta_r)_{r=1,\dots,R}$, ici $\beta_R = 0$. @@ -127,6 +106,142 @@ Et on obtient la dérivée partielle par rapport à $\beta_t$ comme: & = \sum_{j=1}^{n_2} \biggl[\bigl(\tau_{jt} - \sigma(\pmb{\beta} \pmb{X})_{t,j}\bigr) X_j\biggr] = \sum_{j=1}^{n_2} \biggl[\bigl(\tau_{jt} - \rho_t^j \bigr) X_j\biggr] \end{align*} +#### Idée du problème dual +Les distributions variationnelles sont définies par : + +$$ +q(Z,W) += +\prod_{i=1}^{n_1} q_i(Z_i) +\prod_{j=1}^{n_2} q_j(W_j), +$$ + +avec +$$ +q_i(Z_i=q)=\tau_{iq}^{(1)}, +\qquad +q_j(W_j=r)=\tau_{jr}^{(2)}. +$$ + +Les contraintes de normalisation sont : +$$ +\sum_{q=1}^Q \tau_{iq}^{(1)} = 1, +\qquad +\sum_{r=1}^R \tau_{jr}^{(2)} = 1. +$$ + +--- + +##### Lagrangien + +Le lagrangien du problème variationnel s’écrit : +$$ +\mathcal{L}\!\left( +\tau^{(1)},\tau^{(2)},(\lambda_i)_{i=1}^{n_1},(\mu_j)_{j=1}^{n_2} +\right) += +\ELBORTheta ++ +\sum_{i=1}^{n_1} \lambda_i +\left(1-\sum_{q=1}^Q \tau_{iq}^{(1)}\right) ++ +\sum_{j=1}^{n_2} \mu_j +\left(1-\sum_{r=1}^R \tau_{jr}^{(2)}\right), +$$ +où $\ELBORTheta$ désigne la borne inférieure variationnelle +associée au modèle et aux paramètres $\Theta$. + +--- + +##### Problème primal (conditions d’optimalité) + +En dérivant le lagrangien par rapport aux variables variationnelles +$\tau^{(1)}$ et $\tau^{(2)}$, puis en égalisant à zéro, on obtient +les équations de point fixe suivantes : + +$$ +\tau_{iq}^{(1)} +\propto +\pi_q^{(t)} +\prod_{j=1}^{n_2} +\prod_{r=1}^{R} +f\!\left(Y_{ij};\alpha_{qr}^{(t)}\right)^{\tau_{jr}^{(2),(t+1)}}, +\quad +\forall i=1,\dots,n_1,\; +q=1,\dots,Q, +$$ + +$$ +\tau_{jr}^{(2)} +\propto +\rho_r^{(t)} +\prod_{i=1}^{n_1} +\prod_{q=1}^{Q} +f\!\left(Y_{ij};\alpha_{qr}^{(t)}\right)^{\tau_{iq}^{(1),(t+1)}}, +\quad +\forall j=1,\dots,n_2,\; +r=1,\dots,R, +$$ +où : + +- $\pi_q^{(t)}$ et $\rho_r^{(t)}$ sont les proportions de classes, +- $f(\cdot;\alpha_{qr})$ est la loi d'émission du modèle, +- $\alpha_{qr}^{(t)}$ désigne les paramètres de bloc à l’itération $t$. + +--- + +##### Constantes de normalisation + +Les constantes de normalisation associées sont données par : + +$$ +T^{(1),(t)}_i += +\sum_{q=1}^{Q} +\pi_q^{(t)} +\exp\!\left( +\sum_{j=1}^{n_2} +\sum_{r=1}^{R} +\tau_{jr}^{(2)} +\log f\!\left(Y_{ij};\alpha_{qr}^{(t)}\right) +\right), +$$ + +$$ +T^{(2),(t)}_j += +\sum_{r=1}^{R} +\rho_r^{(t)} +\exp\!\left( +\sum_{i=1}^{n_1} +\sum_{q=1}^{Q} +\tau_{iq}^{(1)} +\log f\!\left(Y_{ij};\alpha_{qr}^{(t)}\right) +\right). +$$ + +Ainsi, les mises à jour normalisées s’écrivent : +$$ +\tau_{iq}^{(1)} = \frac{1}{T^{(1),(t)}_i}(\cdots), +\qquad +\tau_{jr}^{(2)} = \frac{1}{T^{(2),(t)}_j}(\cdots). +$$ + +--- + +##### Interprétation duale + +Les multiplicateurs de Lagrange s’identifient alors à : +$$ +\lambda_i = -\log T^{(1),(t)}_i - 1, +\qquad +\mu_j = -\log T^{(2),(t)}_j - 1, +$$ {#eq-dual} +et le problème dual consiste à minimiser une somme de fonctions de +log-partition, ce qui montre que l’algorithme VEM réalise implicitement +une descente sur le dual. + + #### Bibliographie: à lire, à faire