Version final principal

This commit is contained in:
Louis Lacoste 2024-05-23 00:44:25 +02:00
parent 8a2e9b9c46
commit 08e4f80499
4 changed files with 64 additions and 205 deletions

View file

@ -10,7 +10,7 @@
\section{Modèles à variables latentes pour collection de réseaux bipartites} \section{Modèles à variables latentes pour collection de réseaux bipartites}
\begin{frame} \begin{frame}
\frametitle{Latent Block Model (LBM\footnotemark[2])} \frametitle{Latent Block Model (LBM)}
%DONE remplacer i \in bullet par Zi = \bullet %DONE remplacer i \in bullet par Zi = \bullet
Proposé par~\cite{govaertEMAlgorithmBlock2005}. Proposé par~\cite{govaertEMAlgorithmBlock2005}.
\begin{columns} \begin{columns}
@ -18,92 +18,7 @@
\begin{figure}[H] \begin{figure}[H]
\center \center
\begin{tikzpicture}[scale=0.35] \begin{tikzpicture}[scale=0.35]
\tikzstyle{every state}=[draw, text=black,scale=0.95, \input{figures/lbm.tex}
transform shape]
\tikzstyle{every state}=[draw=none,text=black,scale=0.75,
transform shape]
\tikzset{edge_proba/.style={draw=white, fill=none,
text=black}}
\tikzstyle{every node}=[fill=blueind]
\node[edge_proba] (pi1) at (1,5.7)
{\textbf{$\pi_{{\color{blueind}\bullet}}$}};
\node[state, draw=black!50] (R11) at (0,5) {\textbf{R11}};
\node[state, draw=black!50] (R12) at (1,5) {\textbf{R12}};
\node[state, draw=black!50] (R13) at (2,5) {\textbf{R13}};
\tikzstyle{every node}=[fill=cyanind]
\node[edge_proba] (pi2) at (6.75,5.7)
{\textbf{$\pi_{{\color{cyanind}\bullet}}$}};
\node[state, draw=black!50] (R21) at (6.25,5)
{\textbf{R21}};
\node[state, draw=black!50] (R22) at (7.25,5)
{\textbf{R22}};
\tikzstyle{every node}=[fill=electricblue]
\node[edge_proba] (pi3) at (10,5.7)
{\textbf{$\pi_{{\color{electricblue}\bullet}}$}};
\node[state, draw=black!50] (R31) at (10,5) {\textbf{R31}};
\tikzstyle{every node}=[fill=burntorange, shape=rectangle]
\node[edge_proba] (pi3) at (0.5,-0.7)
{\textbf{$\rho_{{\color{burntorange}\bullet}}$}};
\tikzstyle{every state}=[draw=none,text=black,scale=0.75,
transform shape, shape=rectangle]
\node[state, draw=black!50] (B1) at (0,0) {\textbf{C11}};
\node[state, draw=black!50] (B2) at (1,0) {\textbf{C12}};
\tikzstyle{every node}=[fill=goldenyellow, shape=rectangle]
\node[edge_proba] (pi3) at (4,-0.7)
{\textbf{$\rho_{{\color{goldenyellow}\bullet}}$}};
\node[state, draw=black!50] (B3) at (3.5,0) {\textbf{C21}};
\node[state, draw=black!50] (B4) at (4.5,0) {\textbf{C22}};
\tikzstyle{every node}=[fill=peach, shape=rectangle]
\node[edge_proba] (pi3) at (10,-0.7)
{\textbf{$\rho_{{\color{peach}\bullet}}$}};
\node[state, draw=black!50] (B5) at (10,0) {\textbf{C31}};
\tikzstyle{every edge}=[-,>=stealth',shorten
>=1pt,auto,draw,line width=1.5pt,draw opacity=0.2]
\path (R11) edge[-,>=stealth',shorten
>=1pt,auto,draw=gray,line width=1.5pt, fill=gray, opacity=1] node[left,
fill=none] {$\alpha_{{\color{blueind}\bullet}{\color{burntorange}\bullet}}$}
(B1);
\path (R11) edge (B2);
\path (R11) edge (B3);
\path (R11) edge (B4);
\path (R12) edge [] (B1);
\path (R12) edge (B2);
\path (R12) edge (B3);
\path (R12) edge (B4);
\path (R13) edge [] (B1);
\path (R13) edge (B2);
\path (R13) edge (B3);
\path (R13) edge[-,>=stealth',shorten
>=1pt,auto,draw=gray,line width=1.5pt, fill=gray, opacity=1] node[midway, left,
fill=none] {$\alpha_{{\color{blueind}\bullet}{\color{goldenyellow}\bullet}}$}
(B4);
\path (R21) edge[-,>=stealth',shorten
>=1pt,auto,draw=gray,line width=1.5pt, fill=gray, opacity=1] node[midway,
right, fill=none]
{$\alpha_{{\color{cyanind}\bullet}{\color{goldenyellow}\bullet}}$} (B3);
\path (R21) edge (B4);
\path (R21) edge (B5);
\path (R22) edge (B3);
\path (R22) edge (B4);
\path (R22) edge[-,>=stealth',shorten
>=1pt,auto,draw=gray,line width=1.5pt, fill=gray, opacity=1] node[midway, left,
fill=none] {$\alpha_{{\color{cyanind}\bullet}{\color{peach}\bullet}}$} (B5);
\path (R31) edge[-,>=stealth',shorten
>=1pt,auto,draw=gray,line width=1.5pt, fill=gray, opacity=1] node[midway,
right, fill=none]
{$\alpha_{{\color{electricblue}\bullet}{\color{peach}\bullet}}$} (B5);
\end{tikzpicture} \end{tikzpicture}
\caption{Exemple de LBM\footnotemark} \caption{Exemple de LBM\footnotemark}
\label{fig:LBMvisu} \label{fig:LBMvisu}
@ -284,92 +199,7 @@
\begin{adjustbox}{trim=0 0 1 1.5cm} \begin{adjustbox}{trim=0 0 1 1.5cm}
\begin{tikzpicture}[scale=.33] \begin{tikzpicture}[scale=.33]
\begin{scope}[xshift=18cm, yshift=2cm] \begin{scope}[xshift=18cm, yshift=2cm]
\tikzstyle{every state}=[draw=none, text=black,scale=0.75, \input{figures/lbm.tex}
transform shape]
\tikzset{edge_proba/.style={draw=white, fill=none,
text=black}}
\tikzstyle{every node}=[fill=blueind]
\node[edge_proba] (pi1) at (1,5.7)
{\textbf{$\pi_{{\color{blueind}\bullet}}$}};
\node[state, draw=black!50] (R11) at (0,5) {\textbf{R11}};
\node[state, draw=black!50] (R12) at (1,5) {\textbf{R12}};
\node[state, draw=black!50] (R13) at (2,5) {\textbf{R13}};
\tikzstyle{every node}=[fill=cyanind]
\node[edge_proba] (pi2) at (6.75,5.7)
{\textbf{$\pi_{{\color{cyanind}\bullet}}$}};
\node[state, draw=black!50] (R21) at (6.25,5)
{\textbf{R21}};
\node[state, draw=black!50] (R22) at (7.25,5)
{\textbf{R22}};
\tikzstyle{every node}=[fill=electricblue]
\node[edge_proba] (pi3) at (10,5.7)
{\textbf{$\pi_{{\color{electricblue}\bullet}}$}};
\node[state, draw=black!50] (R31) at (10,5) {\textbf{R31}};
\tikzstyle{every node}=[fill=burntorange, shape=rectangle]
\node[edge_proba] (rho1) at (0.5,-1)
{\textbf{$\rho_{{\color{burntorange}\bullet}}$}};
\tikzstyle{every state}=[draw=none,text=black,scale=0.75,
transform shape, shape=rectangle]
\node[state, draw=black!50] (B1) at (0,0) {\textbf{C11}};
\node[state, draw=black!50] (B2) at (1,0) {\textbf{C12}};
\tikzstyle{every node}=[fill=goldenyellow, shape=rectangle]
\node[edge_proba] (rho2) at (4,-1)
{\textbf{$\rho_{{\color{goldenyellow}\bullet}}$}};
\node[state, draw=black!50] (B3) at (3.5,0) {\textbf{C21}};
\node[state, draw=black!50] (B4) at (4.5,0) {\textbf{C22}};
\tikzstyle{every node}=[fill=peach, shape=rectangle]
\node[edge_proba] (rho3) at (10,-1)
{\textbf{$\rho_{{\color{peach}\bullet}}$}};
\node[state, draw=black!50] (B5) at (10,0) {\textbf{C31}};
\node[font=\small, text justified,draw=none, fill=none,
below = 0.05cm of rho2] {BiSBM};
\tikzstyle{every edge}=[-,>=stealth',shorten
>=1pt,auto,draw,line width=1.5pt,draw opacity=0.2]
\path (R11) edge (B2);
\path (R11) edge (B3);
\path (R11) edge (B4);
\path (R12) edge [] (B1);
\path (R12) edge (B2);
\path (R12) edge (B3);
\path (R12) edge (B4);
\path (R13) edge [] (B1);
\path (R13) edge (B2);
\path (R13) edge (B3);
\path (R21) edge (B4);
\path (R21) edge (B5);
\path (R22) edge (B3);
\path (R22) edge (B4);
\path (R11) edge[-,>=stealth',shorten
>=1pt,auto,draw=gray,line width=1.5pt, fill=gray, opacity=1] node[left,
fill=none] {$\alpha_{{\color{blueind}\bullet}{\color{burntorange}\bullet}}$}
(B1);
\path (R13) edge[-,>=stealth',shorten
>=1pt,auto,draw=gray,line width=1.5pt, fill=gray, opacity=1] node[midway, left,
fill=none] {$\alpha_{{\color{blueind}\bullet}{\color{goldenyellow}\bullet}}$}
(B4);
\path (R21) edge[-,>=stealth',shorten
>=1pt,auto,draw=gray,line width=1.5pt, fill=gray, opacity=1] node[midway,
anchor=center, fill=none]
{$\alpha_{{\color{cyanind}\bullet}{\color{goldenyellow}\bullet}}$} (B3);
\path (R22) edge[-,>=stealth',shorten
>=1pt,auto,draw=gray,line width=1.5pt, fill=gray, opacity=1] node[midway, left,
fill=none] {$\alpha_{{\color{cyanind}\bullet}{\color{peach}\bullet}}$} (B5);
\path (R31) edge[-,>=stealth',shorten
>=1pt,auto,draw=gray,line width=1.5pt, fill=gray, opacity=1] node[midway,
right, fill=none]
{$\alpha_{{\color{electricblue}\bullet}{\color{peach}\bullet}}$} (B5);
\end{scope} \end{scope}
\begin{scope}[xshift=3cm, yshift = 1cm] \begin{scope}[xshift=3cm, yshift = 1cm]
@ -846,3 +676,13 @@
\bigskip \bigskip
\end{frame} \end{frame}
\section{Autres questions}
\begin{frame}{\emph{Message passing} et \emph{Graph Convolutional Network}}
TODO Formule
Fonction de perte possible
\end{frame}
\begin{frame}{Distance de Wasserstein}
TODO
\end{frame}

7
figures/network.tex Normal file
View file

@ -0,0 +1,7 @@
\draw[thick]
(-0.5,0) node[vertex] (n1^4) {}
-- (0.25,2.2) node[vertex] (n2^4) {}
-- (2,1.6) node[vertex] (n3^4) {}
-- (-0.7,1.4) node[vertex] (n4^4) {}
-- (-0.9,1.0) node[vertex] (n5^4) {}
-- (0.8,1.2) node[vertex] (n6^4) {} -- cycle;

Binary file not shown.

View file

@ -8,7 +8,7 @@
AgroParisTech\\ AgroParisTech\\
{\small Cours optionnels suivis : statistiques spatiales, {\small Cours optionnels suivis : statistiques spatiales,
mathématiques pour la santé, ingénierie par la simulation informatique \dots} mathématiques pour la santé, ingénierie par la simulation informatique \dots}
\item 2022--2023, Année de césure \item 2022--2023, Année de césure : stages
\item 2023--2024, M2 Mathématiques pour les Sciences du Vivant, \item 2023--2024, M2 Mathématiques pour les Sciences du Vivant,
Université Paris-Saclay\\ Université Paris-Saclay\\
{\small UC à choix 2\ieme semestre : modèles à variables {\small UC à choix 2\ieme semestre : modèles à variables
@ -24,11 +24,12 @@
Eurofins Food France. Eurofins Food France.
\item 2023 Janv.--Juillet, Détection de structures dans des collections de \item 2023 Janv.--Juillet, Détection de structures dans des collections de
réseaux bipartites et écriture du package implémentant la méthode. réseaux bipartites et écriture du package implémentant la méthode.\\
Stage dans lUMR MIA Paris-Saclay, supervisé par Pierre Barbillon. Stage dans lUMR MIA Paris-Saclay, supervisé par Pierre Barbillon.
\item 2024 Avril--Sept., Détection de structures et clustering de réseaux \item 2024 Avril--Sept., Détection de structures et clustering de réseaux
écologiques. Stage dans lUMR MIA Paris-Saclay, supervisé par écologiques.\\
Stage dans lUMR MIA Paris-Saclay, supervisé par
Pierre Barbillon et Sophie Donnet. Pierre Barbillon et Sophie Donnet.
\end{itemize} \end{itemize}
@ -88,7 +89,8 @@
\note[item]{Par exemple la détection de communauté, les calculs de métriques comme la centralité} \note[item]{Par exemple la détection de communauté, les calculs de métriques comme la centralité}
\end{itemize} \end{itemize}
Mais des motivations pour considérer des collections : Mais des motivations pour proposer des méthodes adaptées aux collections
de réseaux :
\begin{itemize} \begin{itemize}
\item Espèces différentes, rôles analogues. \item Espèces différentes, rôles analogues.
% Des espèces différentes dans plusieurs réseaux pourrait % Des espèces différentes dans plusieurs réseaux pourrait
@ -169,7 +171,7 @@
\end{frame} \end{frame}
\begin{frame}{Apport déjà réalisé} \begin{frame}{Apport déjà réalisé}
\begin{itemize} \begin{itemize}
\item Écriture du modèle colBiSBM. \item Écriture du modèle \emph{colBiSBM}.
\item Dérivation des formules d'inférence et d'un critère de sélection \item Dérivation des formules d'inférence et d'un critère de sélection
de modèle par vraisemblance pénalisée (choix du nombre de blocs). de modèle par vraisemblance pénalisée (choix du nombre de blocs).
\item Implémentation des formules et du critère et développement \item Implémentation des formules et du critère et développement
@ -178,7 +180,7 @@
\item Développement d'une méthode de partitionnement d'une large \item Développement d'une méthode de partitionnement d'une large
collection de réseaux basée sur la maximisation d'un critère de collection de réseaux basée sur la maximisation d'un critère de
sélection de modèle. sélection de modèle.
\item Implémentation du code intégrée au package\footnote{ \item Écriture du code et intégration au package\footnote{
\scalebox{0.8}{\faGithub~ \scalebox{0.8}{\faGithub~
\url{https://github.com/Chabert-Liddell/colSBM}}} \emph{colSBM}. \url{https://github.com/Chabert-Liddell/colSBM}}} \emph{colSBM}.
\note[item]{Pendant mon stage actuel} \note[item]{Pendant mon stage actuel}
@ -290,37 +292,42 @@
\end{figure} \end{figure}
\footnotesize \footnotesize
\only<1>{
\begin{block}{\small Problème des graphes pour les réseaux de neurones : \begin{block}{\small Problème des graphes pour les réseaux de neurones :
\textbf{prise en compte des invariances}} \textbf{prise en compte des invariances par permutation}}
\begin{itemize} \begin{itemize}
\item Utilisation des \emph{Graph Convolutional Networks} de \item Utilisation des \emph{Graph Convolutional Networks}
\cite{kipfSemiSupervisedClassificationGraph2017} résout ce problème. résout ce problème. \parencite{
\item Utiliser des \emph{Variational AutoEncoder} de kipfSemiSupervisedClassificationGraph2017}
\cite{kingmaAutoEncodingVariationalBayes2022c} et de \item Utiliser des \emph{Variational AutoEncoder}
\cite{kipfVariationalGraphAutoEncoders2016} pour projection des pour projeter les n\oe uds dans un espace latent.
n\oe uds dans un espace latent. \parencite{kingmaAutoEncodingVariationalBayes2022c,
\item Explorer le \emph{Deep Latent Space Model} kipfVariationalGraphAutoEncoders2016}
de~\cite{yangDeepLatentSpace2024} \item Explorer le \emph{Deep Latent Space Model}.
\parencite{yangDeepLatentSpace2024}
\end{itemize} \end{itemize}
\end{block} \end{block}
} \end{frame}
\only<2>{
\begin{block}{Idées à explorer pour la comparaison de réseaux} \begin{frame}{À développer pour la comparaison de réseaux}
\begin{figure}
\centering
\includegraphics[scale=0.17]{img/vae.png}
\caption{Schéma d'\cite{AutoencodeurVariationnel2024}}
\end{figure}
\begin{itemize} \begin{itemize}
\item \emph{Embedding} commun des n\oe uds des réseaux à comparer sur un même espace \item \emph{Embedding} joint des n\oe uds des $M$ réseaux à comparer sur un même espace
latent. Puis comparaison des distributions ainsi obtenues. latent. Puis comparaison des distributions ainsi obtenues.
\item Encodeurs différents mais un décodeur commun pour comparer les \item Encodeurs différents mais un décodeur commun pour comparer les
représentations obtenues représentations obtenues
\end{itemize} \end{itemize}
\end{block}
}
\end{frame} \end{frame}
% \begin{frame}[allowframebreaks]{\emph{Graph Neural Networks}} % \begin{frame}[allowframebreaks]{\emph{Graph Neural Networks}}
% \begin{figure} % \begin{figure}
% \includegraphics[scale=0.4]{img/Message_passing.pdf} % \includegraphics[scale=0.4]{img/Message_passing.pdf}
@ -376,8 +383,13 @@
\begin{column}{0.4\textwidth} \begin{column}{0.4\textwidth}
\begin{figure}[t] \begin{figure}[t]
\centering \centering
TODO Ici une image avec des liens de probas proches pour faire commentaire % TODO Ici une image avec des liens de probas proches pour faire commentaire
% \includegraphics[scale=0.25]{img/plot_model_function_eps.png} % \includegraphics[scale=0.25]{img/plot_model_function_eps.png}
\begin{tikzpicture}[
vertex/.style = {circle, draw, inner sep=1pt, fill=blue!30!white},
]
\input{figures/network.tex}
\end{tikzpicture}
\caption{Réseau de co-occurence inféré} \caption{Réseau de co-occurence inféré}
\label{fig:otu-synthetiques} \label{fig:otu-synthetiques}
\end{figure} \end{figure}
@ -389,13 +401,13 @@
OTU\footnote{Unité Taxonomique Opérationnelle} OTU\footnote{Unité Taxonomique Opérationnelle}
\item Incertitude d'inférence disponible mais négligée par la suite, \item Incertitude d'inférence disponible mais négligée par la suite,
important pour les réseaux microbiens seulement inférés important pour les réseaux microbiens seulement inférés
\item Autre limites et détails \item Détails et autre limites
dans~\cite{matchadoNetworkAnalysisMethods2021} dans~\cite{matchadoNetworkAnalysisMethods2021}
\end{itemize} \end{itemize}
\end{frame} \end{frame}
\begin{frame}{Idées à explorer pour l'inférence jointe de réseaux} \begin{frame}{À développer pour l'inférence jointe de réseaux}
\begin{itemize} \begin{itemize}
\item Avec $M$ tableaux d'OTU, on peut supposer : \item Avec $M$ tableaux d'OTU, on peut supposer :
\begin{block}{Modèle hiérarchique} \begin{block}{Modèle hiérarchique}
@ -420,7 +432,7 @@
\centering \centering
\begin{chronology}[1]{2024}{2028}{\textwidth}[110ex] \begin{chronology}[1]{2024}{2028}{\textwidth}[110ex]
\eventspan {\decimaldate{1}{10}{2024}}{\decimaldate{1}{6}{2025}}% \eventspan {\decimaldate{1}{10}{2024}}{\decimaldate{1}{6}{2025}}%
{\small\textbf{\color{blue} Collections \& modèles à variables latentes}}[blue][.3][0.1] {\textbf{\color{blue} Collections \& modèles à variables latentes}}[blue][.3][0.1]
\eventspan {\decimaldate{1}{5}{2025}}{\decimaldate{1}{10}{2026}}% \eventspan {\decimaldate{1}{5}{2025}}{\decimaldate{1}{10}{2026}}%
{\textbf{\color{red} \emph{Embedding} de n\oe uds par \emph{Deep Learning}}}[red][.3][0.1] {\textbf{\color{red} \emph{Embedding} de n\oe uds par \emph{Deep Learning}}}[red][.3][0.1]
\eventspan {\decimaldate{1}{3}{2026}}{\decimaldate{1}{4}{2027}}% \eventspan {\decimaldate{1}{3}{2026}}{\decimaldate{1}{4}{2027}}%