sensitivitySampler-DPMech-function-numeric-method function
Sensitivity sampler for DPMech-class's.
Sensitivity sampler for DPMech-class's.
Given a constructed DPMech-class, complete with target
function and sensitivityNorm, and an oracle for producing records, samples the sensitivity of the target function to set the mechanism's sensitivity.
methods
## S4 method for signature 'DPMech,`function`,numeric'sensitivitySampler(object, oracle, n, m =NA_integer_, gamma =NA_real_)
Arguments
object: an object of class DPMech-class.
oracle: a source of random databases. A function returning: list, matrix/data.frame (data in rows), numeric/character vector of records if given desired length > 1; or single record given length 1, respectively a list element, a row/named row, a single numeric/character. Whichever type is used should be expected by object@target.
## Simple example with unbounded data hence no global sensitivity.f <-function(xs) mean(xs)m <- DPMechLaplace(target = f, dims =1)m@sensitivity ## Infm@gammaSensitivity ## NA as Laplace is naturally eps-DPP <-function(n) rnorm(n)m <- sensitivitySampler(m, oracle = P, n =100, gamma =0.33)m@sensitivity ## small like 0.03...m@gammaSensitivity ## 0.33 as directed, now m is (eps,gam)-DP.
References
Benjamin I. P. Rubinstein and Francesco Aldà. "Pain-Free Random Differential Privacy with Sensitivity Sampling", accepted into the 34th International Conference on Machine Learning (ICML'2017), May 2017.