jax_privacy.matrix_factorization.sensitivity.fixed_epoch_sensitivity_for_X

jax_privacy.matrix_factorization.sensitivity.fixed_epoch_sensitivity_for_X(X, epochs)[source]

Compute the sensitivity of X under (k,b)-fixed-epoch participation.

Note that X can contain negative entries, which are handled essentially by taking an absolute value of the necessary entries.

Reference: See [Multi-Epoch Matrix Factorization Mechanisms for Private Machine Learning](https://arxiv.org/abs/2211.06530), Section 2, and [(Amplified) Banded Matrix Factorization: A unified approach to private training](https://arxiv.org/abs/2306.08153), Eq. (5) for the absolute-value trick. Essentially, this implementation applies Eq. (5) to the b = n / k possible participation patterns under (k, b)-fixed-epoch participation.

Parameters:
  • X (Array) – the Gram matrix of the encoder, which may contain negative entries.

  • epochs (int) – the number of epochs. Must be square in shape.

Return type:

float

Returns:

The sensitivity of the matrix factorization mechanism defined by X.