trickster.linear
¶
Tools for working with linear and linearized models.

class
trickster.linear.
LinearGridHeuristic
(problem_ctx, cache_grad=True, weight_vec=None, grid_step=1)¶ Snaps values of a linear heuristic to values on a regular grid.
This is useful when the transformations in the transformation graph have fixed costs.
Parameters: grid_step – Regular grid step. 
__call__
(x)¶ Call self as a function.


class
trickster.linear.
LinearHeuristic
(problem_ctx, cache_grad=True, weight_vec=None)¶ $$L_p$$ distance to the decision boundary of a binary linear classifier.
Parameters:  cache_grad – Cache the forward gradient norm.
 weight_vec – Featurewise weights if the $$L_p$$ space is weighted.

__call__
(x)¶ Call self as a function.

trickster.linear.
create_reduced_linear_classifier
(clf, x, transformable_feature_idxs)¶ Construct a reduceddimension classifier based on the original one for a given example.
The reduceddimension classifier should behave the same way as the original one, but operate in a smaller feature space. This is done by fixing the score of the classifier on a static part of
x
, and integrating it into the bias parameter of the reduced classifier.For example, let $$x = [1, 2, 3]$$, weights of the classifier $$w = [1, 1, 1]$$ and bias term $$b = 0$$, and the only transformable feature index is 0. Then the reduced classifier has weights $$w’ = [1]$$, and the bias term incorporates the nontransformable part of $$x$$: $$b’ = 1 cdot 2 + 1 cdot 3$$.
Parameters:  clf – Original logistic regression classifier
 x – An example
 transformable_feature_idxs – List of features that can be changed in the given example.

trickster.linear.
dist_to_decision_boundary
(clf, x, target_class, target_confidence, lp_space, inv_feature_weights=None, _grad_norm=None)¶ Compute distance to the decision boundary of a binary linear classifier.

trickster.linear.
get_forward_grad
(clf, x, target_class=None)¶ Get the forward gradient of a classifier.
Parameters:  clf – Classifier.
 x – Input.
 target_class – Currently not supported.