テンソル分解
行列をreshapeしてテンソルにすることあるじゃないですか.いろいろな reshape が定義できますが,ビジョン系の研究するときは,Ket Augumentation という reshape をすることがよくあるっぽいです. この論文の第五章を読んで,KA実装しました. https://dl…
ランダムな低ランクテンソルが欲しいときってありますよね. テンソルのランクっていろいろありますが,とりあえずタッカーランクがひくいランダムテンソルを手に入れるコードをかきました. もっとよい方法があったら知りたいです. using LinearAlgebra us…
Julia の TensorToolbox を使うと気軽に CP 分解ができます. github.com 例えば,ランダムな4×4×4×4テンソルXをCP分解するなら using TensorToolbox X = rand(4,4,4,4) F = cp_als(X, 3) でOKです.ここで,ターゲットランクは3にしました.これで,F.lambd…
昨日の記事の完全版.Nonnegative Tucker Decomposition の Julia 実装. 重要なアルゴリズムと思うけど,Julia版は探しても見つからなかったので,自分で書いた. ieeexplore.ieee.org Python版はすでに実装があるみたい.これはSVDで初期化しているっぽい…
↓ こっちのほうが役に立つと思う genkaiphd.hatenablog.com ↑ こっちのほうが役に立つと思う 研究に必要なので,非負テンソルのタッカー分解の論文をjuliaで実装した.とりあえず,コスト関数がLSエラーのものを実装した.KLダイバージェンスの場合について…
研究に必要だったので,Julia言語でこの論文のアルゴリズム3を実装した.「KL情報量でCP分解しましょう」って話だけど,中身はポアソン分布とかいろいろ書いてあってちゃんと読んでないから分からん.とりあえず非負のテンソルCP分解の手法の一つ. arxiv.or…
3階のテンソルをL1ノルムの尺度で近似するランク1テンソルを見つけます,という論文を実装した.論文のタイトルにexact solutionがあるけど,L1ノルムの意味での最良1ランク近似をしてるわけではないので注意(かなり混乱した). arxiv.org 最近,L1が流…