狠狠撸

狠狠撸Share a Scribd company logo
2
Most read
3
Most read
5
Most read
はじめての碍谤测濒辞惫部分空间法
前原 貴憲 (@tmaehara)
線型計算の主なタスク
? 線型方程式(linear solver)
Ax = b
? 固有値問題(eigenvalue problem)
Ax = λx
Krylov部分空間法:現代線型計算の基本手法
? 行列?ベクトル積が効率的に計算可能な場合に強い
(eg., Aが疎行列,関数として与えられる,etc)
? 綺麗な理論評価 ? 収束改善法などが明確
1/ 9
Krylov部分空間Kd [Krylov 1931]
Kd(A, b) := span{b, Ab, A2
b, . . . , Ad?1
b}
Krylov部分空間法とは:
1. 問題を小さい次元のKrylov部分空間に射影して
2. そちらで解いた解を元の空間に引き戻す手法の総称
主な特徴:
? 次元を増やすと誤差減(反復法的側面)
? 十分大きな次元で厳密解(直接法的側面)
? 実用的には誤差の累積が問題(cf., CG法冬の時代)
– 前処理?リスタートなどと組み合わせる
2/ 9
行列多項式による誤差?残差評価
Kd(A, b) := span{b, Ab, A2
b, . . . , Ad?1
b}
= {p(A)b : pはd ? 1次多項式}
誤差?残差は行列多項式p(A)の解析で見積もる
適用例(逆行列): d反復目まででの誤差が小さい
?? A?1
がd次多項式p(A)で近似しやすい
?? (λi, 1/λi)がd次多項式で近似しやすい
slow fast
3/ 9
Krylov空間への射影
? Arnoldi反復(一般行列)
? Lanczos反復(対称行列)
(Arnoldi反復の特殊ケース)
4/ 9
Arnoldi反復
{b, Ab, A2
b, . . .}のGram-Schmidt直交化(QR分解)
? AQd = QdHd + rde?
d (Arnoldi関係式)
(∥rd∥が十分小さくなったら打ち切る)
? Qd:直交(Kd(A, b)の正規直交基底を並べたもの)
? Hd:Hessenberg形(上三角+下副対角)
※A対称のとき自動的にH 三重対角(Lanczos反復)
○ Hessenberg形なので各種計算が簡単
× Gram-Schmidtなので数値誤差が累積する
5/ 9
Krylov空間法の具体例
線型方程式:GMRES / 固有値問題:Arnoldi法
射影?引戻し?前処理の組み合わせで大量の手法が存在
? 基本的な性質はどれも類似
? 細かい部分の良し悪しは問題依存
? 問題に応じて手法選択が必要
? 紹介する2つはベースライン;最初に試すべき手法
6/ 9
線型方程式:GMRES (Generalized Minimum RESidual)
Step 0. 初期解x0 設定.r0 ← Ax0 ? b
Step 1. AをKd(A, r0)に射影:A ? V ?
HV
Step 2. 残差最小解を計算:min ∥H ?x ? ?b∥
Step 3. 引き戻す:x = V ?
?x
収束定理:Aが対角化可能(S?1
AS = Λ)のとき
∥rd∥
∥r0∥
≤ κ(S) min
p
max
λi
|p(λi)|
※Step 2 はQR分解で可能(Hessenberg形なので軽い)
7/ 9
固有値問題:Arnoldi法
Step 0. 適当なx0 設定
Step 1. AをKd(A, x0)に射影:A ? V ?
HV
Step 2. H の固有対(?λi, ?ui)を計算(QR法等)
Step 3. 引き戻す:(?λi, V ?
?ui)
収束定理:Aが適当な条件を満たすとき
∥?u ? u∥ = O(κ(A) min
p
max
λi
|p(λi)|)
(雑な評価,H ?u = λuとして見積もる)
※外側の固有値から順番に収束していく
8/ 9
おまけ:線型方程式の解法選択
? CG, CGS, CGR, PCG, BiCG, BiCGStab, QMR, TFQMR,
MINRES, GMRES, LGMRES, CAGMRES, LSQR,
SYMMLQ, Orthomin, . . .
? 扱う問題に応じて手法の振る舞いが違う
? 問題を固定するとマイナー改良で既存手法に勝てる
? 毎月数個以上新しいKrylov系手法が登場
(行列計算の専門家でもフォローするのは不可能)
? 非専門家が使う側の心得
– 複数の手法で検証(CG系 + GMRES系)
– 複数の前処理(小規模問題で固有値分布を観察する)
9/ 9
Ad

Recommended

机械学习のためのベイズ最适化入门
机械学习のためのベイズ最适化入门
hoxo_m
?
机械学习による统计的実験计画(ベイズ最适化を中心に)
机械学习による统计的実験计画(ベイズ最适化を中心に)
Kota Matsui
?
cvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tips
cvpaper. challenge
?
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
Deep Learning JP
?
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?
Masanao Ochi
?
笔颁础の最终形态骋笔尝痴惭の解説
笔颁础の最终形态骋笔尝痴惭の解説
弘毅 露崎
?
笔搁惭尝学习者から入る深层生成モデル入门
笔搁惭尝学习者から入る深层生成モデル入门
tmtm otm
?
リプシッツ连続性に基づく勾配法?ニュートン型手法の计算量解析
リプシッツ连続性に基づく勾配法?ニュートン型手法の计算量解析
京都大学大学院情报学研究科数理工学専攻
?
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
?
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
Deep Learning JP
?
ベイズ统计入门
ベイズ统计入门
Miyoshi Yuya
?
最适输送の解き方
最适输送の解き方
joisino
?
クラシックな机械学习入门:付録:よく使う线形代数の公式
クラシックな机械学习入门:付録:よく使う线形代数の公式
Hiroshi Nakagawa
?
ブラックボックス最适化とその応用
ブラックボックス最适化とその応用
gree_tech
?
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
takehikoihayashi
?
統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-
Shiga University, RIKEN
?
金融时系列のための深层迟过程回帰モデル
金融时系列のための深层迟过程回帰モデル
Kei Nakagawa
?
変分推論と Normalizing Flow
変分推論と Normalizing Flow
Akihiro Nitta
?
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
sleepy_yoshi
?
翱辫迟颈尘颈锄别谤入门&最新动向
翱辫迟颈尘颈锄别谤入门&最新动向
Motokawa Tetsuya
?
笔搁惭尝轮読#1
笔搁惭尝轮読#1
matsuolab
?
最适化超入门
最适化超入门
Takami Sato
?
贰尝叠翱型痴础贰のダメなところ
贰尝叠翱型痴础贰のダメなところ
KCS Keio Computer Society
?
初めてのグラフカット
初めてのグラフカット
Tsubasa Hirakawa
?
Transformer メタサーベイ
Transformer メタサーベイ
cvpaper. challenge
?
颁痴分野におけるサーベイ方法
颁痴分野におけるサーベイ方法
Hirokatsu Kataoka
?
Variational AutoEncoder
Variational AutoEncoder
Kazuki Nitta
?
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
Computational Materials Science Initiative
?
El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620
RCCSRENKEI
?

More Related Content

What's hot (20)

リプシッツ连続性に基づく勾配法?ニュートン型手法の计算量解析
リプシッツ连続性に基づく勾配法?ニュートン型手法の计算量解析
京都大学大学院情报学研究科数理工学専攻
?
研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
?
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
Deep Learning JP
?
ベイズ统计入门
ベイズ统计入门
Miyoshi Yuya
?
最适输送の解き方
最适输送の解き方
joisino
?
クラシックな机械学习入门:付録:よく使う线形代数の公式
クラシックな机械学习入门:付録:よく使う线形代数の公式
Hiroshi Nakagawa
?
ブラックボックス最适化とその応用
ブラックボックス最适化とその応用
gree_tech
?
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
takehikoihayashi
?
統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-
Shiga University, RIKEN
?
金融时系列のための深层迟过程回帰モデル
金融时系列のための深层迟过程回帰モデル
Kei Nakagawa
?
変分推論と Normalizing Flow
変分推論と Normalizing Flow
Akihiro Nitta
?
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
sleepy_yoshi
?
翱辫迟颈尘颈锄别谤入门&最新动向
翱辫迟颈尘颈锄别谤入门&最新动向
Motokawa Tetsuya
?
笔搁惭尝轮読#1
笔搁惭尝轮読#1
matsuolab
?
最适化超入门
最适化超入门
Takami Sato
?
贰尝叠翱型痴础贰のダメなところ
贰尝叠翱型痴础贰のダメなところ
KCS Keio Computer Society
?
初めてのグラフカット
初めてのグラフカット
Tsubasa Hirakawa
?
Transformer メタサーベイ
Transformer メタサーベイ
cvpaper. challenge
?
颁痴分野におけるサーベイ方法
颁痴分野におけるサーベイ方法
Hirokatsu Kataoka
?
Variational AutoEncoder
Variational AutoEncoder
Kazuki Nitta
?
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
Deep Learning JP
?
ベイズ统计入门
ベイズ统计入门
Miyoshi Yuya
?
最适输送の解き方
最适输送の解き方
joisino
?
クラシックな机械学习入门:付録:よく使う线形代数の公式
クラシックな机械学习入门:付録:よく使う线形代数の公式
Hiroshi Nakagawa
?
ブラックボックス最适化とその応用
ブラックボックス最适化とその応用
gree_tech
?
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
takehikoihayashi
?
統計的因果推論への招待 -因果構造探索を中心に-
統計的因果推論への招待 -因果構造探索を中心に-
Shiga University, RIKEN
?
金融时系列のための深层迟过程回帰モデル
金融时系列のための深层迟过程回帰モデル
Kei Nakagawa
?
変分推論と Normalizing Flow
変分推論と Normalizing Flow
Akihiro Nitta
?
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
sleepy_yoshi
?
翱辫迟颈尘颈锄别谤入门&最新动向
翱辫迟颈尘颈锄别谤入门&最新动向
Motokawa Tetsuya
?
笔搁惭尝轮読#1
笔搁惭尝轮読#1
matsuolab
?
初めてのグラフカット
初めてのグラフカット
Tsubasa Hirakawa
?
颁痴分野におけるサーベイ方法
颁痴分野におけるサーベイ方法
Hirokatsu Kataoka
?
Variational AutoEncoder
Variational AutoEncoder
Kazuki Nitta
?

Similar to はじめての碍谤测濒辞惫部分空间法 (20)

CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
Computational Materials Science Initiative
?
El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620
RCCSRENKEI
?
第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)
RCCSRENKEI
?
210603 yamamoto
210603 yamamoto
RCCSRENKEI
?
TokyoR 第36回LT Rで部分空間法
TokyoR 第36回LT Rで部分空間法
Prunus 1350
?
Jokyonokai130531
Jokyonokai130531
nwpmq516
?
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
Prunus 1350
?
CMSI計算科学技術特論A(11) 行列計算における高速アルゴリズム2
CMSI計算科学技術特論A(11) 行列計算における高速アルゴリズム2
Computational Materials Science Initiative
?
El text.tokuron a(2019).yamamoto190627
El text.tokuron a(2019).yamamoto190627
RCCSRENKEI
?
パターン认识と机械学习6章(カーネル法)
パターン认识と机械学习6章(カーネル法)
Yukara Ikemiya
?
竞技プログラミングでの线型方程式系
竞技プログラミングでの线型方程式系
tmaehara
?
CMSI計算科学技術特論A(10) 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A(10) 行列計算における高速アルゴリズム1
Computational Materials Science Initiative
?
Linera lgebra
Linera lgebra
Shin Asakawa
?
データ解析11 因子分析の応用
データ解析11 因子分析の応用
Hirotaka Hachiya
?
第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)
RCCSRENKEI
?
笔搁惭尝第6章「カーネル法」
笔搁惭尝第6章「カーネル法」
Keisuke Sugawara
?
関西CVPRML勉強会 kernel PCA
関西CVPRML勉強会 kernel PCA
Akisato Kimura
?
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with Applications
Kenji Hiranabe
?
数式を苍耻尘辫测に落としこむコツ
数式を苍耻尘辫测に落としこむコツ
Shuyo Nakatani
?
異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知
Ken'ichi Matsui
?
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
Computational Materials Science Initiative
?
El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620
RCCSRENKEI
?
第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)
RCCSRENKEI
?
TokyoR 第36回LT Rで部分空間法
TokyoR 第36回LT Rで部分空間法
Prunus 1350
?
Jokyonokai130531
Jokyonokai130531
nwpmq516
?
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
Prunus 1350
?
CMSI計算科学技術特論A(11) 行列計算における高速アルゴリズム2
CMSI計算科学技術特論A(11) 行列計算における高速アルゴリズム2
Computational Materials Science Initiative
?
El text.tokuron a(2019).yamamoto190627
El text.tokuron a(2019).yamamoto190627
RCCSRENKEI
?
パターン认识と机械学习6章(カーネル法)
パターン认识と机械学习6章(カーネル法)
Yukara Ikemiya
?
竞技プログラミングでの线型方程式系
竞技プログラミングでの线型方程式系
tmaehara
?
CMSI計算科学技術特論A(10) 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A(10) 行列計算における高速アルゴリズム1
Computational Materials Science Initiative
?
データ解析11 因子分析の応用
データ解析11 因子分析の応用
Hirotaka Hachiya
?
第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)
RCCSRENKEI
?
笔搁惭尝第6章「カーネル法」
笔搁惭尝第6章「カーネル法」
Keisuke Sugawara
?
関西CVPRML勉強会 kernel PCA
関西CVPRML勉強会 kernel PCA
Akisato Kimura
?
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with Applications
Kenji Hiranabe
?
数式を苍耻尘辫测に落としこむコツ
数式を苍耻尘辫测に落としこむコツ
Shuyo Nakatani
?
異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知
Ken'ichi Matsui
?
Ad

More from tmaehara (7)

滨颁笔颁国内予选贵解説
滨颁笔颁国内予选贵解説
tmaehara
?
クリプタン帝国の暗号文を解読しよう(问1)
クリプタン帝国の暗号文を解読しよう(问1)
tmaehara
?
クリプタン帝国の暗号文を解読しよう(问1)
クリプタン帝国の暗号文を解読しよう(问1)
tmaehara
?
inversion counting
inversion counting
tmaehara
?
様々な全域木问题
様々な全域木问题
tmaehara
?
simultaneous block diagonalization of matrices
simultaneous block diagonalization of matrices
tmaehara
?
滨颁笔颁国内予选贵解説
滨颁笔颁国内予选贵解説
tmaehara
?
クリプタン帝国の暗号文を解読しよう(问1)
クリプタン帝国の暗号文を解読しよう(问1)
tmaehara
?
クリプタン帝国の暗号文を解読しよう(问1)
クリプタン帝国の暗号文を解読しよう(问1)
tmaehara
?
inversion counting
inversion counting
tmaehara
?
様々な全域木问题
様々な全域木问题
tmaehara
?
simultaneous block diagonalization of matrices
simultaneous block diagonalization of matrices
tmaehara
?
Ad

はじめての碍谤测濒辞惫部分空间法

  • 2. 線型計算の主なタスク ? 線型方程式(linear solver) Ax = b ? 固有値問題(eigenvalue problem) Ax = λx Krylov部分空間法:現代線型計算の基本手法 ? 行列?ベクトル積が効率的に計算可能な場合に強い (eg., Aが疎行列,関数として与えられる,etc) ? 綺麗な理論評価 ? 収束改善法などが明確 1/ 9
  • 3. Krylov部分空間Kd [Krylov 1931] Kd(A, b) := span{b, Ab, A2 b, . . . , Ad?1 b} Krylov部分空間法とは: 1. 問題を小さい次元のKrylov部分空間に射影して 2. そちらで解いた解を元の空間に引き戻す手法の総称 主な特徴: ? 次元を増やすと誤差減(反復法的側面) ? 十分大きな次元で厳密解(直接法的側面) ? 実用的には誤差の累積が問題(cf., CG法冬の時代) – 前処理?リスタートなどと組み合わせる 2/ 9
  • 4. 行列多項式による誤差?残差評価 Kd(A, b) := span{b, Ab, A2 b, . . . , Ad?1 b} = {p(A)b : pはd ? 1次多項式} 誤差?残差は行列多項式p(A)の解析で見積もる 適用例(逆行列): d反復目まででの誤差が小さい ?? A?1 がd次多項式p(A)で近似しやすい ?? (λi, 1/λi)がd次多項式で近似しやすい slow fast 3/ 9
  • 6. Arnoldi反復 {b, Ab, A2 b, . . .}のGram-Schmidt直交化(QR分解) ? AQd = QdHd + rde? d (Arnoldi関係式) (∥rd∥が十分小さくなったら打ち切る) ? Qd:直交(Kd(A, b)の正規直交基底を並べたもの) ? Hd:Hessenberg形(上三角+下副対角) ※A対称のとき自動的にH 三重対角(Lanczos反復) ○ Hessenberg形なので各種計算が簡単 × Gram-Schmidtなので数値誤差が累積する 5/ 9
  • 7. Krylov空間法の具体例 線型方程式:GMRES / 固有値問題:Arnoldi法 射影?引戻し?前処理の組み合わせで大量の手法が存在 ? 基本的な性質はどれも類似 ? 細かい部分の良し悪しは問題依存 ? 問題に応じて手法選択が必要 ? 紹介する2つはベースライン;最初に試すべき手法 6/ 9
  • 8. 線型方程式:GMRES (Generalized Minimum RESidual) Step 0. 初期解x0 設定.r0 ← Ax0 ? b Step 1. AをKd(A, r0)に射影:A ? V ? HV Step 2. 残差最小解を計算:min ∥H ?x ? ?b∥ Step 3. 引き戻す:x = V ? ?x 収束定理:Aが対角化可能(S?1 AS = Λ)のとき ∥rd∥ ∥r0∥ ≤ κ(S) min p max λi |p(λi)| ※Step 2 はQR分解で可能(Hessenberg形なので軽い) 7/ 9
  • 9. 固有値問題:Arnoldi法 Step 0. 適当なx0 設定 Step 1. AをKd(A, x0)に射影:A ? V ? HV Step 2. H の固有対(?λi, ?ui)を計算(QR法等) Step 3. 引き戻す:(?λi, V ? ?ui) 収束定理:Aが適当な条件を満たすとき ∥?u ? u∥ = O(κ(A) min p max λi |p(λi)|) (雑な評価,H ?u = λuとして見積もる) ※外側の固有値から順番に収束していく 8/ 9
  • 10. おまけ:線型方程式の解法選択 ? CG, CGS, CGR, PCG, BiCG, BiCGStab, QMR, TFQMR, MINRES, GMRES, LGMRES, CAGMRES, LSQR, SYMMLQ, Orthomin, . . . ? 扱う問題に応じて手法の振る舞いが違う ? 問題を固定するとマイナー改良で既存手法に勝てる ? 毎月数個以上新しいKrylov系手法が登場 (行列計算の専門家でもフォローするのは不可能) ? 非専門家が使う側の心得 – 複数の手法で検証(CG系 + GMRES系) – 複数の前処理(小規模問題で固有値分布を観察する) 9/ 9