MvMDS¶
Multi-view multidimensional scaling (MvMDS) learns a shared low-dimensional embedding from multiple view-specific distance structures while adaptively weighting views during optimization.
- polyview.embed.multiviewmds.MVMDS¶
alias of
MultiViewMDS
- class polyview.embed.multiviewmds.MultiViewMDS(*args: Any, **kwargs: Any)¶
Bases:
BaseMultiViewEmbedderMulti-view MDS with adaptive view weighting (Bai et al., 2017).
The method minimizes a weighted multi-view stress objective:
\[J(X, \alpha) = \sum_{v=1}^{M} \alpha_v^{\gamma} J^{(v)}(X),\]where
\[J^{(v)}(X) = \frac{1}{2}\sum_{i \neq j} w^{(v)}_{ij} \left(\delta^{(v)}_{ij} - d_{ij}(X)\right)^2,\]with \(d_{ij}(X)=\|x_i-x_j\|_2\) and \(\delta^{(v)}\) the input dissimilarities for view \(v\).
- Parameters:
n_components (int, default=2) – Embedding dimension.
gamma (float, default=2.0) – View-weight concentration parameter. Must be > 1.
dissimilarity ({"euclidean", "precomputed"}, default="euclidean") – If “euclidean”, each view is treated as a feature matrix and converted to pairwise distances. If “precomputed”, each view is a square dissimilarity matrix.
metric (str, default="euclidean") – Metric passed to
sklearn.metrics.pairwise_distances()whendissimilarity='euclidean'.metric_params (dict or None, default=None) – Extra keyword arguments for
pairwise_distances.max_iter (int, default=200) – Maximum number of MM iterations.
tol (float, default=1e-6) – Relative objective decrease tolerance.
eps (float, default=1e-12) – Numerical stability constant.
random_state (int or None, default=None) – Random seed for initialization.
init (ndarray of shape (n_samples, n_components) or None, default=None) – Optional initial embedding.
n_views (int or None, default=None) – Expected number of views.
- stress_¶
Final objective value \(J(X, \alpha)\).
- Type:
float
- view_stress_¶
Final per-view stress terms \(J^{(v)}(X)\).
- Type:
ndarray of shape (n_views,)
- view_weights_¶
Learned view weights \(\alpha\).
- Type:
ndarray of shape (n_views,)
- dissimilarities_¶
Per-view input dissimilarity matrices used in fitting.
- Type:
list of ndarray
- n_iter_¶
Number of optimization iterations.
- Type:
int
References
Bai, S., Bai, X., Latecki, L. J., & Tian, Q. (2017). Multidimensional Scaling on Multiple Input Distance Matrices. arXiv:1605.00286.
- fit(views: List[numpy.ndarray], y=None) MultiViewMDS¶
Fit the multi-view MDS model.
- Parameters:
views (list of ndarray) – Input views as feature matrices or precomputed dissimilarities.
y (ignored)
- Returns:
self
- Return type:
- fit_transform(views: List[numpy.ndarray], y=None) numpy.ndarray¶
Fit the model and return the learned embedding.
- transform(views: List[numpy.ndarray]) numpy.ndarray¶
Return embedding of the training samples.
This algorithm is non-parametric and does not provide an out-of-sample extension. The method validates input consistency and returns
embedding_.