行列の圧縮による変化点検出の高速化

Tokyo Research Laboratory
行列の圧縮による変化点検出の高速化
IBM東京基礎研究所
井手 剛
| 2006/11/01 | IBIS 2006
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
変化点とは、データ生成機構にある変化が生じた時点。
変化度とはその変化の度合い。
時系列データ
変化度
 変化点検出 ≒ 知識発見 ≒ マイニング



Page 2
異常検知
評判分析
etc
 変化点の現れ方は多様である。


| 2006/11/01 | T.Idé | IBIS 2006
「きめ打ち」は避けたい
なるべく無垢な心で変化点を捉えたい
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
特異スペクトル変換法(Singular Spectrum Transformation; SST)は
“model-free”な変化点検出手法。「過去」と「今」のパターンを比べる。
各時刻ごとに移動
特徴ベクトル
SV
D
特徴ベクトル
変化度
SV
D
•Moskvina & Zhigljavsky 2003
•Ide & Inoue 2005.
Page 3
| 2006/11/01 | T.Idé | IBIS 2006
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
SSTは計算が遅い! 100×100くらいのSVDを、各時刻でやる必要がある。
time
t
テスト行列 H 2
履歴行列 H1
H1 
SVD
ここが最も重い
SVD
左特異ベクトル
上位 r 個
最大左特異ベクトル
両者の食い違い=変化度
Page 4
| 2006/11/01 | T.Idé | IBIS 2006
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
問題: 特異ベクトル同士のカーネル関数を、高速に計算せよ
変化度の定義
ただし
μは数値的に簡単に求まる
最大特異ベクトルだけなら、数値的に安定かつ高速に計算可能。
μが与えられたとして、Kをどう求めるか考えたい
生の固有ベクトルを求めずに、Kを評価したい。
Page 5
| 2006/11/01 | T.Idé | IBIS 2006
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
ふたつの着眼点: (1) 内積をじかに求めたい、(2) 必要な情報を事前に圧縮したい
 (1) 知りたいのは内積(=射影)だけだから、あらわに特異ベクトルを計算するのは無駄

特異ベクトルの計算を省略して、内積を直接求めることはできないか?
 (2) 必要な特異ベクトルの個数は履歴行列の次元よりはるかに小さい。フルSVDをやるの
は無駄

特異値の高い特異ベクトルの成分が「濃く」なるように、行列を圧縮はできないか?
この二つを同時に満たす行列圧縮手法が、ある!
Page 6
| 2006/11/01 | T.Idé | IBIS 2006
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
の上位の固有ベクトルを濃縮するような部分空間を作ろう。
μで張られる1次元空間から出発して、次々に基底を付け加えることで、
上位の固有ベクトルを濃く含む空間を構成したい。
だから、Rの最急方向を付け加えればよい!
第1項はすでにあるから、第2項を付加すればOK!
Page 7
| 2006/11/01 | T.Idé | IBIS 2006
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
μを出発ベクトルとすることで、μと関係する成分だけを抜き出せる。
 この論法を続けると、
という k 次元空間は、ρの上位の固有
ベクトルの成分を最も濃く含む部分空間であることがわかる。
べき乗法的
なノリ
Krylov部分空
間と呼ばれる
しかも、μと関係する成分だけを抜き出していることに対応。
Page 8
| 2006/11/01 | T.Idé | IBIS 2006
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
Implicit kernel 近似 ── 元の固有値問題が k×k の問題に帰着され、
しかも内積計算が自動実行される
の正規直交基底でρの固有値問題を書き表す
k×k の固有値問題に帰着(近似)
• 高々5×5くらいのサイズ。
固有ベクトル
μを第1基底に取っておけば、第1成分が
カーネル関数になる(陰なカーネル計算)
Page 9
| 2006/11/01 | T.Idé | IBIS 2006
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
計算手順まとめ。2種類の特異ベクトル同士の比較は陰になされる。
しかも、面倒なことすべてが、圧縮された空間内で行われる。
time
t
μに無関係な成分は自動
的に軽視される。
Krylov部分空間近似で圧縮。
3重対角化行列 T に。
出発ベクトル
に対する反復法で
最大固有値を求める
最大固有ベクトル
次のテスト行列における反
復法の初期値
圧縮された行列 T の固有値分解
変化度
Page 10
| 2006/11/01 | T.Idé | IBIS 2006
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
パラメターによっては、計算速度が100倍に。しかも目立った誤差はない。
従来
本手法
Page 11
| 2006/11/01 | T.Idé | IBIS 2006
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
まとめ
 変化点検出は、知識発見工学の興味深い問題である。
 特異スペクトル変換(SST)は、model-freeな変化点検出手法であり、多様な変化点に対
応する能力がある。

しかし、とんでもなく遅い。
 Implicit kernel近似という新しいアルゴリズムにより、SSTの計算速度を数10倍高速化
することに成功した

SSTの実用度は格段に増すことになる。
 Implicit kernel近似は、SSTのみならず、固有状態への遷移確率の計算などの用途に
使える汎用技術である。
Page 12
| 2006/11/01 | T.Idé | IBIS 2006
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
命
名
FELIX-SST
FEedback impLIcit kernel approXimation-SST
Thank you.
Page 13
| 2006/11/01 | T.Idé | IBIS 2006
© Copyright IBM Corporation 2006
Tokyo Research Laboratory
(参考) いわゆるオンラインSVDじゃだめなのか?
Folding-in的仮定に基づくものは軒並み不可。
 情報検索の分野では逐次更新式のSVDがよく
研究されているが、変化点検出問題には不適。


仮定が成り立たない
• 「文書をためたDBがあまり時間変化しない」
• 「行列は疎な高次元行列」
代表的な手法
• “folding-in”: t-1での特異ベクトルを使って、t
での特異ベクトルを表す近似的更新算法
• Zha-Simon [SIAM J. Sc. Com. 1999]: いわ
ば改良folding-in。応用例多数。
 いにしえなSVD諸手法を単に使っても、速度向
上には限界がある。


 学習手法ごとに、適切にサボりながら
PCA/SVDをやる手法は地味ながらそこそこ関
心を集めている


間引く
• Nyström 法 [Williams-Seeger, NIPS 00]
• Channubhotla-Jepson [NIPS 04]
• いろいろなrandomized algorithms
圧縮する
• Krylov部分空間法
- 数学的にはいにしえだが、 KDD業界では
あまり知られていない(らしい)
何らかの方法で3重対角化し、QR反復などを使う
のが定番
• 密行列: ハウスホルダー変換
• 疎行列: ランチョス法
計算量的上限が決まっている。越えられない壁が
ある。
Page 14
| 2006/11/01 | T.Idé | IBIS 2006
© Copyright IBM Corporation 2006