mia-rapport-2024/presentation/presentation.tex
2024-06-28 16:24:24 +02:00

357 lines
No EOL
16 KiB
TeX

\documentclass{beamer}
\usetheme{Boadilla}
% importations
\usepackage[french]{babel} % pour dire que le texte est en francais
\usepackage{csquotes}
\usepackage[T1]{fontenc} % pour les font postscript
\usepackage[cyr]{aeguill} % Police vectorielle TrueType, guillemets francais
\usepackage{epsfig} % pour gérer les images
\usepackage{amsmath,amsthm, stmaryrd} % très bon mode mathématique
\usepackage{amsfonts,amssymb,bm, bbold}% permet la definition des ensembles
\usepackage{algorithm2e} % pour les algorithmes
\usepackage{algpseudocode} % pour les algorithmes
\usepackage{graphicx}
\usepackage{float} % pour le placement des figure
\usepackage{url} % pour une gestion efficace des url
\usepackage{hyperref} % pour les hyperliens dans le document
\usepackage{tikz} % For graph plots
\usepackage[outline]{contour}
\usepackage{adjustbox} % To resize tikzpictures
\usepackage{fontawesome5}
\usepackage{makecell}
% Beamer
\setbeamertemplate{headline}{%
\begin{beamercolorbox}[ht=2.25ex,dp=3.75ex]{section in head/foot}
\insertnavigation{\paperwidth}
\end{beamercolorbox}%
}%
\beamertemplatenavigationsymbolsempty % Pas de bar de navigation
\setbeamerfont{caption}{size=\scriptsize} % Petit titre de figures
% bibliographie
\usepackage[style=apa,sorting=none]{biblatex}
\addbibresource{../references.bib}
% Images
\graphicspath{{../img/}{../figure/}}
% Tikz
%% Tikz Related
\usetikzlibrary{calc,shapes,backgrounds,arrows,automata,shadows,positioning}
\usetikzlibrary{arrows,shapes,positioning,shadows,trees,calc,backgrounds,automata,positioning}
\usetikzlibrary{decorations.pathreplacing,calligraphy,external,petri}
%% Tikz sets
\tikzset{
basic/.style = {draw, text width=3cm, font=\sffamily, rectangle},
root/.style = {basic, rounded corners=2pt, thin, align=center,
fill=green!30},
level 2/.style = {basic, rounded corners=6pt, thin,align=center, fill=green!60,
text width=8em},
level 3/.style = {basic, thin, align=left, fill=pink!60, text width=3.5cm}
}
% Couleurs
% pour tickz multilevel
\definecolor{ao(english)}{rgb}{0.0, 0.5, 0.0}
\definecolor{redorg}{RGB}{215, 48, 39}
\definecolor{orangeorg}{RGB}{253, 174, 97}
\definecolor{blueind}{RGB}{016, 101, 171}
\definecolor{cyanind}{RGB}{058, 147, 195}
\definecolor{electricblue}{RGB}{142, 196, 222}
\definecolor{greenind}{RGB}{112, 130, 56}
\definecolor{burntorange}{RGB}{179, 021, 041}
\definecolor{goldenyellow}{RGB}{215, 095, 076}
\definecolor{peach}{RGB}{246, 164, 130}
\definecolor{gray}{RGB}{128, 128, 128}
% Footnote
\makeatletter
\newcommand\blfootnote[1]{%
\begingroup
\renewcommand{\@makefntext}[1]{\noindent\makebox[1.8em][r]#1}
\renewcommand\thefootnote{}\footnote{#1}%
\addtocounter{footnote}{-1}%
\endgroup
}
\makeatother
\subtitle{Séminaire des stagiaires}
\title[Collections de réseaux bipartites]{Détection de structure dans des réseaux bipartites}
\author[L. Lacoste]{Louis \textsc{Lacoste}} % Sous la supervision de Pierre
\date{4 juillet 2024}
\begin{document}
% titre
\begin{frame}[noframenumbering,plain]
\maketitle
\end{frame}
\section{Contexte du modèle}
\label{sec:contexte-du-modele}
\begin{frame}
\frametitle{Contexte écologique}
\begin{itemize}
\item Faire de la détection de structure sur un réseau (SBM, LBM) mais intérêt à le faire sur plusieurs
\item De nombreux réseaux disponibles \parencite{WebLifeEcological} et décrivant des interactions similaires
\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 Déterminer des structures d'interactions fines de manière agnostique % Pas d'idee preco
%\item Vérifier si le regroupement est lié à des co-variables
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Réseaux bipartites\footnote{Ou \emph{bipartis}. Voir~\cite{larousseDefinitionsBipartiBipartite}.}}
\begin{columns}[c]
\begin{column}{0.65\textwidth}
\begin{figure}[ht]
\centering
\begin{tikzpicture}[scale=.65]
\input{../tikz/plantpollinatornetwork.tex}
\end{tikzpicture}
\caption{Exemple d'un réseau plantes-pollinisateurs}
\label{fig:plantes-pollin}
\end{figure}
\end{column}
\hfill
\begin{column}{0.35\linewidth}
\centering
\begin{align*}
X = \begin{pmatrix}
1 & 1 & 1 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 & 0 & 1 \\
1 & 0 & 0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 1 & 0
\end{pmatrix}
\end{align*}
\footnotesize
Matrice d'adjacence associée
\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{Latent Block Model (LBM\footnotemark[2])}
%DONE remplacer i \in bullet par Zi = \bullet
Proposé par~\cite{govaertEMAlgorithmBlock2005}.
\begin{columns}
\begin{column}{0.40\linewidth}
\begin{figure}[H]
\center
\begin{tikzpicture}[scale=0.35]
\input{../tikz/lbm.tex}
\end{tikzpicture}
\caption{Exemple de LBM\footnotemark}
\label{fig:LBMvisu}
\end{figure}
\end{column}
\begin{column}{0.51\linewidth}
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}
\footnotetext{Que j'appellerai par la suite BiSBM}
\end{frame}
\section{Extension de \emph{colSBM} aux réseaux bipartites}
\label{sec:extension-de-colsbm-aux-reseaux-bipartites}
\begin{frame}
\frametitle{Collections bipartites}
\begin{tikzpicture}[scale=0.33]
\input{../tikz/collbm-iid.tex}
\end{tikzpicture}
\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{Différents modèles}
\only<1>{
\begin{tikzpicture}[scale=0.33]
\input{../tikz/collbm-iid.tex}
\end{tikzpicture}
\begin{block}{\emph{iid-colBiSBM}}
$\bm{\pi} = (\pi_1, \dots \pi_{Q_1})$ et $\bm{\rho} = (\rho_1, \dots \rho_{Q_2})$
\end{block}
}
\only<2>{
\begin{tikzpicture}[scale=0.33]
\input{../tikz/collbm-pirho.tex}
\end{tikzpicture}
\begin{block}{\emph{$\pi\rho$-colBiSBM}}
$\bm{\pi} = ((\pi_{\color{black}1}^{\color{red}m}, \dots \pi_{\color{black}Q_1}^{\color{red}m}))_{m=1,\dots M}$ et $\bm{\rho} = ((\rho_{\color{black}1}^{\color{red}m}, \dots \rho_{\color{black}Q_2}^{\color{red}m}))_{m=1,\dots M}$ %{$\forall q \in \llbracket 1, Q_1 - 1\rrbracket, \pi_q > 0$ et $\forall r \in \llbracket 1, Q_2 - 1\rrbracket, \rho_r > 0$}
\small \\
avec $\forall q,m \in \llbracket 1, Q_1 \rrbracket \times \llbracket 1, M \rrbracket, \pi_q^m \in \left[ 0,1 \right]$
et $\forall r,m \in \llbracket 1, Q_2 \rrbracket \times \llbracket 1, M \rrbracket, \rho_r^m \in \left[ 0,1 \right]$
\end{block}
}
Dans tous les modèles la structure de connectivité ($\bm{\alpha}$) est supposée identique au sein de la collection.
\end{frame}
\begin{frame}
\frametitle{Estimation des paramètres}
% DONE dire que tau i q m c' est la proba que Zim = q, approximation de la proba variationnelle. Parce qu on impose lindependance
Maximisation d'une borne inférieure de la log-vraisemblance des données observées.
\begin{multline*}
\ell (\bm{X};\bm{\theta}) \geq \color{red}\sum_{m=1}^{M} \bigg( \color{black} \sum_{i = 1}^{n_1^m}\sum_{j=1}^{n_2^m}\sum_{q \in \mathcal{Q}_{1,m}} \sum_{r \in \mathcal{Q}_{2,m}} \tau^{1,m}_{i,q} \tau^{2,m}_{j,r} \log f(X^{m}_{ij}; \alpha_{qr}) \\
+ \sum_{i=1}^{n_1^m} \sum_{q \in \mathcal{Q}_{1,m}} \tau^{1,m}_{i,q} \log \pi_{\color{black}q}^{\color{gray}m} + \sum_{j=1}^{n_2^m} \sum_{r \in \mathcal{Q}_{2,m}} \tau^{2,m}_{j,r} \log \rho_{\color{black}r}^{\color{gray}m} \\
- \sum_{i=1}^{n_1} \tau^{1,m}_{i,q} \log \tau^{1,m}_{i,q} - \sum_{j=1}^{n_2} \tau^{2,m}_{j,r} \log \tau^{2,m}_{j,r} \color{red}\bigg) \color{black} =: J(\bm{\tau};\bm{\theta}) $$
\end{multline*}
\begin{block}{Approximation variationnelle}
$\tau_{i,q}^{1,m} = P(Z_i = q | X^m_{ij})$ et $\tau_{j,r}^{2,m} = P(W_j = r | X^m_{ij})$ tels que $P(Z_i = q, W_j = r | X^m_{ij}) = \tau_{i,q}^{1,m}\times\tau_{j,r}^{2,m}$
\end{block}
\end{frame}
\begin{frame}
\frametitle{Sélection de modèle : choix de $(Q_1,Q_2)$ - Approche gloutonne}
% DONE But maximiser un critere le BICL, deplacer voir St Clair dans la note
% VEM a Q1 Q2 fixer
% Choix de Q1 Q2 par maximisation du BICL
% Itemize dans la box : init, explo voisin, arrets
\underline{Le VEM se fait à $Q_1, Q_2$ fixés}, il faut donc déterminer les \enquote*{meilleures} coordonnées.
Nous maximisons un BIC-L\footnote{\emph{Bayesian Information Criterion - Like}, en adaptant les formules de~\cite{chabert-liddellLearningCommonStructures2023}}.
Détermination d'un premier mode par approche \emph{gloutonne} \smallskip
\begin{columns}
\begin{column}{0.5\linewidth}
\begin{tikzpicture}
\input{../tikz/greedy-exploration.tex}
\end{tikzpicture}
\end{column}
\begin{column}{0.5\linewidth}
\begin{block}{Exploration gloutonne}
\begin{itemize}
\item Initialisation sur $(1,2)$ et $(2,1)$
\item Exploration des 4 voisins et déplacement sur le meilleur des 4
\item Arrêt après 2 étapes successives sans augmentation du BIC-L
\end{itemize}
\end{block}
\end{column}
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Sélection de modèle : choix de $(Q_1,Q_2)$ - Fenêtre glissante}
\begin{columns}
\begin{column}{0.6\textwidth}
\begin{figure}
\input{../tikz/moving-window.tex}
\caption{Fenêtre glissante}
\end{figure}
\end{column}
\begin{column}{0.4\textwidth}
\only<3>{\begin{block}{}
Initialisation du modèle si nécessaire
\end{block}}
\only<9>{\begin{block}{}
Localisation du nouveau mode
\end{block}}
\only<10>{\begin{block}{}
Déplacement sur le nouveau mode puis itération
\end{block}}
\end{column}
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Clustering de réseaux}
\begin{tikzpicture}
\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}
\blfootnote{Même approche que~\cite{chabert-liddellLearningCommonStructures2023}}
\end{frame}
\section{Application}
\label{sec:application}
\section{Conclusion}
\label{sec:conclusion}
\begin{frame}
\frametitle{Conclusion et perspectives}
% DONE Ajouter une slide conclusion perspective
% Rappeler les modeles avec clustering
% Evoquer l'analyse de reseaux corrigés pour l'échantillonnage
% Lien vers le package
\begin{itemize}
\item 4 modèles dont 3 qui ont une flexibilité sur au moins une des dimensions (adaptabilité aux données)
\item Partitionner un ensemble de réseaux selon leurs structures
\item Comparer les \emph{clusterings} de réseaux obtenus entre données brutes et données corrigées (par exemple par la méthode \emph{CoOPLBM}\footnote{~\cite{anakokDisentanglingStructureEcological2022}})
\end{itemize}
\bigskip
\centering
Le package est disponible sur GitHub : \faGithub \url{https://github.com/Chabert-Liddell/colSBM}
\bigskip
\huge
Merci pour votre attention !
\end{frame}
\renewcommand{\pgfuseimage}[1]{\scalebox{.75}{\includegraphics{#1}}}
\begin{frame}[noframenumbering,plain,allowframebreaks]
\frametitle{Bibliographie}
\printbibliography
\end{frame}
\end{document}