2022-06-01から1ヶ月間の記事一覧
カーネル回帰においてデータ数が多くてカーネル行列が巨大になると,逆行列の計算がボトルネックになる.そういう時は random feature map を用いて前処理行列を構成して線型方程式を反復法で高速に解く処方箋(この文献のアルゴリズム1参照)もあるみたい.…
ようやく実装できた.参考にした論文は以下の2つ. proceedings.neurips.cc ojs.aaai.org それにしても,こんなに著名な手法のjulia実装でどこにもあがってないのはちょっと驚き. サンプリングの方法はいろいろあるんだけど,最も古典的(?)と思われるラ…
通常,カーネル重回帰では入力がベクトル,出力がスカラーの関数を学習する訳ですが,入力も出力もベクトルにしたいことがあります.そんなときに使える手法を次の文献で勉強しました. link.springer.com ieeexplore.ieee.org いろいろ調べても実装している…
よく研究で使うのでメモがてら,ここにおいておこう. 行列Kの固有値を大きい順にrank個求める. 計算手法としては,lapack, lapack_sym, arpack, nys, randomizedの5種類. lapackとarpack以外は入力行列が対称であるという条件を課しているので注意. nys…
数値計算で逆行列の計算を避けましょうというのはもはや常識と思います.例えば,givenの行列AとBについて,C = inv(A) * B を計算したいときは,左除算演算子\を使って using LinearAlgebra C = A \ B とした方が速いです.実際に using BenchmarkTools n =…
いままで実装してきたRandomizedな方法での固有値計算(RED)では,アルゴリズム中にランダム行列と入力行列との積を計算する必要がある.これにはO(nmr)かかる訳だけど,SRFTとかいう方法でO(nm log r)に高速化できるらしい.SRFTというのは特別な条件を満た…