tdhook.latent.dimension_estimation.local_pca#
Local PCA dimension estimation via eigenvalues of local covariance.
Classes#
Local intrinsic dimension estimation via PCA on k-NN neighborhoods [26]. |
Functions#
|
Compute per-point local dimension via PCA. data: (N, D). Returns (N,) dimension estimates. |
|
Estimate dimension from eigenvalues using the maximum gap criterion [27]. |
|
Estimate dimension using ratio criterion [26]. |
Module Contents#
- class tdhook.latent.dimension_estimation.local_pca.LocalPcaDimensionEstimator(k='auto', criterion='maxgap', alpha=0.05, in_key='data', out_key='dimension', eps=1e-05)[source]#
Bases:
tensordict.nn.TensorDictModuleBaseLocal intrinsic dimension estimation via PCA on k-NN neighborhoods [26].
For each point, extracts its k+1 nearest neighbors (self + k neighbors), fits PCA, and estimates dimension from eigenvalues using a configurable criterion (maxgap or ratio).
Reads a data tensor from the input TensorDict. Expects (N, D) or (…, N, D). Outputs per-point dimension estimates of shape (…, N).
- Parameters:
k (Union[int, Literal['auto']])
criterion (Literal['maxgap', 'ratio'])
alpha (float)
in_key (str)
out_key (str)
eps (float)
- tdhook.latent.dimension_estimation.local_pca._local_pca(data, k, eps, criterion, alpha, pca_cls)[source]#
Compute per-point local dimension via PCA. data: (N, D). Returns (N,) dimension estimates.
- Parameters:
data (torch.Tensor)
k (int)
eps (float)
criterion (Literal['maxgap', 'ratio'])
alpha (float)
pca_cls (type)
- Return type:
torch.Tensor