タグ

ブックマーク / nosyan.hatenablog.com (1)

  • Woodbury行列反転公式を使って、逆行列演算を高速化。 - nosyan's blog

    回帰の問題などでは(X'X)^-1をよく使う。 Xが横長であるときX'Xが非常に大きな行列になるので、 逆行列を求めるのが大変で高速化が重要になる。 そこで、Woodbury行列反転公式(Woodbury matrix inversion formula) (A+BCD)^-1 = A^-1 - A^-1 B(C^-1+DA^-1 B)^-1DA^-1 という超有名公式を使って、どれくらい高速化できるか実験した。 コード %% setting nLoop = 10; h = 100; %1000; w = 2000; %1000; X = rand(h,w); %% normal tic; for i = 1:nLoop Y = X'*X + 0.05*eye(w,w); Yi = inv(Y); end t1 = (toc/nLoop); %% woodbury matrix inver

    Woodbury行列反転公式を使って、逆行列演算を高速化。 - nosyan's blog
    rishida
    rishida 2013/04/11
    高速な逆行列計算のやり方。Woodburyの公式
  • 1