Learn R Programming

Cooperative Learning for Multi-view Analysis

The package multiview is a new method for supervised learning with multiple sets of features called views. The multi-view problem is especially important in biology and medicine, where “-omics” data such as genomics, proteomics and radiomics are measured on a common set of samples. Cooperative learning combines the usual squared error loss of predictions with an “agreement” penalty to encourage the predictions from different data views to agree. By varying the weight of the agreement penalty, we get a continuum of solutions that include the well-known early and late fusion approaches. Cooperative learning chooses the degree of agreement (or fusion) in an adaptive manner, using a validation set or cross-validation to estimate test set prediction error.

In the setting of cooperative regularized linear regression, the method combines the lasso penalty with the agreement penalty, yielding feature sparsity. The method can be especially powerful when the different data views share some underlying relationship in their signals that can be exploited to boost the signals.

As shown in Ding et al. (2021), cooperative learning achieves higher predictive accuracy on simulated data and real multiomics examples of labor onset prediction and breast ductal carcinoma in situ and invasive breast cancer classification. Leveraging aligned signals and allowing flexible fitting mechanisms for different modalities, cooperative learning offers a powerful approach to multiomics data fusion.

References

Ding, Daisy Yi, Shuangning Li, Balasubramanian Narasimhan, and Robert Tibshirani. 2021. “Cooperative Learning for Multi-View Analysis.” arXiv Preprint arXiv:2112.12337.

Copy Link

Version

Install

install.packages('multiview')

Monthly Downloads

319

Version

0.8

License

GPL-2

Maintainer

Balasubramanian Narasimhan

Last Published

March 31st, 2023

Functions in multiview (0.8)

cox_obj_function

Elastic net objective function value for Cox regression model
cv.multiview

Perform k-fold cross-validation for cooperative learning
elnet.fit

Solve weighted least squares (WLS) problem for a single lambda value
coef_ordered.cv.multiview

Extract an ordered list of standardized coefficients from a cv.multiview object
coef.multiview

Extract coefficients from a multiview object
coef.cv.multiview

Extract coefficients from a cv.multiview object
collapse_named_lists

Collapse a list of named lists into one list with the same name
get_cox_lambda_max

Get lambda max for Cox regression model
get_start

Get null deviance, starting mu and lambda max
multiview-package

Cooperative learning for multiple views using generalized linear models
multiview.cox.path

Fit a Cox regression model with elastic net regularization for a path of lambda values
multiview.control

Internal multiview parameters
multiview.cox.fit

Fit a Cox regression model with elastic net regularization for a single value of lambda
get_eta

Helper function to get etas (linear predictions)
multiview

Perform cooperative learning using the direct algorithm for two or more views.
multiview.path

Fit a GLM with elastic net regularization for a path of lambda values
select_matrix_list_columns

Select x_list columns specified by (conformable) list of indices
to_nvar_index

Translate from column indices in list of x matrices to indices in 1:nvars. No sanity checks for efficiency
reshape_x_to_xlist

Return a new list of x matrices of same shapes as those in x_list
predict.cv.multiview

Make predictions from a "cv.multiview" object.
obj_function

Elastic net objective function value
predict.multiview

Get predictions from a multiview fit object
response.coxnet

Make response for coxnet
weighted_mean_sd

Helper function to compute weighted mean and standard deviation
make_row

Build a block row matrix for multiview
to_xlist_index

Translate indices in 1:nvars to column indices in list of x matrices. No sanity checks
view.contribution

Evaluate the contribution of data views in making prediction
multiview.fit

Fit a GLM with elastic net regularization for a single value of lambda
pen_function

Elastic net penalty value
plot.multiview

Plot coefficients from a "multiview" object
dev_function

Elastic net deviance value
coef_ordered.multiview

Extract an ordered list of standardized coefficients from a multiview object
coef_ordered

Extract an ordered list of standardized coefficients from a multiview or cv.multiview object