HyperFast

A meta-trained hypernetwork that generates task-specific neural networks for instant classification of tabular data.

Functions

class HyperFast(nn.Module)

HyperFast model using hypernetworks for dynamic weight generation.

Parameters:

  • cfg - Configuration object containing: - n_dims (int) - Number of dimensions. - max_categories (int) - Maximum number of categories. - rf_size (int) - Random feature size. - torch_pca (bool) - Whether to use torch PCA. - clip_data_value (float) - Data clipping value. - hn_n_layers (int) - Number of hypernetwork layers. - hn_hidden_size (int) - Hypernetwork hidden size. - main_n_layers (int) - Number of main network layers.

Input:

  • X (Tensor) - Input features.

  • y (Tensor) - Target labels.

  • n_classes (int) - Number of classes.

Output:

  • Tensor - Model predictions.

class TorchPCA(nn.Module)

PyTorch implementation of PCA for dimensionality reduction.

Parameters:

  • n_components (int) - Number of components to keep.

Methods:

  • fit_transform(self, X) - Fit PCA and transform data.

  • transform(self, X) - Transform data using fitted PCA.

def create_random_features(X, rf_size, device)

Creates random features for input data.

Parameters:

  • X (Tensor) - Input data.

  • rf_size (int) - Random feature size.

  • device (torch.device) - Target device.

Returns:

  • Tensor - Random features.

def compute_class_means(X, y, n_classes)

Computes per-class mean features.

Parameters:

  • X (Tensor) - Input features.

  • y (Tensor) - Target labels.

  • n_classes (int) - Number of classes.

Returns:

  • Tensor - Per-class mean features.

References:

David Bonet, Daniel Mas Montserrat, Xavier Giró-i-Nieto, Alexander G. Ioannidis. HyperFast: Instant Classification for Tabular Data. arXiv:2402.14335 [cs.LG], 2024. https://arxiv.org/abs/2402.14335