diff options
author | Jan Aalmoes <jan.aalmoes@inria.fr> | 2024-09-11 00:10:50 +0200 |
---|---|---|
committer | Jan Aalmoes <jan.aalmoes@inria.fr> | 2024-09-11 00:10:50 +0200 |
commit | bf5b05a84e877391fddd1b0a0b752f71ec05e901 (patch) | |
tree | 149609eeff1d475cd60f398f0e4bfd786c5d281c /synthetic/figure/tikz | |
parent | 03556b31409ac5e8b81283d3a6481691c11846d7 (diff) |
Preuve existe f pas cca equivalant exists f BA pas randomguess
Diffstat (limited to 'synthetic/figure/tikz')
-rw-r--r-- | synthetic/figure/tikz/data.tex | 20 | ||||
-rw-r--r-- | synthetic/figure/tikz/data_flow/step1.tex | 30 | ||||
-rw-r--r-- | synthetic/figure/tikz/data_flow/step2.tex | 16 | ||||
-rw-r--r-- | synthetic/figure/tikz/data_flow/step3.tex | 23 | ||||
-rw-r--r-- | synthetic/figure/tikz/data_split/bck | 73 | ||||
-rw-r--r-- | synthetic/figure/tikz/data_split/split.tex | 65 | ||||
-rw-r--r-- | synthetic/figure/tikz/ovre.tex | 13 |
7 files changed, 240 insertions, 0 deletions
diff --git a/synthetic/figure/tikz/data.tex b/synthetic/figure/tikz/data.tex new file mode 100644 index 0000000..663b59c --- /dev/null +++ b/synthetic/figure/tikz/data.tex @@ -0,0 +1,20 @@ +\makeatletter +\tikzset{ + database/.style={ + path picture={ + \draw (0, 1.5*\database@segmentheight) circle [x radius=\database@radius,y radius=\database@aspectratio*\database@radius]; + \draw (-\database@radius, 0.5*\database@segmentheight) arc [start angle=180,end angle=360,x radius=\database@radius, y radius=\database@aspectratio*\database@radius]; + \draw (-\database@radius,-0.5*\database@segmentheight) arc [start angle=180,end angle=360,x radius=\database@radius, y radius=\database@aspectratio*\database@radius]; + \draw (-\database@radius,1.5*\database@segmentheight) -- ++(0,-3*\database@segmentheight) arc [start angle=180,end angle=360,x radius=\database@radius, y radius=\database@aspectratio*\database@radius] -- ++(0,3*\database@segmentheight); + }, + minimum width=2*\database@radius + \pgflinewidth, + minimum height=3*\database@segmentheight + 2*\database@aspectratio*\database@radius + \pgflinewidth, + }, + database segment height/.store in=\database@segmentheight, + database radius/.store in=\database@radius, + database aspect ratio/.store in=\database@aspectratio, + database segment height=0.1cm, + database radius=0.25cm, + database aspect ratio=0.35, +} +\makeatother diff --git a/synthetic/figure/tikz/data_flow/step1.tex b/synthetic/figure/tikz/data_flow/step1.tex new file mode 100644 index 0000000..739163f --- /dev/null +++ b/synthetic/figure/tikz/data_flow/step1.tex @@ -0,0 +1,30 @@ +\input{figure/tikz/data} + +\begin{tikzpicture} +\node[database,label=left:$D$] (d) at (0,0){}; +\node[database,label=left:$D_{\text{Train}}$] (train) at (0,-2){}; +\node[database,label=right:$D_{\text{Ttest}}$] (test) at (2,0){}; + +\draw[->] (d) to (train); +\draw[->] (d) to (test); + +\def \p {-2} %Bloc position +\def \s {1} %spacing +\node[rectangle,draw] (g1) at (2,\p+\s) {Generator 1}; +\node[rectangle,draw] (g2) at (2,\p) {Generator 2}; +\node[rectangle,draw] (g3) at (2,\p-\s) {Generator 3}; + +\draw[->] (train) to (g1); +\draw[->] (train) to (g2); +\draw[->] (train) to (g3); + +\node[database,label=right:$S_{1}$] (s1) at (4,\p+\s){}; +\node[database,label=right:$S_{2}$] (s2) at (4,\p){}; +\node[database,label=right:$S_{3}$] (s3) at (4,\p-\s){}; + +\draw[->] (g1) to (s1); +\draw[->] (g2) to (s2); +\draw[->] (g3) to (s3); + + +\end{tikzpicture} diff --git a/synthetic/figure/tikz/data_flow/step2.tex b/synthetic/figure/tikz/data_flow/step2.tex new file mode 100644 index 0000000..b00ff0e --- /dev/null +++ b/synthetic/figure/tikz/data_flow/step2.tex @@ -0,0 +1,16 @@ +\input{figure/tikz/data} + +\begin{tikzpicture} +\node[database,label=left:$S_{1}$] (s1) at (0,0){}; +\node[database,label=left:$S_{2}$] (s2) at (0,-1){}; +\node[database,label=left:$S_{3}$] (s3) at (0,-2){}; + +\node[rectangle,draw] (pred1) at (2,0) {Predictor 1}; +\node[rectangle,draw] (pred2) at (2,-1) {Predictor 2}; +\node[rectangle,draw] (pred3) at (2,-2) {Predictor 3}; + +\draw[->] (s1) to (pred1); +\draw[->] (s2) to (pred2); +\draw[->] (s3) to (pred3); + +\end{tikzpicture} diff --git a/synthetic/figure/tikz/data_flow/step3.tex b/synthetic/figure/tikz/data_flow/step3.tex new file mode 100644 index 0000000..e7d0d28 --- /dev/null +++ b/synthetic/figure/tikz/data_flow/step3.tex @@ -0,0 +1,23 @@ +\input{figure/tikz/data} + +\begin{tikzpicture} +\node[database,label=left:$D_{\text{test}}$] (test) at (0,-1){}; + +\node[rectangle,draw] (pred1) at (2,0) {Predictor 1}; +\node[rectangle,draw] (pred2) at (2,-1) {Predictor 2}; +\node[rectangle,draw] (pred3) at (2,-2) {Predictor 3}; + + +\node[database,label=right:$P_{1}$] (p1) at (4,0){}; +\node[database,label=right:$P_{2}$] (p2) at (4,-1){}; +\node[database,label=right:$P_{3}$] (p3) at (4,-2){}; + +\draw[->] (test) to (pred1); +\draw[->] (test) to (pred2); +\draw[->] (test) to (pred3); + +\draw[->] (pred1) to (p1); +\draw[->] (pred2) to (p2); +\draw[->] (pred3) to (p3); + +\end{tikzpicture} diff --git a/synthetic/figure/tikz/data_split/bck b/synthetic/figure/tikz/data_split/bck new file mode 100644 index 0000000..727f594 --- /dev/null +++ b/synthetic/figure/tikz/data_split/bck @@ -0,0 +1,73 @@ + +\begin{tikzpicture} + \node[database,label=left:Full] (d) at (0,0){}; + + \node[database,label=left:$m$ 80\%] (dtr) at (2,0.5){}; + \node[database,label=left:$\bar{m}$ 20\%] (dte) at (2,-0.5){}; + + \draw[->] (d) to (dtr); + \draw[->] (d) to (dte); + + \node[rectangle,draw,align=center] (target) at (5,0.5) {Target\\Model}; + + \draw[->] (dtr) to[bend left] node[midway,above,inner sep=2pt] {training} (target); + \draw[->] (dtr) to node[midway,below] {eval} (target); + \draw[->] (dte) to node[midway,below] {eval} (target); + + \node[database,label=above:loss $m$] (dlm) at (7,0.5){}; + \node[database,label=above:loss $\bar{m}$] (dlnm) at (7,-0.5){}; + + \draw[->] (target) to node[midway,above] {eval} (dlm); + \draw[->] (target) to node[midway,below] {eval} (dlnm); + + \node[database,label=below:MIA data] (shu) at (7,-2){}; + \draw[->] (dlm) to[out=0,in=50] (shu); + \draw[->] (dlnm) to[bend left] (shu); + + \node[database,label=right:Train 80\%] (miatr) at (4,-1.5){}; + \node[database,label=right:Test 20\%] (miate) at (4,-2.5){}; + \draw[->] (shu) to (miatr); + \draw[->] (shu) to (miate); + + \node[rectangle,draw,align=center] (miamod) at (2, -1.5) {MIA\\Model}; + + \draw[->] (miatr) to[bend right] node[midway,above,inner sep=2pt] {training} (miamod); + \draw[->] (miate) to node[midway,below] {eval} (miamod); + + \node (res) at (0,-1.5) {MIA result}; + \draw[->] (miamod) to (res); +\end{tikzpicture} + + + + + + +\begin{tikzpicture} +\node[database,label=left:$D$] (d) at (0,0){}; +\node[database,label=left:$D_{\text{Train}}$] (train) at (0,-2){}; +\node[database,label=right:$D_{\text{Ttest}}$] (test) at (2,0){}; + +\draw[->] (d) to (train); +\draw[->] (d) to (test); + +\def \p {-2} %Bloc position +\def \s {1} %spacing +\node[rectangle,draw] (g1) at (2,\p+\s) {Generator 1}; +\node[rectangle,draw] (g2) at (2,\p) {Generator 2}; +\node[rectangle,draw] (g3) at (2,\p-\s) {Generator 3}; + +\draw[->] (train) to (g1); +\draw[->] (train) to (g2); +\draw[->] (train) to (g3); + +\node[database,label=right:$S_{1}$] (s1) at (4,\p+\s){}; +\node[database,label=right:$S_{2}$] (s2) at (4,\p){}; +\node[database,label=right:$S_{3}$] (s3) at (4,\p-\s){}; + +\draw[->] (g1) to (s1); +\draw[->] (g2) to (s2); +\draw[->] (g3) to (s3); + + +\end{tikzpicture} diff --git a/synthetic/figure/tikz/data_split/split.tex b/synthetic/figure/tikz/data_split/split.tex new file mode 100644 index 0000000..a742424 --- /dev/null +++ b/synthetic/figure/tikz/data_split/split.tex @@ -0,0 +1,65 @@ +\input{synthetic/figure/tikz/data} + + +\begin{tikzpicture} + + %\draw[fill=red] (-1.1,1) rectangle (7.2,-2.5); + %\draw[fill=green] (-1.1,-2.5) rectangle (7.2,-5); + %\draw[fill=blue] (-1.1,-5) rectangle (7.2,-8); + %\draw[fill=white,fill opacity=0.8] (-1.1,1) rectangle (7.2,-8); + + %\node[single arrow, anchor=west, very thick, fill=lightgray, fill opacity=0.9, + % minimum width = 30pt, single arrow head extend=3pt, + % minimum height=89mm, + % rotate=-90] () at (3,1){}; + + \node[database,label={[align=left]left:Real\\data}] (d) at (0,0){}; + \node[rectangle,draw,align=center] (overfit) at (2,0) {OVR\\CTRL}; + \draw[->] (d) to node[midway,above] {80\%} (overfit); + \node[database,label=above:$m$] (realtr) at (3,0){}; + \draw[->] (overfit) to (realtr); + \node[rectangle,draw,align=center] (gen) at (6,0) {Generator\\Model}; + \draw[->] (realtr) to node[midway,above] {training} (gen); + + \node[database,label={[align=left]right:Synthetic\\data}] (syn) at (5,-1.5) {}; + \draw[->] (gen) to (syn); + \node[database,label=below:$\bar{m}$] (realte) at (0,-1.5) {}; + \draw[->] (d) to node[midway,left] {20\%}(realte); + \node[rectangle,draw,align=center] (tarmod) at (2,-2) {Target\\Model}; + \draw[->] (realte) to[out=0,in=130] node[midway,above] {eval} (tarmod); + \draw[->] (realtr) to node[midway,right] {eval} (tarmod); + \draw[->] (syn) to[out=-90,in=0] node[midway,above] {training} (tarmod); + \node[database,label={[align=center]left:loss\\$\bar{m}$}] (miam) at (1.5,-5) {}; + \node[database,label={[align=center]right:loss\\$m$}] (mian) at (2.5,-5) {}; + \node[database,label={[align=center]below:MIA\\data}] (mia) at (2,-6.5) {}; + \draw[->] (tarmod) to node[midway,fill=white] (aiabranch) {\small prediction} (miam); + \draw[->] (tarmod) to (mian); + \draw[->] (miam) to (mia); + \draw[->] (mian) to (mia); + + \node[database,label=above:Train] (miatr) at (4,-6.5) {}; + \node[database,label=below:Test] (miate) at (4,-7) {}; + \draw[->] (mia) to node[midway,above] {80\%} (miatr); + \draw[->] (mia) to node[midway,below] {20\%} (miate); + \node[rectangle,draw,align=center] (miamod) at (6.5,-6.5) {MIA\\Model}; + \draw[->] (miatr) to node[midway,above] {training} (miamod); + \node[align=center] (miares) at (6.5,-7.5) {MIA\\Result}; + \draw[->] (miate) to node[midway,below] {eval} (miamod); + \draw[->] (miamod) to (miares); + + \node[database,label={[align=center]above:AIA\\data}] (aiad) at (3.2,-3.6){}; + \node[align=center] (ures) at (0,-3.6) {Utility\\Result}; + \draw[->] (aiabranch) to (aiad); + \draw[->] (aiabranch) to (ures); + \node[database,label=above:Train] (aiatr) at (4.5,-3.6) {}; + \node[database,label=below:Test] (aiate) at (4.5,-4.1) {}; + \draw[->] (aiad) to node[midway,above] {80\%} (aiatr); + \draw[->] (aiad) to node[midway,below] {20\%} (aiate); + \node[rectangle,draw,align=center] (aiamod) at (6.5,-3.8) {AIA\\Model}; + + \draw[->] (aiatr) to node[midway,above] {training} (aiamod); + \draw[->] (aiate) to node[midway,below] {eval} (aiamod); + \node[align=center] (aiares) at (6.5,-5) {AIA\\Result}; + \draw[->] (aiamod) to (aiares); +\end{tikzpicture} + diff --git a/synthetic/figure/tikz/ovre.tex b/synthetic/figure/tikz/ovre.tex new file mode 100644 index 0000000..2ae2645 --- /dev/null +++ b/synthetic/figure/tikz/ovre.tex @@ -0,0 +1,13 @@ +%Control of the overfitting +\input{synthetic/figure/tikz/data} +\begin{tikzpicture} + \node[database,label=Input] (in) at (0,1) {}; + \node (i) at (0,0) {$r_0,\cdots, r_{N-1}$}; + \draw[->] (in) to node[midway,right] {sampling} (i); + \node (m) at (0,-1) {$r_0,\cdots, r_{N-1},r_0,\cdots, r_{N-1},\cdots,r_0,\cdots, r_{N-1}$}; + \draw[->] (i) to node[midway,right] {repetition}(m); + \node[rectangle,draw] (shu) at (0,-2) {Shuffle}; + \draw[->] (m) to (shu); + \node[database,label=below:Output] (out) at (0,-3){}; + \draw[->] (shu) to (out); +\end{tikzpicture} |