problem: Reviewed lmdk-mechs

This commit is contained in:
Manos Katsomallos 2021-10-12 14:16:06 +02:00
parent 41f904aa16
commit f71422771e
2 changed files with 18 additions and 88 deletions

Binary file not shown.

View File

@ -16,7 +16,7 @@ Consequently, at each timestamp we protect every {\thething}, while reserving a
\begin{figure}[htp]
\centering
\includegraphics[width=0.9\linewidth]{problem/lmdk-uniform}
\includegraphics[width=.9\linewidth]{problem/lmdk-uniform}
\caption{Uniform application scenario of {\thething} privacy.}
\label{fig:lmdk-uniform}
\end{figure}
@ -32,103 +32,33 @@ Particularly, sporadic location data publishing~\cite{gambs2010show, russell2018
\begin{figure}[htp]
\centering
\includegraphics[width=0.9\linewidth]{problem/lmdk-skip}
\includegraphics[width=.9\linewidth]{problem/lmdk-skip}
\caption{Application scenario of the Skip model in {\thething} privacy.}
\label{fig:lmdk-skip}
\end{figure}
\paragraph{Adaptive}
Next, we propose an emph{Adaptive} privacy mechanism taking into account changes in the input data and exploiting the post-processing property of differential privacy.
Initially, it reserves uniformly the available privacy budget for each future release.
At each timestamp, based on a sampling rate the mechanism either publishes with noise the original data or it releases an approximation based on previous releases.
In the case when it publishes with noise the original data, it also calculates the difference between the current and the previous release and compares the difference with the scale of the perturbation ($\frac{\Delta f}{\varepsilon}$).
The outcome of this comparison determines the adaptation of the sampling rate for the next events:
if the scale is greater it means that the input has not changed much, and therefore it must decrease the sampling rate.
In the case when the mechanism approximates a {\thething} (but not a regular timestamp), it distributes the reserved privacy budget
Next, we propose an \emph{Adaptive} privacy mechanism taking into account changes in the input data and exploiting the post-processing property of differential privacy (Figure~\ref{fig:lmdk-adaprive}).
\begin{figure}[htp]
\centering
\includegraphics[width=.5\linewidth]{problem/lmdk-adaptive}
\caption{Adaptive application scenario of {\thething} privacy.}
\label{fig:lmdk-adaprive}
\end{figure}
Initially, its budget management component reserves uniformly the available privacy budget for each future release.
At each timestamp, it performs an analysis on the released data and based on that it adjusts the sampling rate of its processing component.
At each timestamp, the processing component decides to either publish with noise the original data or it releases an approximation based on previous releases.
In the case when it publishes with noise the original data, the analysis component estimates the data trends by calculating the difference between the current and the previous release and compares the difference with the scale of the perturbation ($\frac{\Delta f}{\varepsilon}$).
The outcome of this comparison determines the adaptation of the sampling rate of the processing component for the next events:
if the scale is greater it means that the data trends are evolving, and therefore it must decrease the sampling rate.
In the case when the mechanism approximates a {\thething} (but not a regular timestamp), the budget management component distributes the reserved privacy budget
% divided by the number of remaining {\thething} plus one
to the next timestamps.
% \mk{WIP}
% \kat{write in text and remove the algorithm}
% \begin{algorithm}
% \caption{Adaptive {\thething} privacy mechanism}
% \label{algo:adapt-lmdk-priv}
% \SetKwInput{KwData}{Input}
% \SetKwInput{KwResult}{Output}
% \SetKwData{diffCur}{diffCur}
% \SetKwData{diffMin}{diffMin}
% \SetKwData{evalCur}{evalCur}
% \SetKwData{evalOrig}{evalOrig}
% \SetKwData{evalSum}{evalSum}
% \SetKwData{metricCur}{metricCur}
% \SetKwData{metricOrig}{metricOrig}
% \SetKwData{opt}{opt}
% \SetKwData{opti}{opt$_i$}
% \SetKwData{optim}{optim}
% \SetKwData{optimi}{optim$_i$}
% \SetKwData{opts}{opts}
% \SetKwData{reg}{reg}
% \SetKwData{S}{$S_T$}
% \SetKwData{L}{$L$}
% \SetKwData{epsilon}{$\varepsilon$}
% \SetKwFunction{calcMetric}{calcMetric}
% \SetKwFunction{evalSeq}{evalSeq}
% \SetKwFunction{getCombs}{getCombs}
% \SetKwFunction{getOpts}{getOpts}
% \DontPrintSemicolon
% \KwData{\S, \L, \epsilon}
% \KwResult{\optim}
% \BlankLine
% % \If{abs($$)}
% % \If{$i \in L$}{
% % \lmdks $\leftarrow$ \lmdks + 1
% % \ForEach{$j \in [i + 1, T]$}{
% % $varepsilon_j \leftarrow varepsilon_j + \frac{\varepsilon_i}{|T| - \lmdks + 1}$
% % }
% % }
% % Evaluate the original
% \metricOrig $\leftarrow$ \calcMetric{$\{t_n\}, \emptyset, \{l_k\}$}\;
% \evalOrig $\leftarrow$ \evalSeq{\metricOrig}\;
% % Get all possible option combinations
% \opts $\leftarrow$ \getOpts{$\{t_n\}, \{l_k\}$}\;
% % Track the minimum (best) evaluation
% \diffMin $\leftarrow$ $\infty$\;
% % Track the optimal sequence (the one with the best evaluation)
% \optim $\leftarrow$ $[]$\;
% \ForEach{\opt $\in$ \opts}{\label{algo:lmdk-sel-opt-for-each}
% \evalSum $\leftarrow 0$\;
% \ForEach{\opti $\in$ \opt}{
% \metricCur $\leftarrow$ \calcMetric{$\{t_n\}, \opti, \{l_k\}$}\;\label{algo:lmdk-sel-opt-comparison}
% \evalSum $\leftarrow$ \evalSum $+$ \evalSeq{\metricCur}\;
% % Compare with current optimal
% \diffCur $\leftarrow \left|\evalSum/\#\opt - \evalOrig\right|$\;
% \If{\diffCur $<$ \diffMin}{
% \diffMin $\leftarrow$ \diffCur\;
% \optim $\leftarrow$ \opt\;
% }
% }
% }\label{algo:lmdk-sel-opt-end}
% \Return{\optim}
% \end{algorithm}
\subsubsection{{\Thething} privacy under temporal correlation}
\label{subsec:lmdk-cor}