Format avant rdv Pierre et Sophie

This commit is contained in:
Louis Lacoste 2024-05-16 15:55:27 +02:00
parent 3926b8666f
commit 7f525857b5
5 changed files with 551 additions and 513 deletions

BIN
img/Message_passing.pdf Normal file

Binary file not shown.

Binary file not shown.

View file

@ -23,25 +23,17 @@
\usepackage{fontawesome5}
\usepackage{makecell}
\usepackage{appendixnumberbeamer} % Pour cacher la numérotation des backups slides
\usepackage{chronosys} % Frise chronologique
\usepackage{chronology} % Frise chronologique
% Tables
\renewcommand\theadfont{\tiny}
% Color
\definecolor{ao(english)}{rgb}{0.0, 0.5, 0.0}
% Beamer
% \setbeamertemplate{headline}{%
% \begin{beamercolorbox}[ht=2.25ex,dp=3.75ex]{section in head/foot}
% \insertnavigation{\paperwidth}
% \end{beamercolorbox}%
% }%
\setbeamertemplate{headline}{}
% \setbeamertemplate{footline}
% {%
% \usebeamerfont{footline}%
% \usebeamercolor[fg]{footline}%
% \hspace{1em}%
% \insertframenumber/\inserttotalframenumber
% }
\setbeamertemplate{caption}[numbered]
\setbeamertemplate{footline}{%
\hbox{%
\begin{beamercolorbox}[wd=\paperwidth, right]{title in head/foot}%
@ -63,11 +55,13 @@
\end{frame}
}
% Subsection title slides
\setbeamercolor{coloredboxstuff}{fg=black,bg=white!70!blue}
\AtBeginSubsection[]{
\begin{frame}[noframenumbering, plain]
\vfill
\centering
\begin{beamercolorbox}[sep=8pt,center,shadow=true,rounded=true]{title}
\begin{beamercolorbox}[sep=8pt,center,shadow=true,rounded=true]{coloredboxstuff}
\usebeamerfont{title}\subsecname\par%
\end{beamercolorbox}
\vfill
@ -86,6 +80,7 @@
\usetikzlibrary{arrows,shapes,positioning,shadows,trees,calc,backgrounds,automata,positioning}
\usetikzlibrary{decorations.pathreplacing,calligraphy}
\tikzset{
basic/.style = {draw, text width=3cm, font=\sffamily, rectangle},
root/.style = {basic, rounded corners=2pt, thin, align=center,
@ -141,505 +136,7 @@
\tableofcontents
\end{frame}
\section{Parcours}
\label{sec:parcours}
\begin{frame}{Formations}
\begin{itemize}
\item 2023--2024, M2 Mathématiques pour les Sciences du Vivant,
Université Paris-Saclay\\
{\small UC à choix \nth{2} semestre : modèles à variables
latentes, statistiques spatiales et méthodes de stats en grande dimensions}
\item 2022--2023, Année de césure
\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 2018--2020, Classe Préparatoire BCPST
\end{itemize}
\end{frame}
\begin{frame}{Expériences professionnelles}
\begin{itemize}
\item 2024 Avril--Sept., Détection de structures et clustering de réseaux
écologiques. Stage dans lUMR MIA Paris-Saclay, supervisé par Pierre Barbillon.
\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 2022 Mai--Déc., Stage assistant ingénieur en Qualité chez
Eurofins Food France
\end{itemize}
\end{frame}
\section[Axes de recherche]{Axes de recherche}
\begin{frame}
\frametitle{Contexte écologique}
\begin{itemize}
\item De nombreux réseaux disponibles \parencite{WebLifeEcological} et
décrivant des interactions similaires. Par exemple des
interactions proies-prédateurs, plantes-pollinisateurs \dots
\item 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é.
\item 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}
\begin{itemize}
\item Faire de la détection de structure réseau par réseau de manière
agnostique (SBM, LBM) est bien connu. Mais il y a de l'intérêt à
le faire sur plusieurs :
\begin{itemize}
\item Des espèces différentes dans plusieurs réseaux pourrait
remplir des rôles similaires
\item 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.
\item 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
\end{itemize}
\item Re-grouper les réseaux selon leur similarité (\emph{clustering}
de réseaux)
\item Transférer de l'information grâce à la collection (par exemple
reconstitution de données manquantes)
\item Proposer des comparaisons en extrayant plus d'informations que
les métriques classiques
\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
Permet de décrire des interactions impliquant deux agents dont les rôles
sont de natures différentes.\\
Par exemple : hôtes-parasites, plantes-pollinisateurs, graines-disperseurs
\dots
\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]
\node[text justified, fill=none] at (10, 3.5)
{$\overset{iid}{\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]
\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]
\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}
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}
\frametitle{Application, 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}
\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}
\begin{column}{0.49\linewidth}
\begin{figure}[H]
\includegraphics[width=0.30\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.30\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}
\end{columns}
\end{frame}
\begin{frame}
\begin{block}{Apport déjà réalisé}
\small
\begin{itemize}
\item Adaptation du modèle mathématique\footnote{\scalebox{0.8}{Notamment des formules des étapes VE
et M et du calcul de dissimilarité.}} proposé par
\cite{chabert-liddellLearningCommonStructures2023} aux réseaux bipartites
\item Développement algorithmique pour l'exploration de l'espace de
paramètres.
\item Écriture du code de la partie bipartite s'intégrant
au package\footnote{\scalebox{0.8}{\faGithub
\url{https://github.com/Chabert-Liddell/colSBM}}} écrit par Saint-Clair Chabert-Liddell.
\end{itemize}
\end{block}
\begin{block}{À finir/à faire}
\small
\begin{itemize}
\item Finaliser l'analyse d'applications sur données réelles
commencée sur \cite{doreRelativeEffectsAnthropogenic2021,
thebaultDatabasePlantpollinatorNetworks2020} avec les
interprétations des écologues.
\item Preuve d'identifiabilité du modèle
\parencite{chabert-liddellLearningCommonStructures2023,
celisseConsistencyMaximumlikelihoodVariational2012,
keribinEstimationSelectionLatent2015,
braultCoclusteringLatentBloc2015}
\end{itemize}
\end{block}
\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]
TODO Ici une illustration des GCN
En utilisant les \emph{Graph Convolutional Networks} (GCN)
il est possible de réaliser un \emph{embedding} ou plongement des graphes
\parencite{velickovicGraphAttentionNetworks2018,hamiltonInductiveRepresentationLearning, xuHowPowerfulAre2019} en
tenant compte des invariances qui sont inhérentes à ces objets.
\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}
Permettant derrière d'appliquer, par exemple, des auto-encodeur
variationnels ou VAE \parencite{
kipfVariationalGraphAutoEncoders2016,
kipfSemiSupervisedClassificationGraph2017} par exemple et
donc permettant d'obtenir par réseau une distribution. Cela permet alors
par exemple de calculer une distance de Gromov-Wasserstein afin de comparer
les réseaux et de pouvoir réaliser un \emph{clustering} ou une
classification.
Un des avantages principaux est le passage à l'échelle de ces méthodes
permettant de traiter des réseaux de plus grande taille.
\end{frame}
\subsection[Axe 3]{Axe 3 : Inférence jointe de réseaux}
\label{sec:axe-3}
\begin{frame}
\end{frame}
\section{Organisation de la thèse}
\label{sec:organisation-these}
\begin{frame}
\begin{block}{Planning prévisionnel de la thèse}
TODO Ici une timeline
\begin{itemize}
\item Axe 1 : Oct. 2024 -- Oct. 2025
\item Axe 2 : Oct. 2025 -- Oct. 2026
\item Axe 3 : Avril 2026 -- Avril 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}
\renewcommand{\pgfuseimage}[1]{\scalebox{.75}{\includegraphics{#1}}}
\begin{frame}[noframenumbering,plain,allowframebreaks]
\frametitle{Bibliographie}
\printbibliography
\end{frame}
\include{principal}
\appendix

523
principal.tex Normal file
View file

@ -0,0 +1,523 @@
\section{Parcours}
\label{sec:parcours}
\begin{frame}{Formations}
\begin{itemize}
\item 2023--2024, M2 Mathématiques pour les Sciences du Vivant,
Université Paris-Saclay\\
{\small UC à choix \nth{2} semestre : modèles à variables
latentes, statistiques spatiales et méthodes de stats en grande dimensions}
\item 2022--2023, Année de césure
\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 2018--2020, Classe Préparatoire BCPST
\end{itemize}
\end{frame}
\begin{frame}{Expériences professionnelles}
\begin{itemize}
\item 2024 Avril--Sept., Détection de structures et clustering de réseaux
écologiques. Stage dans lUMR MIA Paris-Saclay, supervisé par Pierre Barbillon.
\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 2022 Mai--Déc., Stage assistant ingénieur en Qualité chez
Eurofins Food France
\end{itemize}
\end{frame}
\section[Axes de recherche]{Axes de recherche}
\begin{frame}
\frametitle{Contexte écologique}
\begin{itemize}
\item De nombreux réseaux disponibles \parencite{WebLifeEcological} et
décrivant des interactions similaires. Par exemple des
interactions proies-prédateurs, plantes-pollinisateurs \dots
\item 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é.
\item 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}
\begin{itemize}
\item Faire de la détection de structure réseau par réseau de manière
agnostique (SBM, LBM) est bien connu. Mais il y a de l'intérêt à
le faire sur plusieurs :
\begin{itemize}
\item Des espèces différentes dans plusieurs réseaux pourrait
remplir des rôles similaires
\item 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.
\item 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
\end{itemize}
\item Re-grouper les réseaux selon leur similarité (\emph{clustering}
de réseaux)
\item Transférer de l'information grâce à la collection (par exemple
reconstitution de données manquantes)
\item Proposer des comparaisons en extrayant plus d'informations que
les métriques classiques
\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
Permet de décrire des interactions impliquant deux agents dont les rôles
sont de natures différentes.\\
Par exemple : hôtes-parasites, plantes-pollinisateurs, graines-disperseurs
\dots
\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]
\node[text justified, fill=none] at (10, 3.5)
{$\overset{iid}{\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]
\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]
\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}
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}
\frametitle{Application, 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}
\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}
\begin{column}{0.49\linewidth}
\begin{figure}[H]
\includegraphics[width=0.30\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.30\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}
\end{columns}
\end{frame}
\begin{frame}
\begin{block}{Apport déjà réalisé}
\small
\begin{itemize}
\item Adaptation du modèle mathématique\footnote{\scalebox{0.8}{Notamment des formules des étapes VE
et M et du calcul de dissimilarité.}} proposé par
\cite{chabert-liddellLearningCommonStructures2024} aux réseaux bipartites
\item Développement algorithmique pour l'exploration de l'espace de
paramètres.
\item Écriture du code de la partie bipartite s'intégrant
au package\footnote{\scalebox{0.8}{\faGithub
\url{https://github.com/Chabert-Liddell/colSBM}}} écrit par Saint-Clair Chabert-Liddell.
\end{itemize}
\end{block}
\begin{block}{À finir/à faire}
\small
\begin{itemize}
\item Finaliser l'analyse d'applications sur données réelles
commencée sur \cite{doreRelativeEffectsAnthropogenic2021,
thebaultDatabasePlantpollinatorNetworks2020} avec les
interprétations des écologues.
\item Preuve d'identifiabilité du modèle
\parencite{chabert-liddellLearningCommonStructures2024,
celisseConsistencyMaximumlikelihoodVariational2012,
keribinEstimationSelectionLatent2015,
braultCoclusteringLatentBloc2015}
\end{itemize}
\end{block}
\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]
\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}
En utilisant les \emph{Graph Convolutional Networks} (GCN)
il est possible de réaliser un \emph{embedding} des graphes
\parencite{velickovicGraphAttentionNetworks2018,hamiltonInductiveRepresentationLearning, xuHowPowerfulAre2019} en
tenant compte des invariances qui sont inhérentes à ces objets.
\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}
Pour, par exemple, utiliser des auto-encodeur variationnels ou VAE
\parencite{
kipfVariationalGraphAutoEncoders2016,
kipfSemiSupervisedClassificationGraph2017} par exemple et
donc permettant d'obtenir par réseau une distribution. Cela permet alors
par exemple de calculer une distance de Gromov-Wasserstein afin de comparer
les réseaux et de pouvoir réaliser un \emph{clustering} ou une
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{frame}
\subsection[Axe 3]{Axe 3 : Inférence jointe de réseaux}
\label{sec:axe-3}
\begin{frame}
\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}{10}{2025}}%
{\textbf{\color{blue} Axe 1}}[blue][.3][0.1][b]
\eventspan {\decimaldate{1}{10}{2025}}{\decimaldate{1}{10}{2026}}%
{\textbf{\color{red} Axe 2}}[red][.3][0.1][b]
\eventspan {\decimaldate{1}{4}{2026}}{\decimaldate{1}{4}{2027}}%
{\textbf{\color{ao(english)} Axe 3}}[ao(english)][.3][0.1][b]
\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}
\renewcommand{\pgfuseimage}[1]{\scalebox{.75}{\includegraphics{#1}}}
\begin{frame}[noframenumbering,plain,allowframebreaks]
\frametitle{Bibliographie}
\printbibliography
\end{frame}

View file

@ -140,6 +140,24 @@
file = {/home/polarolouis/Zotero/storage/M74TXGCF/Chabert-Liddell et al. - 2023 - Learning common structures in a collection of netw.pdf;/home/polarolouis/Zotero/storage/A35M8KNP/2206.html}
}
@article{chabert-liddellLearningCommonStructures2024,
title = {Learning Common Structures in a Collection of Networks. {{An}} Application to Food Webs},
author = {Chabert-Liddell, Saint-Clair and Barbillon, Pierre and Donnet, Sophie},
date = {2024-06},
journaltitle = {The Annals of Applied Statistics},
volume = {18},
number = {2},
pages = {1213--1235},
publisher = {Institute of Mathematical Statistics},
issn = {1932-6157, 1941-7330},
doi = {10.1214/23-AOAS1831},
url = {https://projecteuclid.org/journals/annals-of-applied-statistics/volume-18/issue-2/Learning-common-structures-in-a-collection-of-networks-An-application/10.1214/23-AOAS1831.full},
urldate = {2024-05-16},
abstract = {Let a collection of networks represent interactions within several (social or ecological) systems. We pursue two objectives: identifying similarities in the topological structures that are held in common between the networks and clustering the collection into subcollections of structurally homogeneous networks. We tackle these two questions with a probabilistic model-based approach. We propose an extension of the stochastic block model (SBM) adapted to the joint modeling of a collection of networks. The networks in the collection are assumed to be independent realizations of SBMs. The common connectivity structure is imposed through the equality of some parameters. The model parameters are estimated with a variational expectation-maximization (EM) algorithm. We derive an ad hoc penalized likelihood criterion to select the number of blocks and to assess the adequacy of the consensus found between the structures of the different networks. This same criterion can also be used to cluster networks on the basis of their connectivity structure. It thus provides a partition of the collection into subsets of structurally homogeneous networks. The relevance of our proposition is assessed on two collections of ecological networks. First, an application to three stream food webs reveals the homogeneity of their structures and the correspondence between groups of species in different ecosystems playing equivalent ecological roles. Moreover, the joint analysis allows a finer analysis of the structure of smaller networks. Second, we cluster 67 food webs according to their connectivity structures and demonstrate that five mesoscale structures are sufficient to describe this collection.},
keywords = {clustering,ecology,latent variable models,networks,Stochastic block model},
file = {/home/polarolouis/Zotero/storage/4USKD3WW/Chabert-Liddell et al. - 2024 - Learning common structures in a collection of netw.pdf}
}
@article{daudinMixtureModelRandom2008,
title = {A Mixture Model for Random Graphs},
author = {Daudin, J.-J. and Picard, F. and Robin, S.},