smartnoise-core
smartnoise-core copied to clipboard
DPArgMax, DPArgMin, DPSVT (2)
When data passes through mechanisms, the mechanism switches the releasable
property to true
. Currently the runtime releases anything with releasable
set to true
. Going forward, there could be an extra property, hidden
that prevents releasable data from initially being released, and a property privacy_usage
with the amount of budget to charge once the hidden bool is unset.
This could be paired with:
- components DPArgMax, DPArgMin, DPSVT that construct a differentially private boolean mask or index set from private data.
- the current Index component that can filter columns from multicolumnar arrays
- some component to publicize the data... just flip the
hidden
bit.
So for instance, both LaplaceMechanism and DPArgMin take in the output from some aggregator. Interestingly, if we have a non-private model builder, you could also reuse Index, DPArgMax to find a best subset of predictors. Or technically if you have the data, you could compute scores on your own, and then just ask for a DPArgMax. This design would also be able to filter columns from grouped releases.
e75b1eb was meant to reference #113, not #103