specified_masks_mask_generator: A 'torch::nn_module()' Representing a...

View source: R/approach_vaeac_torch_modules.R

specified_masks_mask_generatorR Documentation

A torch::nn_module() Representing a specified_masks_mask_generator

Description

A mask generator which masks the entries based on sampling provided 1D masks with corresponding probabilities. Used for Shapley value estimation when only a subset of coalitions are used to compute the Shapley values.

Usage

specified_masks_mask_generator(masks, masks_probs, paired_sampling = FALSE)

Arguments

masks

Matrix/Tensor of possible/allowed 'masks' which we sample from.

masks_probs

Array of 'probabilities' for each of the masks specified in 'masks'. Note that they do not need to be between 0 and 1 (e.g. sampling frequency). They are scaled, hence, they only need to be positive.

paired_sampling

Boolean. If we are doing paired sampling. So include both S and \bar{S}. If TRUE, then batch must be sampled using 'paired_sampler' which creates batches where the first half and second half of the rows are duplicates of each other. That is, ⁠batch = [row1, row1, row2, row2, row3, row3, ...]⁠.

Author(s)

Lars Henry Berge Olsen

Examples

## Not run: 
masks <- torch_tensor(matrix(c(0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1),
  nrow = 3, ncol = 4, byrow = TRUE
))
masks_probs <- c(3, 1, 6)
mask_gen <- specified_masks_mask_generator(masks = masks, masks_probs = masks_probs)
empirical_prob <-
  table(as.array(mask_gen(torch::torch_randn(c(10000, ncol(masks))))$sum(-1)))
empirical_prob / sum(empirical_prob)
masks_probs / sum(masks_probs)

## End(Not run)


NorskRegnesentral/shapr documentation built on April 19, 2024, 1:19 p.m.