summaryrefslogtreecommitdiff
path: root/synthetic/figure
diff options
context:
space:
mode:
Diffstat (limited to 'synthetic/figure')
-rw-r--r--synthetic/figure/image1.pngbin0 -> 46514 bytes
-rw-r--r--synthetic/figure/image2.pngbin0 -> 76846 bytes
-rw-r--r--synthetic/figure/method/overfit/aia.pdfbin0 -> 11911 bytes
-rw-r--r--synthetic/figure/method/overfit/mia.pdfbin0 -> 11375 bytes
-rw-r--r--synthetic/figure/method/overfit/quality.pdfbin0 -> 12512 bytes
-rw-r--r--synthetic/figure/method/overfit/utility.pdfbin0 -> 10990 bytes
-rw-r--r--synthetic/figure/result/adult/aia.pdfbin0 -> 12925 bytes
-rw-r--r--synthetic/figure/result/adult/mia.pdfbin0 -> 13186 bytes
-rw-r--r--synthetic/figure/result/adult/utility.pdfbin0 -> 13142 bytes
-rw-r--r--synthetic/figure/tikz/data.tex20
-rw-r--r--synthetic/figure/tikz/data_flow/step1.tex30
-rw-r--r--synthetic/figure/tikz/data_flow/step2.tex16
-rw-r--r--synthetic/figure/tikz/data_flow/step3.tex23
-rw-r--r--synthetic/figure/tikz/data_split/bck73
-rw-r--r--synthetic/figure/tikz/data_split/split.tex65
-rw-r--r--synthetic/figure/tikz/ovre.tex13
16 files changed, 240 insertions, 0 deletions
diff --git a/synthetic/figure/image1.png b/synthetic/figure/image1.png
new file mode 100644
index 0000000..b9278b1
--- /dev/null
+++ b/synthetic/figure/image1.png
Binary files differ
diff --git a/synthetic/figure/image2.png b/synthetic/figure/image2.png
new file mode 100644
index 0000000..9d4f44e
--- /dev/null
+++ b/synthetic/figure/image2.png
Binary files differ
diff --git a/synthetic/figure/method/overfit/aia.pdf b/synthetic/figure/method/overfit/aia.pdf
new file mode 100644
index 0000000..f055f5f
--- /dev/null
+++ b/synthetic/figure/method/overfit/aia.pdf
Binary files differ
diff --git a/synthetic/figure/method/overfit/mia.pdf b/synthetic/figure/method/overfit/mia.pdf
new file mode 100644
index 0000000..cb09492
--- /dev/null
+++ b/synthetic/figure/method/overfit/mia.pdf
Binary files differ
diff --git a/synthetic/figure/method/overfit/quality.pdf b/synthetic/figure/method/overfit/quality.pdf
new file mode 100644
index 0000000..a59734e
--- /dev/null
+++ b/synthetic/figure/method/overfit/quality.pdf
Binary files differ
diff --git a/synthetic/figure/method/overfit/utility.pdf b/synthetic/figure/method/overfit/utility.pdf
new file mode 100644
index 0000000..205fe79
--- /dev/null
+++ b/synthetic/figure/method/overfit/utility.pdf
Binary files differ
diff --git a/synthetic/figure/result/adult/aia.pdf b/synthetic/figure/result/adult/aia.pdf
new file mode 100644
index 0000000..3510fa9
--- /dev/null
+++ b/synthetic/figure/result/adult/aia.pdf
Binary files differ
diff --git a/synthetic/figure/result/adult/mia.pdf b/synthetic/figure/result/adult/mia.pdf
new file mode 100644
index 0000000..58b81ae
--- /dev/null
+++ b/synthetic/figure/result/adult/mia.pdf
Binary files differ
diff --git a/synthetic/figure/result/adult/utility.pdf b/synthetic/figure/result/adult/utility.pdf
new file mode 100644
index 0000000..2359440
--- /dev/null
+++ b/synthetic/figure/result/adult/utility.pdf
Binary files differ
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}