Tucker decomposition: Difference between revisions

From testwiki
Jump to navigation Jump to search
imported>Mateen Ulhaq
Importantly, the decomposition can be written as a single expression.
 
(No difference)

Latest revision as of 02:33, 17 May 2024

Template:Short description In mathematics, Tucker decomposition decomposes a tensor into a set of matrices and one small core tensor. It is named after Ledyard R. Tucker[1] although it goes back to Hitchcock in 1927.[2] Initially described as a three-mode extension of factor analysis and principal component analysis it may actually be generalized to higher mode analysis, which is also called higher-order singular value decomposition (HOSVD).

It may be regarded as a more flexible PARAFAC (parallel factor analysis) model. In PARAFAC the core tensor is restricted to be "diagonal".

In practice, Tucker decomposition is used as a modelling tool. For instance, it is used to model three-way (or higher way) data by means of relatively small numbers of components for each of the three or more modes, and the components are linked to each other by a three- (or higher-) way core array. The model parameters are estimated in such a way that, given fixed numbers of components, the modelled data optimally resemble the actual data in the least squares sense. The model gives a summary of the information in the data, in the same way as principal components analysis does for two-way data.

For a 3rd-order tensor TFn1×n2×n3, where F is either or , Tucker Decomposition can be denoted as follows, T=𝒯×1U(1)×2U(2)×3U(3) where 𝒯Fd1×d2×d3 is the core tensor, a 3rd-order tensor that contains the 1-mode, 2-mode and 3-mode singular values of T, which are defined as the Frobenius norm of the 1-mode, 2-mode and 3-mode slices of tensor 𝒯 respectively. U(1),U(2),U(3) are unitary matrices in Fd1×n1,Fd2×n2,Fd3×n3 respectively. The k-mode product (k = 1, 2, 3) of 𝒯 by U(k) is denoted as 𝒯×U(k) with entries as

(𝒯×1U(1))(i1,j2,j3)=j1=1d1𝒯(j1,j2,j3)U(1)(j1,i1)(𝒯×2U(2))(j1,i2,j3)=j2=1d2𝒯(j1,j2,j3)U(2)(j2,i2)(𝒯×3U(3))(j1,j2,i3)=j3=1d3𝒯(j1,j2,j3)U(3)(j3,i3)

Altogether, the decomposition may also be written more directly as

T(i1,i2,i3)=j1=1d1j2=1d2j3=1d3𝒯(j1,j2,j3)U(1)(j1,i1)U(2)(j2,i2)U(3)(j3,i3)

Taking di=ni for all i is always sufficient to represent T exactly, but often T can be compressed or efficiently approximately by choosing di<ni. A common choice is d1=d2=d3=min(n1,n2,n3), which can be effective when the difference in dimension sizes is large.

There are two special cases of Tucker decomposition:

Tucker1: if U(2) and U(3) are identity, then T=𝒯×1U(1)

Tucker2: if U(3) is identity, then T=𝒯×1U(1)×2U(2) .

RESCAL decomposition [3] can be seen as a special case of Tucker where U(3) is identity and U(1) is equal to U(2) .

See also

References

Template:Reflist Template:Statistics-stub