Select a private candidate whose score is above a threshold.
Value
A measurement that returns a release from measurement
whose score is greater than threshold
, or none.
Details
Given measurement
that satisfies ε-DP, returns new measurement M' that satisfies 2ε-DP.
M' releases the first invocation of measurement
whose score is above threshold
.
Each time a score is below threshold
the algorithm may terminate with probability stop_probability
and return nothing.
measurement
should make releases in the form of (score, candidate).
If you are writing a custom scorer measurement in Python,
specify the output type as TO=(float, "ExtrinsicObject")
.
This ensures that the float value is accessible to the algorithm.
The candidate, left as arbitrary Python data, is held behind the ExtrinsicObject.
Algorithm 1 in Private selection from private candidates <https://arxiv.org/pdf/1811.07971.pdf#page=7>
_ (Liu and Talwar, STOC 2019).
Required features: contrib
make_select_private_candidate in Rust documentation.
Supporting Elements:
Input Domain:
DI
Output Type:
Option<(f64, TO)>
Input Metric:
MI
Output Measure:
MaxDivergence
Proof Definition: