pystruct.models.
EdgeFeatureGraphCRF
(n_states=None, n_features=None, n_edge_features=None, inference_method=None, class_weight=None, symmetric_edge_features=None, antisymmetric_edge_features=None)[source]¶Pairwise CRF with features/strength associated to each edge.
Pairwise potentials are asymmetric and shared over all edges. They are weighted by an edgespecific features, though. This allows for contrast sensitive potentials or directional potentials (using a {1, +1} encoding of the direction for example).
More complicated interactions are also possible, of course.
Node features and edge features are given as a tuple of shape (n_nodes, n_features) and (n_edges, n_edge_features) respectively.
An instance x
is represented as a tuple (node_features, edges,
edge_features)
where edges is an array of shape (n_edges, 2),
representing the graph.
Labels y
are given as array of shape (n_nodes)
Parameters:  n_states : int, default=None
n_features : int, default=None
n_edge_features : int, default=None
inference_method : string, default=”ad3”
class_weight : None, or arraylike
symmetric_edge_features : None or list
antisymmetric_edge_features : None or list


Methods
batch_inference (X, w[, relaxed]) 

batch_joint_feature (X, Y[, Y_true]) 

batch_loss (Y, Y_hat) 

batch_loss_augmented_inference (X, Y, w[, ...]) 

continuous_loss (y, y_hat) 

inference (x, w[, relaxed, return_energy]) 
Inference for x using parameters w. 
initialize (X, Y) 

joint_feature (x, y) 
Feature vector associated with instance (x, y). 
loss (y, y_hat) 

loss_augmented_inference (x, y, w[, relaxed, ...]) 
Lossaugmented Inference for x relative to y using parameters w. 
max_loss (y) 
__init__
(n_states=None, n_features=None, n_edge_features=None, inference_method=None, class_weight=None, symmetric_edge_features=None, antisymmetric_edge_features=None)[source]¶inference
(x, w, relaxed=False, return_energy=False)¶Inference for x using parameters w.
Finds (approximately) armin_y np.dot(w, joint_feature(x, y)) using self.inference_method.
Parameters:  x : tuple
w : ndarray, shape=(size_joint_feature,)
relaxed : bool, default=False
return_energy : bool, default=False


Returns:  y_pred : ndarray or tuple

joint_feature
(x, y)[source]¶Feature vector associated with instance (x, y).
Feature representation joint_feature, such that the energy of the configuration (x, y) and a weight vector w is given by np.dot(w, joint_feature(x, y)).
Parameters:  x : tuple
y : ndarray or tuple


Returns:  p : ndarray, shape (size_joint_feature,)

loss_augmented_inference
(x, y, w, relaxed=False, return_energy=False)¶Lossaugmented Inference for x relative to y using parameters w.
Finds (approximately) armin_y_hat np.dot(w, joint_feature(x, y_hat)) + loss(y, y_hat) using self.inference_method.
Parameters:  x : tuple
y : ndarray, shape (n_nodes,)
w : ndarray, shape=(size_joint_feature,)
relaxed : bool, default=False
return_energy : bool, default=False


Returns:  y_pred : ndarray or tuple
