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}\):

\[y_i = \langle \tilde X_i, \tilde W \rangle\]

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 which 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.

5.2. References


W. Guo, I. Kotsia, and I. Patras. “Tensor Learning for Regression”, IEEE Transactions on Image Processing 21.2 (2012), pp. 816–827