Altopt {TensorComplete} | R Documentation |
Alternating optimization of the weighted classification loss
Description
Optimize the weighted classification loss given a weight tensor, an observed data tensor, and a large margin loss. This function is used as a subroutine in the main function fit_nonparaT
.
Usage
Altopt(Ybar,W,r,type = c("logistic","hinge"),start = "linear")
Arguments
Ybar |
A given (possibly noisy and incomplete) data tensor. |
W |
A weight tensor used in the weighted classification loss. |
r |
A rank to be fitted (CP rank). |
type |
A large margin loss to be used. Logistic or hinge loss is available. |
start |
Choice of initialization method. Use random initialization if |
Value
The returned object is a list of components.
binary_obj
- Trajectory of binary loss values over iterations.
obj
- Trajectory of weighted classification loss values over iterations.
iter
- The number of iterations.
error
- Trajectory of errors over iterations.
fitted
- A tensor that optimizes the weighted classification loss.
References
C. Lee and M. Wang. Beyond the Signs: Nonparametric Tensor Completion via Sign Series. Neural Information Processing Systems 34 (NeurIPS), 2021.
Examples
library(tensorregress)
indices = c(2,2,2)
noise = rand_tensor(indices)@data
Theta = array(runif(prod(indices),min=-3,max = 3),indices)
# The signal plus noise model
Y = Theta + noise
# Optimize the weighted classification for given a sign tensor sign(Y) and a weight tensor abs(Y)
result = Altopt(sign(Y),abs(Y),r = 3,type = "hinge",start = "linear")
signTheta = sign(result$fitted)