L1HardThr - Iterative Hard Thresholding Algorithm based on l1,0 norm
L1HardThr - Iterative Hard Thresholding Algorithm based on l1,0 norm
The function aims to solve l1,0 regularized least squares.
L1HardThr(A, B, X, s, maxIter =200)
Arguments
A: Gene expression data of transcriptome factors (i.e. feature matrix in machine learning). The dimension of A is m * n.
B: Gene expression data of target genes (i.e. observation matrix in machine learning). The dimension of B is m * t.
X: Gene expression data of Chromatin immunoprecipitation or other matrix (i.e. initial iterative point in machine learning). The dimension of X is n * t.
s: joint sparsity level
maxIter: maximum iteration
Returns
The solution of proximal gradient method with l1,0 regularizer.
Details
The L1HardThr function aims to solve the problem:
min∥AX−B∥F2+λ∥X∥1,0
to obtain s-joint sparse solution.
Examples
m <-256; n <-1024; t <-5; maxIter0 <-50A0 <- matrix(rnorm(m * n), nrow = m, ncol = n)B0 <- matrix(rnorm(m * t), nrow = m, ncol = t)X0 <- matrix(0, nrow = n, ncol = t)NoA <- norm(A0,'2'); A0 <- A0/NoA; B0 <- B0/NoA
res_L10 <- L1HardThr(A0, B0, X0, s =10, maxIter = maxIter0)