0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

行列分解法(Matrix Decomposition Method)

Last updated at Posted at 2019-07-06

はじめに

これは筆者の勉強まとめページですので、指摘しまくってい頂けると幸いです

行列分解法

をベースに行列方程式を解く方法が行列分解法と呼ばれるものである。
今回はコレスキー分解と呼ばれる行列を用いて線形回帰を解く。
コレスキー分解についてはWikiを参照

コレスキー分解を施すと行列Aが以下のような形で表すことができる

$$ A = L・L^{'}$$

$$ L・L^{'}・x = b $$

$$ L・y = b $$

$$ L^{'}・x = y $$

この行列方程式を解いていくと解を算出できる
コレスキー分解を行うと、計算効率がよくなるため、逆行列法を用いるよりも良いとされているアルゴリズムである

# コレスキー分解

tA_A = tf.matmul(tf.transpose(A_tensor), A_tensor)
L = tf.cholesky(tA_A)

tA_b = tf.matmul(tf.transpose(A_tensor), b)
sol1 = tf.matrix_solve(L, tA_b)

sol2 = tf.matrix_solve(tf.transpose(L), sol1)

行列分解法の記事の演算をちょっと置き換えるだけ
TensorFlow便利だなあ(棒)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?