Description Usage Arguments Value Warning References Examples

This function implements the uncorrelated multilinear principal component analysis for tensors of dimension 2, 3 or 4. The code is basically the same as in the MATLAB toolbox UMPCA by Haiping Lu (Link: https://www.mathworks.com/matlabcentral/fileexchange/35432-uncorrelated-multilinear-principal-component-analysis-umpca, see also references).

1 | ```
UMPCA(TX, numP)
``` |

`TX` |
The input training data in tensorial representation, the last mode
is the sample mode. For |

`numP` |
The dimension of the projected vector, denoted as |

`Us` |
The multilinear projection, consisting of |

`TXmean` |
The mean
of the input training samples |

`odrIdx` |
The ordering index of projected features in decreasing variance. |

As this algorithm aims more at uncorrelated features than at an optimal reconstruction of the data, hence it might give poor results when used for the univariate decomposition of images in MFPCA.

Haiping Lu, K.N. Plataniotis, and A.N. Venetsanopoulos, "Uncorrelated Multilinear Principal Component Analysis for Unsupervised Multilinear Subspace Learning", IEEE Transactions on Neural Networks, Vol. 20, No. 11, Page: 1820-1836, Nov. 2009.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ```
set.seed(12345)
# define "true" components
a <- sin(seq(-pi, pi, length.out = 100))
b <- exp(seq(-0.5, 1, length.out = 150))
# simulate tensor data
X <- a %o% b %o% rnorm(80, sd = 0.5)
# estimate one component
UMPCAres <- UMPCA(X, numP = 1)
# plot the results and compare to true values
plot(UMPCAres$Us[[1]][,1])
points(a/sqrt(sum(a^2)), pch = 20) # eigenvectors are defined only up to a sign change!
legend("topright", legend = c("True", "Estimated"), pch = c(20, 1))
plot(UMPCAres$Us[[2]][,1])
points(b/sqrt(sum(b^2)), pch = 20)
legend("topleft", legend = c("True", "Estimated"), pch = c(20, 1))
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.