Iterates steps of proximal gradient descent until convergence, by repeatedly taking steps in the direction of the negative of the gradient and soft-thresholding the singular values of the result. Intended for internal use only.
PGDnpmr(B, b, X, Y, lambda, s, group = NULL, accelerated = TRUE, eps = 1e-07,
maxit = 1e+05, quiet = TRUE)
Optimal value of the regression coeffient matrix at convergence
Optimal value of the regression intercept vector at convergence
Vector showing the value of the objective function at each step in proximal gradient descent
Time taken until convergence
Initial regression coefficient matrix
Initial intercept vector
Covariate matrix. May be in sparse form from Matrix
package
Response matrix. Each row has exactly one 1 indicating response category for that observation. All other entries are zero.
Vector of regularization parameter values for penalizing nuclear norm
Step size for proximal gradient descent
Vector of length equal to number of variables (ncol(X) and nrow(B)). Variables in the same group indexed by a POSITIVE integer will be penalized together (the nuclear norm of the sub-matrix of the regression coefficients will be penalized). Variables without positive integers will NOT be penalized. Default is NULL, which means there are no sub-groups; nuclear norm of entire coefficient matrix is penalized.
Logical. Should accelerated proximal gradient descent be used? Default is TRUE.
Convergence threshold. When relative change in the objective function after an interation drops below this threshold, algorithm halts.
Maximum number of iterations for proximal gradient descent.
Logical. Should output be silenced? If not, print the value of the objective function after each step of proximal gradient descent. Perhaps useful for debugging. Default is TRUE.
Scott Powers, Trevor Hastie, Rob Tibshirani
Scott Powers, Trevor Hastie and Rob Tibshirani (2016). ``Nuclear penalized multinomial regression with an application to predicting at bat outcomes in baseball.'' In prep.
npmr
, prox
, objective
,
objectiveFast