Integration retours Emré

This commit is contained in:
Louis Lacoste 2024-05-22 18:27:48 +02:00
parent d1fe0159c2
commit 8a2e9b9c46
4 changed files with 124 additions and 162 deletions

View file

@ -26,19 +26,19 @@ transform shape]
\node[state, draw=black!50] (R31) at (10,5) {\textbf{R31}}; \node[state, draw=black!50] (R31) at (10,5) {\textbf{R31}};
\tikzstyle{every node}=[fill=burntorange, shape=rectangle] \tikzstyle{every node}=[fill=burntorange, shape=rectangle]
\node[edge_proba] (pi3) at (0.5,-0.7) \node[edge_proba] (rho1) at (0.5,-0.9)
{\textbf{$\rho_{{\color{burntorange}\bullet}}$}}; {\textbf{$\rho_{{\color{burntorange}\bullet}}$}};
\tikzstyle{every state}=[draw=none,text=black,scale=0.75, \tikzstyle{every state}=[draw=none,text=black,scale=0.75,
transform shape, shape=rectangle] transform shape, shape=rectangle]
\node[state, draw=black!50] (C11) at (0,0) {\textbf{C11}}; \node[state, draw=black!50] (C11) at (0,0) {\textbf{C11}};
\node[state, draw=black!50] (C12) at (1,0) {\textbf{C12}}; \node[state, draw=black!50] (C12) at (1,0) {\textbf{C12}};
\tikzstyle{every node}=[fill=goldenyellow, shape=rectangle] \tikzstyle{every node}=[fill=goldenyellow, shape=rectangle]
\node[edge_proba] (pi3) at (4,-0.7) \node[edge_proba] (rho2) at (4,-0.9)
{\textbf{$\rho_{{\color{goldenyellow}\bullet}}$}}; {\textbf{$\rho_{{\color{goldenyellow}\bullet}}$}};
\node[state, draw=black!50] (C21) at (3.5,0) {\textbf{C21}}; \node[state, draw=black!50] (C21) at (3.5,0) {\textbf{C21}};
\node[state, draw=black!50] (C22) at (4.5,0) {\textbf{C22}}; \node[state, draw=black!50] (C22) at (4.5,0) {\textbf{C22}};
\tikzstyle{every node}=[fill=peach, shape=rectangle] \tikzstyle{every node}=[fill=peach, shape=rectangle]
\node[edge_proba] (pi3) at (10,-0.7) \node[edge_proba] (rho3) at (10,-0.9)
{\textbf{$\rho_{{\color{peach}\bullet}}$}}; {\textbf{$\rho_{{\color{peach}\bullet}}$}};
\node[state, draw=black!50] (C31) at (10,0) {\textbf{C31}}; \node[state, draw=black!50] (C31) at (10,0) {\textbf{C31}};

View file

@ -0,0 +1,38 @@
\tikzstyle{every edge}=[-,>=stealth',shorten >=1pt,auto,thin,draw]
\tikzstyle{every state}=[draw, text=white,scale=0.70, 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=.15\textwidth]{img/pollen.png}};
\node[state, right = of N1] (N2) {\includegraphics[width=.15\textwidth]{img/pollen.png}}; % at (.75,3)
\node[state, right = of N2] (N3) {\includegraphics[width=.15\textwidth]{img/pollen.png}}; % at (1.5,3)
\node[state, right = of N3] (N4) {\includegraphics[width=.15\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);

Binary file not shown.

View file

@ -21,7 +21,7 @@
\begin{itemize} \begin{itemize}
\item 2022 Mai--Déc., Stage assistant ingénieur en Qualité chez \item 2022 Mai--Déc., Stage assistant ingénieur en Qualité chez
Eurofins Food France Eurofins Food France.
\item 2023 Janv.--Juillet, Détection de structures dans des collections de \item 2023 Janv.--Juillet, Détection de structures dans des collections de
réseaux bipartites et écriture du package implémentant la méthode. réseaux bipartites et écriture du package implémentant la méthode.
@ -43,54 +43,13 @@
\begin{itemize} \begin{itemize}
\item Nombreux réseaux disponibles \parencite{WebLifeEcological} pour interactions similaires. Par exemple, \item Nombreux réseaux disponibles \parencite{WebLifeEcological} pour interactions similaires. Par exemple,
interactions proies-prédateurs, plantes-pollinisateurs \dots interactions proies-prédateurs, plantes-pollinisateurs \dots
\item Suivi biodiversité, analyse de robustesse et risque d'effondrement \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{columns} \begin{columns}
\begin{column}{0.6\textwidth} \begin{column}{0.6\textwidth}
\begin{figure}[ht] \begin{figure}[ht]
\centering \centering
\begin{tikzpicture}[scale=.65] \begin{tikzpicture}[scale=.65]
\tikzstyle{every edge}=[-,>=stealth',shorten >=1pt,auto,thin,draw] \input{figures/plantpollinatornetwork.tex}
\tikzstyle{every state}=[draw, text=white,scale=0.70, 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=.15\textwidth]{img/pollen.png}};
\node[state, right = of N1] (N2) {\includegraphics[width=.15\textwidth]{img/pollen.png}}; % at (.75,3)
\node[state, right = of N2] (N3) {\includegraphics[width=.15\textwidth]{img/pollen.png}}; % at (1.5,3)
\node[state, right = of N3] (N4) {\includegraphics[width=.15\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} \end{tikzpicture}
\caption{Exemple d'un réseau plantes-pollinisateurs} \caption{Exemple d'un réseau plantes-pollinisateurs}
\label{fig:plantes-pollin} \label{fig:plantes-pollin}
@ -101,7 +60,7 @@
\centering \centering
\begin{align*} \begin{align*}
X = \begin{pmatrix} X = \begin{pmatrix}
1 & 1 & 1 & 1 & 0 & 0\\ 1 & 1 & 1 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 0 & 1 & 0 & 1 \\
1 & 0 & 0 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 1 & 0 0 & 0 & 0 & 0 & 1 & 0
@ -113,9 +72,6 @@
\end{columns} \end{columns}
\item En écologie microbienne réseaux permettent le suivi de la \item En écologie microbienne réseaux permettent le suivi de la
qualité des sols. 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{itemize}
\end{frame} \end{frame}
@ -126,15 +82,15 @@
Détection de structure\footnote{L'organisation du réseau.} pour un unique Détection de structure\footnote{L'organisation du réseau.} pour un unique
réseau bien connu avec par exemple : réseau bien connu avec par exemple :
\begin{itemize} \begin{itemize}
\item Modèles de \emph{clustering} à variables latentes \item Modèles de \emph{clustering} à variables latentes.
\item \emph{Embedding} par apprentissage profond\\ \item \emph{Embedding} par apprentissage profond.
\item Et bien d'autres méthodes \item Et bien d'autres méthodes.
\note[item]{Par exemple la détection de communauté, les calculs de métriques comme la centralité} \note[item]{Par exemple la détection de communauté, les calculs de métriques comme la centralité}
\end{itemize} \end{itemize}
Mais des motivations pour considérer des collections : Mais des motivations pour considérer des collections :
\begin{itemize} \begin{itemize}
\item Espèces différentes, rôles analogues \item Espèces différentes, rôles analogues.
% Des espèces différentes dans plusieurs réseaux pourrait % Des espèces différentes dans plusieurs réseaux pourrait
% remplir des rôles similaires % remplir des rôles similaires
\item Transfert d'informations grands vers petits réseaux. \item Transfert d'informations grands vers petits réseaux.
@ -145,7 +101,7 @@
% d'autre une prise en compte en collection de réseaux pourrait % d'autre une prise en compte en collection de réseaux pourrait
% aider à transférer de l'information % aider à transférer de l'information
\item Regrouper les réseaux selon leur similarité (\emph{clustering} \item Regrouper les réseaux selon leur similarité (\emph{clustering}
de réseaux) de réseaux).
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -210,29 +166,10 @@
$$\forall m \in [\![ 1, M ]\!], Y^m \sim LBM_{n^m_1, n^m_2} (\pi^{\color{red}m}, \rho^{\color{red}m}, \alpha)$$ $$\forall m \in [\![ 1, M ]\!], Y^m \sim LBM_{n^m_1, n^m_2} (\pi^{\color{red}m}, \rho^{\color{red}m}, \alpha)$$
\end{block} \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} \end{frame}
\begin{frame}{Apport déjà réalisé} \begin{frame}{Apport déjà réalisé}
\begin{itemize} \begin{itemize}
\item Écriture du modèle colBiSBM \item Écriture du modèle colBiSBM.
\item Dérivation des formules d'inférence et d'un critère de sélection \item Dérivation des formules d'inférence et d'un critère de sélection
de modèle par vraisemblance pénalisée (choix du nombre de blocs). de modèle par vraisemblance pénalisée (choix du nombre de blocs).
\item Implémentation des formules et du critère et développement \item Implémentation des formules et du critère et développement
@ -298,7 +235,7 @@
\parencite{chabert-liddellLearningCommonStructures2024, \parencite{chabert-liddellLearningCommonStructures2024,
celisseConsistencyMaximumlikelihoodVariational2012, celisseConsistencyMaximumlikelihoodVariational2012,
keribinEstimationSelectionLatent2015, keribinEstimationSelectionLatent2015,
braultCoclusteringLatentBloc2015} braultCoclusteringLatentBloc2015}.
\note[item]{Car les blocs vides du modèles $\pi\rho$ posent \note[item]{Car les blocs vides du modèles $\pi\rho$ posent
soucis.} soucis.}
@ -309,26 +246,6 @@
\subsection[Axe 2]{Axe 2 : Embedding de n\oe uds par \subsection[Axe 2]{Axe 2 : Embedding de n\oe uds par
apprentissage profond pour comparaison des topologies de réseaux} apprentissage profond pour comparaison des topologies de réseaux}
\label{sec:axe-2} \label{sec:axe-2}
% % \begin{tikzpicture}[
% % vertex/.style = {circle, draw, inner sep=0.5pt, fill=white},
% % vertex1/.style = {vertex, fill=red!30!white},
% % vertex2/.style = {vertex, fill=orange!30!white},
% % vertex3/.style = {vertex, fill=blue!30!white},
% % vertex4/.style = {vertex, fill=teal!30!white},
% % scale = 0.5
% % ]
% % \begin{scope}
% % \draw[thick]
% % (-0.5,0) node[vertex1] (n1^4) {$n_1$}
% % -- (0.25,2.2) node[vertex2] (n2^4) {$n_2$}
% % -- (2,1.6) node[vertex3] (n3^4) {$n_3$}
% % -- (-0.7,1.4) node[vertex4] (n4^4) {$n_4$} -- cycle;
% % \node[left = 0.15cm of n4^4, fill = white] {$Y^m$};
% % \end{scope}
% % \end{tikzpicture}
\begin{frame}{\emph{Graph Neural Networks} et \emph{Variational AutoEncoder}} \begin{frame}{\emph{Graph Neural Networks} et \emph{Variational AutoEncoder}}
\begin{figure} \begin{figure}
@ -367,14 +284,15 @@
% \draw[arrow] (decoder.east) -- (output.west); % \draw[arrow] (decoder.east) -- (output.west);
% \end{tikzpicture} % \end{tikzpicture}
\includegraphics[scale=0.20]{img/vae.png} \includegraphics[scale=0.17]{img/vae.png}
\caption{Schéma d'\cite{AutoencodeurVariationnel2024}} \caption{Schéma d'\cite{AutoencodeurVariationnel2024}}
\label{fig:schema-vgae} \label{fig:schema-vgae}
\end{figure} \end{figure}
\footnotesize
Problème des graphes pour les réseaux de neurones : \textbf{prise en compte
des invariances}.
\footnotesize
\only<1>{
\begin{block}{\small Problème des graphes pour les réseaux de neurones :
\textbf{prise en compte des invariances}}
\begin{itemize} \begin{itemize}
\item Utilisation des \emph{Graph Convolutional Networks} de \item Utilisation des \emph{Graph Convolutional Networks} de
\cite{kipfSemiSupervisedClassificationGraph2017} résout ce problème. \cite{kipfSemiSupervisedClassificationGraph2017} résout ce problème.
@ -385,18 +303,24 @@
\item Explorer le \emph{Deep Latent Space Model} \item Explorer le \emph{Deep Latent Space Model}
de~\cite{yangDeepLatentSpace2024} de~\cite{yangDeepLatentSpace2024}
\end{itemize} \end{itemize}
\end{block}
\end{frame} }
\only<2>{
\begin{frame}{Idées à explorer pour la comparaison de réseaux} \begin{block}{Idées à explorer pour la comparaison de réseaux}
\begin{itemize} \begin{itemize}
\item \emph{Embedding} commun des n\oe uds des réseaux à comparer sur un même espace \item \emph{Embedding} commun des n\oe uds des réseaux à comparer sur un même espace
latent. Puis comparaison des distributions ainsi obtenues. latent. Puis comparaison des distributions ainsi obtenues.
\item Encodeurs différents mais un décodeur commun pour comparer les \item Encodeurs différents mais un décodeur commun pour comparer les
représentations obtenues représentations obtenues
\end{itemize} \end{itemize}
\end{block}
}
\end{frame} \end{frame}
% \begin{frame}[allowframebreaks]{\emph{Graph Neural Networks}} % \begin{frame}[allowframebreaks]{\emph{Graph Neural Networks}}
% \begin{figure} % \begin{figure}
% \includegraphics[scale=0.4]{img/Message_passing.pdf} % \includegraphics[scale=0.4]{img/Message_passing.pdf}
@ -440,8 +364,8 @@
& $OTU_1$ & \dots & $OTU_p$ \\ & $OTU_1$ & \dots & $OTU_p$ \\
\hline \hline
Éch. 1 & $X_{1,1}$ & \dots & $X_{1,p} = 500$ \\ Éch. 1 & $X_{1,1}$ & \dots & $X_{1,p} = 500$ \\
\vdots& \vdots & & \vdots \\ \vdots & \vdots & & \vdots \\
Éch. n& $X_{n,1} = 10$ & \dots & $X_{n,p}$ \\ Éch. n & $X_{n,1} = 10$ & \dots & $X_{n,p}$ \\
\hline \hline
\end{tabular} \end{tabular}
\caption{Table d'OTU synthétique} \caption{Table d'OTU synthétique}
@ -476,7 +400,7 @@
\item Avec $M$ tableaux d'OTU, on peut supposer : \item Avec $M$ tableaux d'OTU, on peut supposer :
\begin{block}{Modèle hiérarchique} \begin{block}{Modèle hiérarchique}
\begin{align*} \begin{align*}
\forall m \in [\![1,M]\!],~& X_1^m, \dots, X_p^m \rightsquigarrow \mathcal{M}(Y^m)& \\ \forall m \in [\![1,M]\!],~ & X_1^m, \dots, X_p^m \rightsquigarrow \mathcal{M}(Y^m) & \\
& Y^m \rightsquigarrow LBM(\pi, \rho, \alpha) \text{ ou } Y^m \rightsquigarrow DLSM(f_D, f_E) & & Y^m \rightsquigarrow LBM(\pi, \rho, \alpha) \text{ ou } Y^m \rightsquigarrow DLSM(f_D, f_E) &
\end{align*} \end{align*}
\end{block} \end{block}