5. Tensor regression
TensorLy also allows you to perform Tensor Regression.
5.1. Setting
Tensor regression is available in the module tensorly.regression
.
Given a series of \(N\) tensor samples/observations, \(\tilde X_i, i={1, \cdots, N}\), and corresponding labels \(y_i, i={1, \cdots, N}\), we want to find the weight tensor \(\tilde W\) such that, for each \(i={1, \cdots, N}\):
We additionally impose that \(\tilde W\) be a rank-r CP decomposition (CP regression) or a rank \((r_1, \cdots, r_N)\)-Tucker decomposition (Tucker regression). For a detailed explanation on tensor regression, please refer to [1].
TensorLy implements both types of tensor regression as scikit-learn-like estimators.
For instance, Krusal regression is available through the tensorly.regression.CPRegression
object. This implements a fit method that takes as parameters X, the data tensor whose first dimension is the number of samples, and y, the corresponding vector of labels.
Given a set of testing samples, you can use the predict method to obtain the corresponding predictions from the model.