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 edge-specific 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 array-like
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, ...]) |
Loss-augmented 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)¶Loss-augmented 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
|