audition-these/principal.tex

795 lines
37 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\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 lUMR MIA Paris-Saclay, supervisé par Pierre Barbillon.
\item 2024 Avril--Sept., Détection de structures et clustering de réseaux
écologiques. Stage dans lUMR 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{Réseaux bipartites}
\begin{columns}[c]
\begin{column}{0.48\textwidth}
\centering
Réseau bipartite\\
\begin{tikzpicture}[scale=.6]
\tikzstyle{every edge}=[-,>=stealth',shorten
>=1pt,auto,draw,line width=1.5pt]
\tikzstyle{every state}=[draw, text=black,scale=0.95, transform
shape]
\tikzstyle{every state}=[draw=none,text=black,scale=0.75,
transform shape]
\tikzstyle{every node}=[fill=blueind]
\node[state, draw=black!50] (A1) at (0,5) {\textbf{R1}};
\node[state, draw=black!50] (A2) at (2.5,5) {\textbf{R2}};
\node[state, draw=black!50] (A3) at (5,5) {\textbf{R3}};
\tikzstyle{every node}=[fill=greenind, shape=rectangle]
\tikzstyle{every state}=[draw=none,text=black,scale=0.75,
transform shape, shape=rectangle]
\node[state, draw=black!50] (B1) at (0,0) {\textbf{C1}};
\node[state, draw=black!50] (B2) at (1.25,0) {\textbf{C2}};
\node[state, draw=black!50] (B3) at (2.5,0) {\textbf{C3}};
\node[state, draw=black!50] (B4) at (3.75,0) {\textbf{C4}};
\node[state, draw=black!50] (B5) at (5,0) {\textbf{C5}};
\path (A1) edge [] (B1);
\path (A1) edge (B2);
\path (A1) edge (B3);
\path (A1) edge (B4);
\path (A2) edge (B3);
\path (A2) edge (B4);
\path (A3) edge (B5);
\path (A2) edge (B5);
\end{tikzpicture}
\end{column}
\hfill
\begin{column}{0.48\linewidth}
Matrice d'incidence
\smallskip
$X=\left(
\begin{array}{rrrrr}
1 & 1 & 1 & 1 & 0 \\
0 & 0 & 1 & 1 & 1 \\
0 & 0 & 0 & 0 & 1 \\
\end{array}\right)
$\\
\end{column}
\end{columns}
\smallskip
Décrit des interactions (pas uniquement binaires) entre deux groupes d'agents :
\begin{itemize}
\item hôtes-parasites
\item plantes-pollinisateurs
\item graines-disperseurs\newline
\vdots
\end{itemize}
\end{frame}
\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 de vraisemblance pénalisée
\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 Partitionnement d'une large collection de réseaux.
\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{Clustering de réseaux}
\begin{columns}
\begin{column}{0.2\linewidth}
\begin{block}{Objectif}
Déterminer une partition qui maximise la somme du critère de ses
sous-collections.
\end{block}
\end{column}
\begin{column}{0.78\linewidth}
\begin{tikzpicture}[scale=0.6, every node/.style={scale=0.75}]
\tikzstyle{instruct}=[font=\small, text justified,
rectangle,draw,fill=yellow!50]
\tikzstyle{first_col}=[rectangle, text justified,
draw,fill=gray!50]
\tikzstyle{second_col}=[scale=0.55, circle, draw,fill=red!50]
\tikzstyle{test}=[font=\small, text justified, diamond,
aspect=2.5,thick,
draw=blue,fill=yellow!50,text=blue]
\tikzstyle{es}=[font=\small, text justified,
rectangle,draw,rounded corners=4pt,fill=cyanind!25]
\node[es] (liste) at (0,4) {Donner une collection à
partitionner};
\node[instruct, text width=5cm, below = 0.45cm of liste]
(1-collection) {Ajuster \emph{colBiSBM}};
\node[first_col, right = 0.5cm of 1-collection] (1-col-obj) {};
\node[instruct, text width=5cm, below = 0.45cm of 1-collection]
(dissimi) {Calculer une matrice de dissimilarité de la collection};
\node[instruct, text width=5cm, below = 0.45cm of dissimi]
(2-sous-collection) {Séparer la \emph{collection en 2 sous-collections} et
ajuster les \emph{colBiSBM}};
\node[second_col, right = 0.25cm of 2-sous-collection]
(1-sec-col-obj) {1};
\node[second_col, right = 0.25cm of 1-sec-col-obj]
(1-sec-col-obj) {2};
\node[test,below = 0.45cm of 2-sous-collection, scale=0.5]
(BICL-test) {$\sum_{i=1}^{2}
(\text{BIC-L}(\tikz[baseline=-0.25cm]{\node[second_col] {i};} )) >
\text{BIC-L}(\tikz[baseline=-0.25cm]{\node[first_col] {};})$?};
\node[es, right = 0.55cm of BICL-test] (sortie) {Renvoyer
\tikz{\node[rectangle, draw, fill=gray!50, rounded corners=0pt] {};}};
\node[es, left = 0.45cm of dissimi, text width = 2cm]
(recursion) {Recommencer sur \tikz{\node[second_col] {1};} et
\tikz{\node[second_col] {2};} };
\tikzstyle{suite}=[->,>=stealth,thick,rounded corners=4pt]
\draw[suite] (liste) -- (1-collection);
\draw[suite] (1-collection) -- (dissimi);
\draw[suite] (dissimi) -- (2-sous-collection);
\draw[suite] (2-sous-collection) -- (BICL-test);
\draw[suite] (BICL-test) -| node[near start, above, fill=none]
{Oui} (recursion);
\draw[suite] (recursion.north) |- (1-collection.west);
\draw[suite] (BICL-test) -- node[near start, above, fill=none]
{Non} (sortie);
\end{tikzpicture}
\end{column}
\end{columns}
\blfootnote{Même approche
que~\cite{chabert-liddellLearningCommonStructures2024}}
\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{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}
En écologie, réseaux inférés à partir de table de co-occurences.
TODO Insérer une table de co-occurence
Incertitude connue mais négliger dans la suite de l'analyse.
Limites des techniques actuelles \cite{matchadoNetworkAnalysisMethods2021}.
Rôle important pour les réseaux reconstruits notamment en microbiologie.
\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]
% \eventpoint{\decimaldate{11}{4}{1976}}{Launch of Apple I}[red][1][1]
% \eventpoint{\decimaldate{12}{8}{1981}}{Launch of IBM PC}[red][1][1]
% \eventpoint{\decimaldate{15}{9}{1993}}{Debian 0.01}[red][1][1]
% \eventpoint{\decimaldate{26}{10}{2004}}{Ubuntu 4.10}[red][1][1]
% \eventspan {\decimaldate{25}{8}{1991}}{\decimaldate{31}{8}{2023}}%
% {\textbf{\color{orange}Linux}}[orange][.6][.6][b]
\end{chronology}
\caption{Chronologie prévue}
\label{fig:chronologie}
\end{figure}
% \begin{itemize}
% \item Axe 1 : Oct. 2024 -- Oct. 2025
% \item Axe 2 : Oct. 2025 -- Oct. 2026
% \item Axe 3 : Avril 2026 -- Octobre 2027
% \item Rédaction du manuscrit de thèse : Avril 2027 -- Octobre 2027
% \end{itemize}
\end{block}
\begin{block}{Financement}
L'INRAE, par le département MathNum accorde déjà 50\% des financements
de la thèse.
\end{block}
\end{frame}
\begin{frame}[noframenumbering]
\vfill
\centering
\huge Merci pour votre attention.
\vfill
\end{frame}