テンソル分解(英: tensor decomposition)とはテンソルをより階数の少ないテンソル(含む行列やベクトル)の積和で表現する数学的な手法の総称である。行列に対する行列分解のテンソルへの拡張とみなすことができる。
よく用いられるテンソル分解
上述の様にテンソル分解には非常に多彩な自由度が存在するが、主に歴史的な経緯からいくつかのよく用いられる分解が存在する。
CP分解
CP分解(英語版)はテンソルをベクトルのクロネッカー積の和で表現する方法である。
ここではm階のテンソル、は次元のベクトルである。は各項の重みを表す係数であり、Rはテンソルのランク[注釈 1]と呼ばれる量である。
タッカー分解
タッカー分解(英語版)はm階のテンソルをテンソルとベクトルのテンソル積の和で表現する方法である。 但し、は直交行列である。
テンソルトレイン分解
テンソルトレイン分解[1]はテンソルを三階のテンソルのテンソル積の和で表現する方法[注釈 2]である。 ここでである。
テンソル分解のアルゴリズム
最適化アルゴリズムとしては、CP分解では交互最小二乗法(英語版)、タッカー分解ではHOSVD(英語版)(Higher order singular value decomposition)やHOOI(higher order orthogonal iteration)[注釈 3]、テンソルトレイン分解ではTT-SVD (Tensor-train singular value decomposition)などが知られている。
脚注
[脚注の使い方]
注釈
- ^ ランクはrankであり階数と訳されるべきであるがorderの方を階数と訳してしまったため通常はカタカナ表記でランクと書くことで区別している。本来はorderの方は次数と訳すべきであっただろう
- ^ 両端は行列
- ^ HOOIはHOSVDの結果を初期条件として交互最小二乗法を行うアルゴリズムである
出典
- ^ Oseledets, Ivan (2011), “Tensor-Train Decomposition”, SIAM J. Sci. Comput 33 (5): 2295–2317, doi:10.1137/090752286
参考文献
- 石黒, 勝彦; 林, 浩平. 関係データ学習. 講談社. ISBN 978-4-06-152921-2
- Kolda, Tamara; Bader, Brett (2009), “Tensor Decompositions and Applications”, SIAM REVIEW 51 (3): 455-500, doi:10.1137/07070111X