jax_privacy.matrix_factorization.banded.ColumnNormalizedBanded
- class jax_privacy.matrix_factorization.banded.ColumnNormalizedBanded(params)[source]
Bases:
MappingA column-normalized banded lower triangular n x n matrix.
This matrix class is parameterized by an arbitrary n x b matrix. C(params) is obtained by setting the first b bands of C based on params. The matrix is normalized to have sensitivity 1 under a single epoch, by dividing each column by its respective norm.
Below we show how params relates to the matrix (before column normalization):
params = [a b c] [d e f] [g h i] [j k -] [m - -] C = [a ] [b d ] [c e g ] [ f h j ] [ i k m]
Methods
__init__Construct a default instance of this object given n and bands.
Construct an instance of this object from banded toeplitz coefficients.
getRetrieves the corresponding layout by the string key.
Create $C^{-1}$ as a StreamingMatrix object.
D.items() -> a set-like object providing a view on D's items
D.keys() -> a set-like object providing a view on D's keys
D.values() -> an object providing a view on D's values
Attributes
-
params:
Array
- property n: int
- property bands: int
- classmethod from_banded_toeplitz(n, coefs)[source]
Construct an instance of this object from banded toeplitz coefficients.
- Parameters:
n (
int) – the number of training iterations.coefs (
Array) – an array of b toeplitz coefficients defining the strategy.
- Return type:
- Returns:
A ColumnNormalizedBanded representation of the banded toeplitz matrix.
- classmethod default(n, bands)[source]
Construct a default instance of this object given n and bands.
This object is initialized by using the fixed toeplitz strategy proposed in [1; Algorithm 1], truncating to $b$ entries, and column normalizing. It can act as a useful initialization for further optimization.
[1] https://proceedings.mlr.press/v202/fichtenberger23a/fichtenberger23a.pdf
- Parameters:
n (
int) – the number of training iterations.bands (
int) – the number of bands in the strategy.
- Return type:
- Returns:
A ColumnNormalizedBanded object.
- from_tuple()
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- replace(**kwargs)
- to_tuple()
- values() an object providing a view on D's values
-
params: