773 lines
No EOL
36 KiB
TeX
773 lines
No EOL
36 KiB
TeX
\section{Parcours}
|
||
\label{sec:parcours}
|
||
\begin{frame}{Formations}
|
||
|
||
\begin{itemize}
|
||
\item 2018--2020, Classe Préparatoire BCPST
|
||
\item 2020--2022, 1ère et 2ème année en formation Ingénieur
|
||
AgroParisTech\\
|
||
{\small Cours optionnels suivis : statistiques spatiales,
|
||
mathématiques pour la santé, ingénierie par la simulation informatique \dots}
|
||
\item 2022--2023, Année de césure
|
||
\item 2023--2024, M2 Mathématiques pour les Sciences du Vivant,
|
||
Université Paris-Saclay\\
|
||
{\small UC à choix 2\ieme semestre : modèles à variables
|
||
latentes, statistiques spatiales et méthodes de statistiques en grandes dimension}
|
||
|
||
\end{itemize}
|
||
|
||
\end{frame}
|
||
\begin{frame}{Expériences professionnelles}
|
||
|
||
\begin{itemize}
|
||
\item 2022 Mai--Déc., Stage assistant ingénieur en Qualité chez
|
||
Eurofins Food France
|
||
|
||
\item 2023 Janv.--Juillet, Détection de structures dans des collections de
|
||
réseaux bipartites et écriture du package implémentant la méthode.
|
||
Stage dans l’UMR MIA Paris-Saclay, supervisé par Pierre Barbillon.
|
||
|
||
\item 2024 Avril--Sept., Détection de structures et clustering de réseaux
|
||
écologiques. Stage dans l’UMR MIA Paris-Saclay, supervisé par
|
||
Pierre Barbillon et Sophie Donnet.
|
||
|
||
\end{itemize}
|
||
|
||
\end{frame}
|
||
|
||
|
||
\section{Sujet de thèse}
|
||
|
||
\begin{frame}
|
||
\frametitle{Contexte écologique}
|
||
\begin{itemize}
|
||
\item Nombreux réseaux disponibles \parencite{WebLifeEcological} pour interactions similaires. Par exemple,
|
||
interactions proies-prédateurs, plantes-pollinisateurs \dots
|
||
\item Suivi biodiversité, analyse de robustesse et risque d'effondrement
|
||
% Ces réseaux permettent un suivi de la biodiversité, de détecter
|
||
% et d'analyser la robustesse et les changements subies par ces
|
||
% écosystèmes et notamment les risques d'effondrement de la
|
||
% biodiversité.
|
||
\begin{figure}[ht]
|
||
\centering
|
||
\begin{tikzpicture}[scale=.6]
|
||
\tikzstyle{every edge}=[-,>=stealth',shorten >=1pt,auto,thin,draw]
|
||
\tikzstyle{every state}=[draw, text=white,scale=0.65, font=\scriptsize, transform shape]
|
||
|
||
% Upper level
|
||
\tikzstyle{every state}=[draw=none,text=white,scale=0.55, font=\scriptsize, transform shape]
|
||
% premier cluster
|
||
\tikzstyle{every node}=[fill=green!50!blue!20!white]
|
||
\node[state] (N1) at (1.1,3) {\includegraphics[width=.1\textwidth]{img/pollen.png}};
|
||
\node[state, right = of N1] (N2) {\includegraphics[width=.1\textwidth]{img/pollen.png}}; % at (.75,3)
|
||
\node[state, right = of N2] (N3) {\includegraphics[width=.1\textwidth]{img/pollen.png}}; % at (1.5,3)
|
||
\node[state, right = of N3] (N4) {\includegraphics[width=.1\textwidth]{img/pollen.png}}; % at (2.25,3)
|
||
% \node[state] (N5) at (3,3) {\includegraphics[width=.1\textwidth]{img/pollen.png}};
|
||
% \node[state] (N6) at (3.75,3) {\includegraphics[width=.1\textwidth]{img/pollen.png}};
|
||
|
||
\tikzstyle{every node}=[shape=rectangle,fill=red!50!blue!20!white]
|
||
% \node[state, fill = white] (P) at (-1.5, 0) {\includegraphics[width=.08\textwidth]{img/bee.png}};
|
||
\node[state, tokens=0] (P1) at (-1, 0) {\includegraphics[width=.1\textwidth]{img/bee.png}};
|
||
\node[state, tokens=0, right = of P1] (P2) {\includegraphics[width=.1\textwidth]{img/bee.png}}; % at (-.25, 0)
|
||
\node[state, tokens=0, right = of P2] (P3) {\includegraphics[width=.1\textwidth]{img/bee.png}}; %at (.5, 0)
|
||
\node[state, tokens=0, right = of P3] (P4) {\includegraphics[width=.1\textwidth]{img/bee.png}}; % at (1.25, 0)
|
||
\node[state, tokens=0, right = of P4] (P5) {\includegraphics[width=.1\textwidth]{img/bee.png}};% at (2,0)
|
||
\node[state, tokens=0, right = of P5] (P6) {\includegraphics[width=.1\textwidth]{img/bee.png}}; % at (2.75,0)
|
||
% \node[state, tokens=0] (P7) at (3.5,0) {\includegraphics[width=.1\textwidth]{img/bee.png}};
|
||
% \node[state, tokens=0] (P8) at (4.25,0) {\includegraphics[width=.1\textwidth]{img/bee.png}};
|
||
|
||
\tikzstyle{every edge}=[>=stealth,shorten >=1pt,auto,thin,draw]
|
||
\path (P1) edge (N1);
|
||
\path (P2) edge (N1);
|
||
\path (P3) edge (N1);
|
||
\path (P4) edge (N2);
|
||
\path (P4) edge (N1);
|
||
\path (P6) edge (N2);
|
||
\path (P1) edge (N3);
|
||
%\path (P7) edge (N4);
|
||
%\path (P8) edge (N5);
|
||
%\path (P4) edge (N6);
|
||
\path (P5) edge (N3);
|
||
\path (P5) edge (N4);
|
||
\end{tikzpicture}
|
||
\caption{Exemple d'un réseau plantes-pollinisateurs}
|
||
\label{fig:plantes-pollin}
|
||
|
||
\end{figure}
|
||
|
||
\item En écologie microbienne réseaux permettent le suivi de la
|
||
qualité des sols.
|
||
% En écologie microbienne, les réseaux sont construits sur la base
|
||
% de co-occurences et reconstruits par inférence des liens mais
|
||
% rarement par observation directe.
|
||
\end{itemize}
|
||
|
||
\end{frame}
|
||
|
||
\begin{frame}{Contexte mathématique}
|
||
|
||
|
||
Détection de structure\footnote{L'organisation du réseau.} pour un réseau
|
||
bien connu :
|
||
\begin{itemize}
|
||
\item Modèles de \emph{clustering} à variables latentes
|
||
\item \emph{Embedding} par apprentissage profond
|
||
\end{itemize}
|
||
|
||
Mais des motivations pour considérer des collections :
|
||
\begin{itemize}
|
||
\item Espèces différentes, rôles analogues
|
||
% Des espèces différentes dans plusieurs réseaux pourrait
|
||
% remplir des rôles similaires
|
||
\item Transfert d'informations grands vers petits réseaux.
|
||
% Les petits réseaux pourraient bénéficier d'une estimation
|
||
% avec des réseaux plus grands et révéler une structure plus
|
||
% fine.
|
||
% Certains réseaux étant moins bien échantillonnés que
|
||
% d'autre une prise en compte en collection de réseaux pourrait
|
||
% aider à transférer de l'information
|
||
\item Regrouper les réseaux selon leur similarité (\emph{clustering}
|
||
de réseaux)
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
\subsection[Axe 1]{Axe 1 : Modèles à variables
|
||
latentes pour une collection de réseaux bipartites}
|
||
\label{sec:axe-1}
|
||
|
||
\begin{frame}
|
||
\frametitle{Latent Block Model (LBM)}
|
||
Proposé par~\cite{govaertEMAlgorithmBlock2005}.
|
||
\begin{columns}
|
||
\begin{column}{0.40\linewidth}
|
||
\begin{figure}[H]
|
||
\center
|
||
\begin{tikzpicture}[scale=0.35]
|
||
\tikzstyle{every state}=[draw, text=black,scale=0.95,
|
||
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}
|
||
\caption{Exemple de LBM\footnotemark}
|
||
\label{fig:LBMvisu-principal}
|
||
\end{figure}
|
||
\end{column}
|
||
\footnotetext[2]{Que j'appelle par la suite BiSBM}
|
||
\begin{column}{0.51\linewidth}
|
||
\newline
|
||
Pour \begin{itemize}
|
||
\item $Q_1 =
|
||
|\{{\color{blueind}\bullet},{\color{cyanind}\bullet},{\color{electricblue}\bullet}\}|$
|
||
blocs fixés en ligne
|
||
\item $Q_2 =
|
||
|\{{\color{burntorange}\bullet},{\color{goldenyellow}\bullet},{\color{peach}\bullet}\}|$
|
||
blocs fixés en colonne
|
||
\end{itemize}
|
||
\begin{block}{Paramètres}
|
||
\begin{itemize}
|
||
\item $\pi_{\bullet} = \mathbb{P}(Z_i = \bullet)$ en ligne
|
||
et $\rho_{\bullet} = \mathbb{P}(W_j = \bullet)$ en colonne
|
||
\item
|
||
$\alpha_{{\color{blueind}\bullet}{\color{burntorange}\bullet}} =
|
||
\mathbb{P}(X_{ij} = 1 | Z_i = {\color{blueind}\bullet}, W_j =
|
||
{\color{burntorange}\bullet})$
|
||
\end{itemize}
|
||
\end{block}
|
||
\end{column}
|
||
\end{columns}
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{Collections bipartites}
|
||
\begin{center}
|
||
\begin{adjustbox}{trim=0 0 1 1.5cm}
|
||
\begin{tikzpicture}[scale=.33]
|
||
\begin{scope}[xshift=18cm, yshift=2cm]
|
||
\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] (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] {LBM};
|
||
|
||
\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}
|
||
|
||
\begin{scope}[xshift=3cm, yshift = 1cm]
|
||
\only<1>{\node[text justified, fill=none] at (10, 3.5)
|
||
{$\overset{iid}{\sim}$};}
|
||
\only<2>{\node[text justified, fill=none] at (10, 3.5)
|
||
{$\sim$};}
|
||
\begin{scope}[yshift = 6cm]
|
||
\tikzstyle{every state}=[draw, text=black,scale=0.75,
|
||
transform shape]
|
||
|
||
\tikzstyle{every node}=[fill=gray]
|
||
\node[state, draw=black!50] (R11) at (0,1.25)
|
||
{\textbf{1}};
|
||
\node[state, draw=black!50] (R12) at (1,1.25)
|
||
{\textbf{2}};
|
||
\node[state, draw=black!50] (R13) at (2,1.25)
|
||
{\textbf{3}};
|
||
\node[state, draw=black!50] (R21) at (3,1.25)
|
||
{\textbf{4}};
|
||
\node[state, draw=black!50] (R31) at (5,1.25)
|
||
{\textbf{6}};
|
||
|
||
\tikzstyle{every
|
||
state}=[draw=none,text=black,scale=0.75, transform shape, shape=rectangle]
|
||
|
||
% Label réseau
|
||
\node[font=\small, text justified,draw=none, fill=none,
|
||
below left = 0.04cm of R11] {$Y^1 = $};
|
||
|
||
|
||
\node[state, draw=black!50] (B1) at (0.5,-1)
|
||
{\textbf{1}};
|
||
|
||
\node[state, draw=black!50] (B31) at (2.5,-1)
|
||
{\textbf{3}};
|
||
\node[state, draw=black!50] (B4) at (3.5,-1)
|
||
{\textbf{4}};
|
||
|
||
\node[state, draw=black!50] (B5) at (4.5,-1)
|
||
{\textbf{5}};
|
||
|
||
\tikzstyle{every edge}=[-,>=stealth',shorten
|
||
>=1pt,auto,draw,line width=1pt, draw=gray, fill=gray]
|
||
\path (R11) edge (B1);
|
||
\path (R11) edge (B31);
|
||
\path (R11) edge (B4);
|
||
|
||
\path (R12) edge [] (B1);
|
||
\path (R12) edge (B31);
|
||
\path (R12) edge (B4);
|
||
|
||
\path (R13) edge [] (B1);
|
||
\path (R13) edge (B31);
|
||
\path (R13) edge (B4);
|
||
|
||
\path (R21) edge (B31);
|
||
\path (R21) edge (B4);
|
||
\path (R21) edge (B5);
|
||
|
||
\path (R31) edge (B5);
|
||
\end{scope}
|
||
\node[text width=3cm,font=\small, text justified,
|
||
rotate=90, fill=none] (dots) at (2.5, 7.5){\dots};
|
||
|
||
\begin{scope}[yshift = 0cm]
|
||
\tikzstyle{every state}=[draw, text=black,scale=0.75,
|
||
transform shape]
|
||
|
||
\tikzstyle{every node}=[fill=gray]
|
||
\node[state, draw=black!50] (R11) at (0,2.25)
|
||
{\textbf{4}};
|
||
\node[state, draw=black!50] (R13) at (2,2.25)
|
||
{\textbf{6}};
|
||
\node[state, draw=black!50] (R21) at (3,2.25)
|
||
{\textbf{3}};
|
||
\node[state, draw=black!50] (R22) at (4,2.25)
|
||
{\textbf{5}};
|
||
\node[state, draw=black!50] (R31) at (5,2.25)
|
||
{\textbf{2}};
|
||
|
||
\tikzstyle{every
|
||
state}=[draw=none,text=black,scale=0.75, transform shape, shape=rectangle]
|
||
% Label réseau
|
||
\node[font=\small, text justified,draw=none, fill=none,
|
||
below left = 0.04cm of R11] {$Y^M = $};
|
||
|
||
\node[state, draw=black!50] (B1) at (0.5,0)
|
||
{\textbf{5}};
|
||
\node[state, draw=black!50] (B2) at (1.5,0)
|
||
{\textbf{1}};
|
||
|
||
\node[state, draw=black!50] (B4) at (3.5,0)
|
||
{\textbf{2}};
|
||
|
||
\node[state, draw=black!50] (B5) at (4.5,0)
|
||
{\textbf{4}};
|
||
|
||
\tikzstyle{every edge}=[-,>=stealth',shorten
|
||
>=1pt,auto,draw,line width=1pt, draw=gray, fill=gray]
|
||
\path (R11) edge (B1);
|
||
\path (R11) edge (B2);
|
||
\path (R11) edge (B4);
|
||
|
||
\path (R13) edge [] (B1);
|
||
\path (R13) edge (B2);
|
||
\path (R13) edge (B4);
|
||
|
||
\path (R21) edge (B4);
|
||
\path (R21) edge (B5);
|
||
|
||
\path (R22) edge (B4);
|
||
\path (R22) edge (B5);
|
||
|
||
\path (R31) edge (B5);
|
||
\end{scope}
|
||
\end{scope}
|
||
\end{tikzpicture}
|
||
\end{adjustbox}
|
||
\end{center}
|
||
|
||
\only<1>{
|
||
\begin{block}{Modèle $iid$-colBiSBM}
|
||
$$\forall m \in [\![ 1, M ]\!], Y_i \sim LBM_{n^m_1, n^m_2} (\pi, \rho, \alpha)$$
|
||
\end{block}
|
||
}
|
||
\only<2>{
|
||
\begin{block}{Modèle $\pi\rho$-colBiSBM}
|
||
$$\forall m \in [\![ 1, M ]\!], Y_i \sim LBM_{n^m_1, n^m_2} (\pi^{\color{red}m}, \rho^{\color{red}m}, \alpha)$$
|
||
\end{block}
|
||
}
|
||
% Pour
|
||
% \begin{itemize}
|
||
% \item $Q_1 =
|
||
% |\{{\color{blueind}\bullet},{\color{cyanind}\bullet},{\color{electricblue}\bullet}\}|$
|
||
% blocs fixés en ligne
|
||
% \item $Q_2 =
|
||
% |\{{\color{burntorange}\bullet},{\color{goldenyellow}\bullet},{\color{peach}\bullet}\}|$
|
||
% blocs fixés en colonne
|
||
% \end{itemize}
|
||
% \begin{block}{Paramètres}
|
||
% \begin{itemize}
|
||
% \item $\pi_{\bullet} = \mathbb{P}(Z_i =\bullet)$ en ligne et
|
||
% $\rho_{\bullet} = \mathbb{P}(W_j = \bullet)$ en colonne
|
||
% \item
|
||
% $\alpha_{{\color{blueind}\bullet}{\color{burntorange}\bullet}} =
|
||
% \mathbb{P}(X_{ij} = 1 | Z_i = {\color{blueind}\bullet}, W_j =
|
||
% {\color{burntorange}\bullet})$
|
||
% \end{itemize}
|
||
% \end{block}
|
||
\end{frame}
|
||
\begin{frame}{Apport déjà réalisé}
|
||
\begin{itemize}
|
||
\item Écriture du modèle colBiSBM
|
||
\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).
|
||
\item Implémentation des formules et du critère et développement
|
||
algorithmique pour l'exploration de l'espace de paramètres.
|
||
\note[item]{Principalement pendant mon premier stage}
|
||
\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
|
||
sélection de modèle.
|
||
\item Écriture du code s'intégrant au package\footnote{
|
||
\scalebox{0.8}{\faGithub
|
||
\url{https://github.com/Chabert-Liddell/colSBM}}}
|
||
écrit par Saint-Clair Chabert-Liddell.
|
||
\note[item]{Pendant mon stage actuel}
|
||
\end{itemize}
|
||
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{Application du \emph{clustering}, données plantes pollinisateurs}
|
||
\small
|
||
Voici des résultats du modèle \emph{iid-colBiSBM} sur des données
|
||
plantes-pollinisateurs (\cite{doreRelativeEffectsAnthropogenic2021}
|
||
et~\cite{thebaultDatabasePlantpollinatorNetworks2020})
|
||
% DONE Ajouter un tableau avec le nombre de réseaux dans chaque sous-collection
|
||
\begin{columns}
|
||
\begin{column}{0.49\linewidth}
|
||
\begin{figure}[H]
|
||
\includegraphics[width=0.35\textwidth]{img/iid-meso-1.png}
|
||
\includegraphics[width=0.30\textwidth]{img/iid-meso-2.png}
|
||
\includegraphics[width=0.30\textwidth]{img/iid-meso-3.png}
|
||
\includegraphics[width=0.35\textwidth]{img/iid-meso-4.png}
|
||
\includegraphics[width=0.30\textwidth]{img/iid-meso-5.png}
|
||
\caption{Connectivités de la partition}
|
||
\end{figure}
|
||
\end{column}
|
||
\begin{column}{0.49\linewidth}
|
||
\includegraphics[scale=0.30]{img/annual_time_span_vs_iid.png}
|
||
|
||
\begin{center}
|
||
\begin{table}
|
||
\tiny
|
||
\begin{tabular}{ |c|c|c|c|c|c| }
|
||
\hline
|
||
\thead{N°de \\collection} & 1 & 2 & 3 & 4 & 5 \\
|
||
\hline
|
||
\thead{Nombre de \\réseaux} & 38 & 45 & 1 & 20 & 19 \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{table}
|
||
|
||
\end{center}
|
||
\end{column}
|
||
\end{columns}
|
||
\end{frame}
|
||
|
||
\begin{frame}{À faire}
|
||
\begin{itemize}
|
||
\item Finaliser l'analyse sur données réelles
|
||
commencée sur \cite{doreRelativeEffectsAnthropogenic2021,
|
||
thebaultDatabasePlantpollinatorNetworks2020} avec les
|
||
interprétations des écologues en vue d'une publication.
|
||
\note[item]{Dans \emph{Methods in Ecology and Evolution}}
|
||
\item Preuve d'identifiabilité du modèle
|
||
\parencite{chabert-liddellLearningCommonStructures2024,
|
||
celisseConsistencyMaximumlikelihoodVariational2012,
|
||
keribinEstimationSelectionLatent2015,
|
||
braultCoclusteringLatentBloc2015}
|
||
\note[item]{Car les blocs vides du modèles $\pi\rho$ posent
|
||
soucis.}
|
||
|
||
\end{itemize}
|
||
|
||
\end{frame}
|
||
|
||
\subsection[Axe 2]{Axe 2 : Embedding de n\oe uds par
|
||
apprentissage profond pour comparaison des topologies de réseaux}
|
||
\label{sec:axe-2}
|
||
|
||
% % \begin{tikzpicture}[
|
||
% % vertex/.style = {circle, draw, inner sep=0.5pt, fill=white},
|
||
% % vertex1/.style = {vertex, fill=red!30!white},
|
||
% % vertex2/.style = {vertex, fill=orange!30!white},
|
||
% % vertex3/.style = {vertex, fill=blue!30!white},
|
||
% % vertex4/.style = {vertex, fill=teal!30!white},
|
||
% % scale = 0.5
|
||
% % ]
|
||
% % \begin{scope}
|
||
% % \draw[thick]
|
||
% % (-0.5,0) node[vertex1] (n1^4) {$n_1$}
|
||
% % -- (0.25,2.2) node[vertex2] (n2^4) {$n_2$}
|
||
% % -- (2,1.6) node[vertex3] (n3^4) {$n_3$}
|
||
% % -- (-0.7,1.4) node[vertex4] (n4^4) {$n_4$} -- cycle;
|
||
% % \node[left = 0.15cm of n4^4, fill = white] {$Y^m$};
|
||
% % \end{scope}
|
||
% % \end{tikzpicture}
|
||
|
||
|
||
\begin{frame}{Introduction aux \emph{Graph Neural Networks}}
|
||
|
||
\begin{figure}
|
||
\centering
|
||
% \begin{tikzpicture}[
|
||
% % node distance=2cm and 1cm,
|
||
% trap/.style={trapezium, draw, minimum height = 1cm},
|
||
% % rectangle/.style={rectangle, draw, minimum height=1cm, minimum width=2cm, align=center},
|
||
% arrow/.style={->, thick},
|
||
% scale=0.5,
|
||
% ]
|
||
|
||
% % Encoder trapezium
|
||
% \node[trap, trapezium left angle=110, trapezium right angle=110, rotate = 90] (encoder) {Encodeur};
|
||
|
||
% % Latent space parameters
|
||
% \node[rectangle, fill=yellow, opacity=0.4, below=of encoder] (mu) {$\mu$};
|
||
% \node[rectangle, fill=blue, opacity=0.3, below=of mu] (sigma) {$\sigma$};
|
||
% \node[rectangle, fill=green, opacity=0.3, below=of sigma, rotate = 90] (sample) {Échantillon};
|
||
|
||
% % Decoder trapezium
|
||
% \node[trap, trapezium left angle=70, trapezium right angle=70, below=of sample, rotate = 90] (decoder) {Décodeur};
|
||
|
||
% % Connections
|
||
% \draw[arrow] (encoder.south) -- (mu.north);
|
||
% \draw[arrow] (encoder.south) -- (sigma.north);
|
||
% \draw[arrow] (mu.south) -- (sample.north);
|
||
% \draw[arrow] (sigma.south) -- (sample.north);
|
||
% \draw[arrow] (sample.south) -- (decoder.north);
|
||
|
||
% % Input and output labels
|
||
% \node[left= 2cm of encoder] (input) {Input $x$};
|
||
% \node[right= 2cm of decoder] (output) {Output $\hat{x}$};
|
||
|
||
% \draw[arrow] (input.east) -- (encoder.west);
|
||
% \draw[arrow] (decoder.east) -- (output.west);
|
||
|
||
% \end{tikzpicture}
|
||
\includegraphics[scale=0.20]{img/vae.png}
|
||
\caption{Schéma d'\cite{AutoencodeurVariationnel2024}}
|
||
\label{fig:schema-vgae}
|
||
\end{figure}
|
||
\footnotesize
|
||
Problème des graphes pour les réseaux de neurones : \textbf{prise en compte
|
||
des invariances}.
|
||
|
||
\begin{itemize}
|
||
\item Utilisation des \emph{Graph Convolutional Networks} de
|
||
\cite{kipfSemiSupervisedClassificationGraph2017} résout ce problème.
|
||
\item Utiliser des \emph{Variational AutoEncoder} de
|
||
\cite{kingmaAutoEncodingVariationalBayes2022c} et de
|
||
\cite{kipfVariationalGraphAutoEncoders2016} pour projection dans un
|
||
espace latent.
|
||
\item Explorer le \emph{Deep Latent Space Model}
|
||
de~\cite{yangDeepLatentSpace2024}
|
||
\end{itemize}
|
||
|
||
\end{frame}
|
||
|
||
\begin{frame}{Idées à explorer}
|
||
\begin{itemize}
|
||
\item \emph{Embedding} commun des n\oe uds des réseaux à comparer sur un même espace
|
||
latent. Puis comparaison des distributions ainsi obtenues.
|
||
\item Encodeurs différents mais décodeurs communs pour comparer les
|
||
représentations obtenues
|
||
\end{itemize}
|
||
|
||
Ces pistes seront approfondies durant ce travail de thèses
|
||
|
||
\end{frame}
|
||
|
||
% \begin{frame}[allowframebreaks]{\emph{Graph Neural Networks}}
|
||
% \begin{figure}
|
||
% \includegraphics[scale=0.4]{img/Message_passing.pdf}
|
||
% \caption{Illustration du \emph{message passing} au sein d'un graphe.\footnote{Figure adaptée de \cite{sanchez-lengelingGentleIntroductionGraph2021} par Emré Anakok.}}
|
||
% \end{figure}
|
||
|
||
|
||
% Avec les \emph{Graph Convolutional Networks} (GCN) \emph{embedding} de graphes
|
||
% \parencite{velickovicGraphAttentionNetworks2018,hamiltonInductiveRepresentationLearning,
|
||
% xuHowPowerfulAre2019} tenant compte des invariances.
|
||
|
||
% \begin{block}{Règle de propagation d'une couche de GCN}
|
||
% \begin{equation}
|
||
% H^{(l+1)} = \sigma \bigl( \tilde{D}^{\frac{1}{2}} \tilde{A} \tilde{D}^{\frac{1}{2}} H^{(l)} W^{(l)} \bigr),
|
||
% \end{equation}
|
||
% tirée de \cite{kipfSemiSupervisedClassificationGraph2017}.
|
||
% \end{block}
|
||
% \begin{itemize}
|
||
% \item Utiliser des \emph{Variational Auto-Encoder} (VAE)
|
||
% \parencite{
|
||
% kipfVariationalGraphAutoEncoders2016,
|
||
% kipfSemiSupervisedClassificationGraph2017} et
|
||
% résume le réseau par une distribution. Calculer distance de
|
||
% Gromov-Wasserstein pour comparaison et classification.\\
|
||
|
||
% Un des avantages principaux est le \emph{passage à l'échelle} de ces méthodes
|
||
% permettant de traiter des réseaux de plus grande taille.
|
||
% \end{itemize}
|
||
|
||
% \end{frame}
|
||
|
||
\subsection[Axe 3]{Axe 3 : Inférence jointe de réseaux}
|
||
\label{sec:axe-3}
|
||
\begin{frame}
|
||
\begin{columns}
|
||
\begin{column}{0.4\textwidth}
|
||
\begin{table}[t]
|
||
\centering
|
||
\begin{tabularx}{\textwidth}{cccc}
|
||
\hline
|
||
& \multicolumn{3}{|c|}{OTU} \\
|
||
\hline
|
||
& $X_{1,1}$ & \dots & $X_{1,p}$ \\
|
||
& \vdots & & \vdots \\
|
||
& $X_{n,1}$ & \dots & $X_{n,p}$ \\
|
||
\hline
|
||
\end{tabularx}
|
||
\caption{Table d'OTU synthétique}
|
||
\label{tab:otu-synthetiques}
|
||
\end{table}
|
||
\end{column}
|
||
|
||
\begin{column}{0.6\textwidth}
|
||
\begin{figure}[t]
|
||
\centering
|
||
\includegraphics[scale=0.25]{img/plot_model_function_eps.png}
|
||
\caption{Réseau inféré}
|
||
\label{fig:otu-synthetiques}
|
||
\end{figure}
|
||
\end{column}
|
||
\end{columns}.
|
||
|
||
\begin{itemize}
|
||
\item Incertitude disponible mais négligée par la suite
|
||
\item Important pour les réseaux microbiens seulement inférés
|
||
\end{itemize}
|
||
\cite{matchadoNetworkAnalysisMethods2021}
|
||
|
||
\end{frame}
|
||
|
||
\section{Organisation de la thèse}
|
||
\label{sec:organisation-these}
|
||
|
||
\begin{frame}
|
||
\begin{block}{Planning prévisionnel de la thèse}
|
||
\begin{figure}[ht]
|
||
\centering
|
||
\begin{chronology}[1]{2024}{2028}{\textwidth}[110ex]
|
||
\eventspan {\decimaldate{1}{10}{2024}}{\decimaldate{1}{6}{2025}}%
|
||
{\small\textbf{\color{blue} Collections \& modèles à variables latentes}}[blue][.3][0.1]
|
||
\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]
|
||
\eventspan {\decimaldate{1}{3}{2026}}{\decimaldate{1}{4}{2027}}%
|
||
{\textbf{\color{ao(english)} Inférence jointe de réseaux}}[ao(english)][.3][0.1]
|
||
\eventspan {\decimaldate{1}{4}{2027}}{\decimaldate{1}{10}{2027}}%
|
||
{\textbf{\color{gray} Rédaction du manuscrit}}[gray][.3][0.1][b]
|
||
\end{chronology}
|
||
\caption{Chronologie prévue}
|
||
\label{fig:chronologie}
|
||
\end{figure}
|
||
\end{block}
|
||
\begin{block}{Financement}
|
||
L'INRAE, par le département MathNum accorde déjà 50\% des financements
|
||
de la thèse.
|
||
\end{block}
|
||
\centering
|
||
\Large Merci pour votre attention.
|
||
\end{frame} |