よく用いられるテンソル分解 上述の様にテンソル分解には非常に多彩な自由度が存在するが、主に歴史的な経緯からいくつかのよく用いられる分解が存在する。
CP分解 (CP分解 )(英語版) はテンソル をベクトル のクロネッカー積 の和で表現する方法である。
A = ∑ i = 1 R λ i a i 1 ⊗ a i 2 ⊗ ⋯ ⊗ a i m , {\displaystyle {\mathcal {A}}=\sum _{i=1}^{R}\lambda _{i}\mathbf {a} _{i}^{1}\otimes \mathbf {a} _{i}^{2}\otimes \cdots \otimes \mathbf {a} _{i}^{m},} ここで A ∈ R N 1 × N 2 × ⋯ × N m {\displaystyle {\mathcal {A}}\in \mathbb {R} ^{N_{1}\times N_{2}\times \cdots \times N_{m}}} はm 階のテンソル 、 a ∈ R N i {\displaystyle \mathbf {a} \in \mathbb {R} ^{N_{i}}} は N i {\displaystyle N_{i}} 次元のベクトル である。 λ i ∈ R {\displaystyle \lambda _{i}\in \mathbb {R} } は各項の重みを表す係数であり、R はテンソル のランク[注釈 1] と呼ばれる量である。
タッカー分解 (タッカー分解 )(英語版) はm 階のテンソル をテンソル とベクトル のテンソル積 の和で表現する方法である。
A = ∑ j 1 = 1 N 1 ∑ j 2 = 1 N 2 ⋯ ∑ j m = 1 N d s j 1 , j 2 , … , j m u j 1 1 ⊗ u j 2 2 ⊗ ⋯ ⊗ u j m m , {\displaystyle {\mathcal {A}}=\sum _{j_{1}=1}^{N_{1}}\sum _{j_{2}=1}^{N_{2}}\cdots \sum _{j_{m}=1}^{N_{d}}s_{j_{1},j_{2},\ldots ,j_{m}}\mathbf {u} _{j_{1}}^{1}\otimes \mathbf {u} _{j_{2}}^{2}\otimes \cdots \otimes \mathbf {u} _{j_{m}}^{m},} 但し、 u i ∈ R N i × N i {\displaystyle \mathbf {u} ^{i}\in \mathbb {R} ^{N_{i}\times N_{i}}} は直交行列 である。 テンソルトレイン分解 テンソルトレイン分解[1] はテンソル を三階のテンソル のテンソル積 の和で表現する方法[注釈 2] である。
A j 1 j 2 ⋯ j m = ∑ i 1 = 1 R 1 ∑ i 2 = 2 R 1 ⋯ ∑ i m − 1 = 1 R m − 1 U i 1 j 1 U i 1 i 2 j 2 ⋯ U i m − 2 i m − 1 j m − 1 U i m − 1 j m {\displaystyle {\mathcal {A}}_{j_{1}j_{2}\cdots j_{m}}=\sum _{i_{1}=1}^{R_{1}}\sum _{i_{2}=2}^{R_{1}}\cdots \sum _{i_{m-1}=1}^{R_{m-1}}U_{i_{1}j_{1}}U_{i_{1}i_{2}j_{2}}\cdots U_{i_{m-2}i_{m-1}j_{m-1}}U_{i_{m-1}j_{m}}} ここで U i 1 j 1 ∈ R R 1 × N 1 , U i m − 1 j m ∈ R R m − 1 × N m , U i k − 1 i k j k ∈ R R k − 1 × R k × N k {\displaystyle U_{i_{1}j_{1}}\in \mathbb {R} ^{R_{1}\times N_{1}},U_{i_{m-1}j_{m}}\in \mathbb {R} ^{R_{m-1}\times N_{m}},U_{i_{k-1}i_{k}j_{k}}\in \mathbb {R} ^{R_{k-1}\times R_{k}\times N_{k}}} である。
テンソル分解のアルゴリズム 最適化アルゴリズムとしては、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 ウィキペディア、ウィキ、本、library、論文、読んだ、ダウンロード、自由、無料ダウンロード、mp3、video、mp4、3gp、 jpg、jpeg、gif、png、画像、音楽、歌、映画、本、ゲーム、ゲーム。