This package (LLSS - Learning to Learn for Structured Sparsity) contains Matlab code to learn relevances of groups of variables (also referred
to as group penalties, or group weights) in the context of structured sparse linear regression. See [1] for the associated publication.
Note that learning such hyperparameters requires a multi-task setting [1]. Although the computations presented in [1] apply to multi-task
linear regression problems with potentially different number of observations and all super-Gaussian priors, in the current version of this
package,
(a) the design matrices in all regression tasks are supposed to equal identity and be of the same dimension N=P (denoising setting),
(b) the type of prior that we use is Student's t.
Moreover, the considered set of groups is supposed to be given in advance (i.e., it is one of the inputs to be provided by the users).
This folder contains a README and three folders:
1. variational -- the core optimization module, called by the scripts in the two other folders.
2. toy -- learning relevance weights and signal denoising when data are generated from the model (cf. Sections 3.1, 3.2 and 4.1 in [1]).
* est_scale_1d.m -- scale estimation for one-dimensional Student's t corrupted with Gaussian noise.
* est_scale_denoising.m -- group weight estimation and denoising for any dimension P, with predefined configurations of groups.
Example: P=10; a=1.5; seed=1; str_data = 2; str_learning = 3; sigma = 1;
[fhat_te, se_te, mse_te, err_te, K, beta_star, fhat_tr, se_tr] = est_relevances_denoising(P, a, seed, str_data, str_learning, sigma);
3. image_denoising -- learning group relevance weights and denoising for image data using wavelets (cf. Section 4.2 in [1]); This folder also
contains four greyscale images, and wavelet bases for images of sizes 4x4, 8x8, ..., 64x64, computed via matlabPyrTools (by E. Simoncelli,
http://www.cns.nyu.edu/pub/eero/matlabPyrTools.tar.gz).
* est_relevances_denoising_im.m -- group weight estimation and denoising with wavelets for images, with predefined configurations of groups.
Example: im=double(imread('images/house.png')); q=4; sigma=20; str=3; a=1.5; beta=0.001;
[fhat, se, mse, err, im_o, im_n, im_r] = est_relevances_denoising_im(im, q, sigma, str, a, beta);
"help X.m" executed in Matlab will display details and usage instructions for X.m for any script X.m
[1] Nino Shervashidze and Francis Bach. Learning to Learn for Structured Sparsity. HAL-Inria, 2014.