Multi-View Co-Regularized Spectral Clustering

class polyview.cluster.mv_coreg_sc.MultiViewCoRegSpectralClustering(*args: Any, **kwargs: Any)

Bases: BaseMultiViewClusterer

Multi-view co-regularized spectral clustering algorithm.

Parameters:
  • n_clusters (int, default=2) – The number of clusters to form.

  • n_init (int, default=10) – Number of time the k-means algorithm will be run with different centroid seeds.

  • max_iter (int, default=50) – Maximum number of iterations of the alternating optimization.

  • v_lambda (float, default=1.0) – Regularization parameter for co-regularization terms.

  • affinity (str, default='rbf') – Kernel to use for computing the affinity matrix. Should be a valid metric for sklearn.metrics.pairwise.pairwise_kernels.

  • random_state (int or None, default=None) – Determines random number generation for centroid initialization. Use an int to make the randomness deterministic.

embedding_

The concatenated spectral embeddings from all views after fitting.

Type:

np.ndarray of shape (n_samples, n_clusters * n_views)

objective_

The objective function values at each iteration of the optimization process.

Type:

list of float

labels_

Cluster labels for each sample after fitting.

Type:

np.ndarray of shape (n_samples,)

Notes

This implementation follows the approach of co-regularized spectral clustering, where spectral embeddings for each view are learned jointly with a regularization term that encourages the embeddings to be similar across views. The algorithm alternates between updating the spectral embeddings for each view and updating the cluster assignments based on the combined embeddings. The objective function includes both the spectral clustering objective for each view and the co-regularization terms that penalize differences between the embeddings of different views.

fit(views: list) None

Fits the multi-view co-regularized spectral clustering model to the provided views.

Parameters:

views (list of np.ndarray) – List of data matrices for each view, where each matrix has shape (n_samples, n_features_v).

fit_predict(views: List, y=None) numpy.ndarray

Fit and return cluster labels.

Parameters:
  • views (list of array-like)

  • y (ignored)

Returns:

labels

Return type:

ndarray of shape (n_samples,)