357 lines
No EOL
16 KiB
TeX
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} |