SlideShare a Scribd company logo
Scalable Partial Least Squares
Regression on Grammar-Compressed
Data Matrices
田部井靖生
東京工業大学/さきがけ
西郷浩人 (九州大学)
山西芳裕 (九州大学)
Simon.J.Puglisi (ヘルシンキ大学)
KDD’16のResearch Trackに採択
2016年8月9日 河原林ERATO感謝祭III
概要
• 解釈可能な統計モデルを大規模データ行列上で
効率的に学習させるためのデータ圧縮法を提案
• Partial least squares (PLS)回帰モデル学習を文
法圧縮されたデータ行列上で実装
• 大規模データを用いた実験で性能を検証
線形モデルの学習
• データはD次元特徴ベクトルx∈RDとして表現されている
と仮定
– 文章中の単語の有る無しを表現した0/1ベクトル
(フィンガープリント)
– 画像における各ピクセルの値を要素とするベクトル
など
• 線形モデル : 重みベクトルw∈RDとxの内積で応答変数y
を求める y=wTx
• N個の特徴ベクトルと応答変数のペアー
(x1,y1),(x2,y2),…,(xN,yN)が与えられたら, 重みベクトルw
を学習する
• D, N≒数億からなる大規模かつ超高次元データ
を仮定
大規模データから解釈可能な統計モデルを
学習することは知識発見ための有効な手段
• 解釈可能な統計モデル
– 線形モデル, 決定木, 決定集合など
• 利点 : どの特徴が分類/回帰に有効かなどの解釈
が可能
• 学習結果を説明する必要性が機械学習の応用場面で良
くある
– バイオインフォマティクス, ケモインフォマティクス, 多くの
ビジネスシーン, etc
• KDD’16の関連論文 : Lakkaju et al., Haichuan et
al., Ribeiro et al.,Nakagawa et
al.,
データ行列のメモリに比べて学習アルゴリ
ズムのメモリは圧倒的に小さい
• 機械学習の入力 = データ行列Xとラベル列y
• 殆どの学習アルゴリズムのメモリ: O(D)
• データ行列を圧縮した状態でモデル学習できれ
ば巨大な行列上でも効率よく学習可能
N
D
X y メモリ : O(ND)
乱択ハッシュを用いた機械学習法 [NIPS’11]
• データ行列の各特徴ベクトルを低次元ベクトルに
ハッシュし、モデルを学習する
– 入力ベクトルのサイズ >> ハッシュ後のサイズ
– 2つのベクトル間の距離は近似的に保存される
• 利点 : 精度を落とさずメモリ効率良く学習可
Hashing
Learn
model
f(bi)=wbi
(i)Input vectors (ii)Binary
vectors
(iii)Learn
weight w
様々な乱択ハッシュを利用した機械学習法
• 入力ベクトルの形式とシュミレートしたいカーネ
ルに応じて、様々な手法が提案されている
• 欠点 : 非可逆圧縮のため学習後のモデルの解釈不可
手法 カーネル 入力形式
b-bit MinHash [Li'11] Jaccard Fingerprint
Tensor Sketching [Pham'13] Polynomial 実数ベクトル
0-bit CWS [Li’15] Min-Max 実数ベクトル
C-Hash [Mu'12] Cosine 実数ベクトル
Random Feature [Rahimi'07] RBF 実数ベクトル
RFM [Kar'12] Dot product 実数ベクトル
PWLSGD [Maji'09] Intersection 実数ベクトル
解釈可能な統計モデルを学習するために
データ圧縮に求められる条件
• スケーラブル
– 巨大なデータ行列を圧縮したい
• 高い圧縮率
– メモリ効率よく学習するため
• 可逆圧縮
– 学習結果のモデル解釈するため
• 学習アルゴリズムに必要な行列操作をサポート
– データ圧縮した行列上で学習アルゴリズムを実装す
るため
発表内容
• 研究の動機
– 大規模データ上の機械学習
• 文法圧縮
– Re-Pairアルゴリズム
– Re-Pairアルゴリズムの大規模データへの適応
• 文法圧縮されたデータ行列上のPLS回帰モデル
の学習
• 実験
• まとめ
文法圧縮 : 入力文字列だけを表現するチョ
ムスキー標準形の文脈自由文法
• 反復文字列に対して有効な圧縮法
– 同一の部分列を多く含むほど、少ないルール数で表現可能
• 文法は2分木としての良い表現を持つ
– 圧縮されたデータに対する様々な操作を実装可能
入力 文法ルール
X3➝X2X2
abcabc X2➝X1c
X1➝ab
a b
c
X2
X1
X3
構文木 (2分木)
a b
c
X2
X1
Re-Pair [J.Lassarson and A.Moffat’99]
• 文字列中で最頻出する隣接文字ペアーを新しい非終端記
号に置き換える貪欲アルゴリズム
1. 文字列中で最頻出する隣接文字ペアーabを発見する
1. 新しい文法ルールXi➞abを生成し, 文字列中のすべての
abの出現をXiで置き換える
1. すべての文字ペアーの出現頻度が1になるまでstep1と
step2を繰り返す
Re-Pairの動作例
1. S中の最頻出はaa
2. 文法ルール X1→aaを生成する
3. S中のaaのすべての出現をX1で置き換える
S’を入力として1, 2, 3を繰り返す。
S=aaaaabcaaaaa
頻度表
aa:8
ab:1
bc:1
ca:1
S’=X1X1abcX1X1a
Re-Pair (続き)
• 利点 : シンプルでありながら圧縮率が高い
• 欠点 : 線形時間で実装するためには多くのデータ構造が
必要 (メモリ大)
Ex : 入力文字列の各位置に128bitのポインター,
文字ペアーの頻度を管理するヒープやハッシュ
テーブル etc
省スペース化のための工夫 (その1)
• 位置ポインターを省略
• 頻出するtop-k個の文字ペアーからルールを作成
– Top-kを十分大きく(k=10000)とれば高速
Re-Pairの省スペース化の工夫(その2)
• Re-Pair
文字列中に頻出する
文字ペアー
=圧縮に貢献
• ストームマイニング
ストリームデータから頻出
するアイテムを選ぶ
例 : Lossy/Frequency
Countings [VLDB’02,
ESA’02]
• 文字列中に頻出するするルールのみを主記憶に残しつつ、
高圧縮率を達成することが可能
– 定数スペース化
• Re-Pairの問題点 : すべての文字ペアーの出現頻度をハッ
シュテーブルに保持する必要性
データ行列の文法圧縮
X1=(1,3,4,7,9,13)
X2=(2,3,7,9,11)
X3=(1,3,4,7,9,11)
X1=(1,2,1,3,2,4)
X2=(2,1,4,2,2)
X3=(1,2,1,3,2,2)
X1=(D,2,4)
X2=(A,4,B)
X3=(D,B)
D={D→C3,
B→22,
C→1A,
A→21}
(i)データ行列 (ii)Gap-encoding (iii)文法圧縮
• 入力のデータ行列はフィンガープリントを仮定
• 文法圧縮が有効な理由
1. 同じクラスに属するフィンガープリントは同じ要素を
共有する
2. Gap-encodingにより同じ要素を共有しやすくなる
Partial Least Squares (PLS) 回帰モデル
• データ行列の複数個の低次元空間に射影した上
での線形モデル
• wi : 低次元空間へ射影するためのベクトル
• αi : 各空間ごとの重みベクトル
• 利点 : 各空間ごとに予測に効く特徴を観測可
PLS回帰モデルの学習アルゴリズム
• データ行列 : X, レスポンス: y
• 以下のステップを繰り返す
- wi: Xを低次元に射影するためのベクトル
1. Xを低次元に射影しtiに保持 (ti=Xwi)
2. tiとyの共分散最大化によりwi+1を学習する
• 行列の足し算と掛け算を文法圧縮したデータ行列上で実
現できれば学習アルゴリズムは実装可能
– データ行列の行アクセスと列アクセス
行アクセス
• 復元アルゴリズムと基本的に同じ
1. アクセスしたい行の非終端記号を展開する
例 : X1=(1, 2, 1, 3, 2, 4)
2. 前から累積和を計算する
例 : X1 = (1, 3, 4, 7, 9, 13)
X1=(D,2,4)
X2=(A,4,B)
X3=(D,B)
D={D→C3,
B→22,
C→1A,
A→21}
D
C 3
1 A
12
B
2 2
列アクセス
• 各中間ノードより下の葉のラベルの総和を保持
• 各Rowの前から累積和を計算しつつ, 候補となるカラム
が有るかチェック
• 非終端記号を根とする部分木を辿って, 求めたい値があ
るかチェックする
X1=(D,2,4)
X2=(A,4,B)
X3=(D,B)
D
C 3
1 A
12
B
2 2
A B C D
3 4 4 7
実験
• データセット
• cPLS(提案手法), PCA, b-bit MinHash, SGDを比較
• 評価尺度として、圧縮サイズ, 学習時間, 精度を比較
CP-interation上でのtop-kを変化させたとき
の実行時間と圧縮サイズ
CP-interaction上でのヒープサイズを変化さ
せたときの圧縮時間、メモリー、圧縮サイズ
• 125GBのデータを圧縮するために、約16GBのメモリー
を使用して実行時間は約12時間
• 125GBから約4GBに圧縮
CP-interaction
CP-intensity上でのヒープサイズを変化させ
たときの圧縮時間、メモリー、圧縮サイズ
• 110GBのデータを圧縮するために、約4GBのメモリーを
使用して実行時間は約2時間
• 102GBから約500MBに圧縮
• 各データの非ゼロ要素数 >> データのサイズ (水平ビッ
グデータ)に強い圧縮法
CP-intencity
予測精度, メモリー, 学習時間
• Dspace : 圧縮データ行列のメモリ
• Ospace : 最適化のメモリ
• CP-intencity(110GB)上でPLSを学習するのに10GB程度
抽出された化合物の部分構造特徴
まとめ
• 圧縮されたデータ行列上での統計モデルの学習
法
• 文法圧縮されたデータ行列上でPLS回帰モデル
を学習
• 利点
– PLS回帰モデル学習のメモリ削減
– 巨大データ行列からの特徴抽出

More Related Content

What's hot

圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド
Yoshihiro Mizoguchi
 
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
Tasuku Soma
 
Incanterの紹介
Incanterの紹介Incanterの紹介
Incanterの紹介
mozk_
 
Jokyonokai130531
Jokyonokai130531Jokyonokai130531
Jokyonokai130531
nwpmq516
 
立命合宿2016Day3:D問題
立命合宿2016Day3:D問題立命合宿2016Day3:D問題
情強アルゴリズムDIMSUM
情強アルゴリズムDIMSUM情強アルゴリズムDIMSUM
情強アルゴリズムDIMSUM
Kotaro Tanahashi
 
計算量のはなし(Redisを使うなら必読!O(logN)など)
計算量のはなし(Redisを使うなら必読!O(logN)など)計算量のはなし(Redisを使うなら必読!O(logN)など)
計算量のはなし(Redisを使うなら必読!O(logN)など)
Makoto SAKAI
 
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
智啓 出川
 
Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)
yukihiro domae
 
Quine
QuineQuine
MixML 作ってみる
MixML 作ってみるMixML 作ってみる
MixML 作ってみる
Nobutada Matsubara
 
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
Deep Learning JP
 
My code
My codeMy code
My code
俊 中村
 
RMQ クエリ処理
RMQ クエリ処理RMQ クエリ処理
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
yukihiro domae
 
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape AnalysisFeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
yukihiro domae
 
Sigsoftmax: Reanalysis of the Softmax Bottleneck
Sigsoftmax: Reanalysis of the Softmax BottleneckSigsoftmax: Reanalysis of the Softmax Bottleneck
Sigsoftmax: Reanalysis of the Softmax Bottleneck
RI
 
Data Analysis - Chapter two
Data Analysis - Chapter twoData Analysis - Chapter two
Data Analysis - Chapter two
Kousuke Takeuhi
 
PFI Seminar 2012/03/15 カーネルとハッシュの機械学習
PFI Seminar 2012/03/15 カーネルとハッシュの機械学習PFI Seminar 2012/03/15 カーネルとハッシュの機械学習
PFI Seminar 2012/03/15 カーネルとハッシュの機械学習
Preferred Networks
 
Parallel WaveNet: Fast High-Fidelity Speech Synthesis
Parallel WaveNet: Fast High-Fidelity Speech SynthesisParallel WaveNet: Fast High-Fidelity Speech Synthesis
Parallel WaveNet: Fast High-Fidelity Speech Synthesis
dhigurashi
 

What's hot (20)

圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド
 
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
 
Incanterの紹介
Incanterの紹介Incanterの紹介
Incanterの紹介
 
Jokyonokai130531
Jokyonokai130531Jokyonokai130531
Jokyonokai130531
 
立命合宿2016Day3:D問題
立命合宿2016Day3:D問題立命合宿2016Day3:D問題
立命合宿2016Day3:D問題
 
情強アルゴリズムDIMSUM
情強アルゴリズムDIMSUM情強アルゴリズムDIMSUM
情強アルゴリズムDIMSUM
 
計算量のはなし(Redisを使うなら必読!O(logN)など)
計算量のはなし(Redisを使うなら必読!O(logN)など)計算量のはなし(Redisを使うなら必読!O(logN)など)
計算量のはなし(Redisを使うなら必読!O(logN)など)
 
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
数値計算結果のPythonによる後処理について(1次元データのピーク値およびその位置の推定)
 
Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)
 
Quine
QuineQuine
Quine
 
MixML 作ってみる
MixML 作ってみるMixML 作ってみる
MixML 作ってみる
 
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
[DL輪読会]Clebsch–Gordan Nets: a Fully Fourier Space Spherical Convolutional Neu...
 
My code
My codeMy code
My code
 
RMQ クエリ処理
RMQ クエリ処理RMQ クエリ処理
RMQ クエリ処理
 
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
 
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape AnalysisFeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
FeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis
 
Sigsoftmax: Reanalysis of the Softmax Bottleneck
Sigsoftmax: Reanalysis of the Softmax BottleneckSigsoftmax: Reanalysis of the Softmax Bottleneck
Sigsoftmax: Reanalysis of the Softmax Bottleneck
 
Data Analysis - Chapter two
Data Analysis - Chapter twoData Analysis - Chapter two
Data Analysis - Chapter two
 
PFI Seminar 2012/03/15 カーネルとハッシュの機械学習
PFI Seminar 2012/03/15 カーネルとハッシュの機械学習PFI Seminar 2012/03/15 カーネルとハッシュの機械学習
PFI Seminar 2012/03/15 カーネルとハッシュの機械学習
 
Parallel WaveNet: Fast High-Fidelity Speech Synthesis
Parallel WaveNet: Fast High-Fidelity Speech SynthesisParallel WaveNet: Fast High-Fidelity Speech Synthesis
Parallel WaveNet: Fast High-Fidelity Speech Synthesis
 

Viewers also liked

CPM2013-tabei201306
CPM2013-tabei201306CPM2013-tabei201306
CPM2013-tabei201306
Yasuo Tabei
 
SPIRE2013-tabei20131009
SPIRE2013-tabei20131009SPIRE2013-tabei20131009
SPIRE2013-tabei20131009
Yasuo Tabei
 
NIPS2013読み会: Scalable kernels for graphs with continuous attributes
NIPS2013読み会: Scalable kernels for graphs with continuous attributesNIPS2013読み会: Scalable kernels for graphs with continuous attributes
NIPS2013読み会: Scalable kernels for graphs with continuous attributes
Yasuo Tabei
 
Gwt sdm public
Gwt sdm publicGwt sdm public
Gwt sdm public
Yasuo Tabei
 
Mlab2012 tabei 20120806
Mlab2012 tabei 20120806Mlab2012 tabei 20120806
Mlab2012 tabei 20120806
Yasuo Tabei
 
WABI2012-SuccinctMultibitTree
WABI2012-SuccinctMultibitTreeWABI2012-SuccinctMultibitTree
WABI2012-SuccinctMultibitTree
Yasuo Tabei
 
Lgm pakdd2011 public
Lgm pakdd2011 publicLgm pakdd2011 public
Lgm pakdd2011 public
Yasuo Tabei
 
Lgm saarbrucken
Lgm saarbruckenLgm saarbrucken
Lgm saarbrucken
Yasuo Tabei
 
Hyperoptとその周辺について
Hyperoptとその周辺についてHyperoptとその周辺について
Hyperoptとその周辺について
Keisuke Hosaka
 
Gwt presen alsip-20111201
Gwt presen alsip-20111201Gwt presen alsip-20111201
Gwt presen alsip-20111201
Yasuo Tabei
 
Sketch sort sugiyamalab-20101026 - public
Sketch sort sugiyamalab-20101026 - publicSketch sort sugiyamalab-20101026 - public
Sketch sort sugiyamalab-20101026 - public
Yasuo Tabei
 
Sketch sort ochadai20101015-public
Sketch sort ochadai20101015-publicSketch sort ochadai20101015-public
Sketch sort ochadai20101015-public
Yasuo Tabei
 
Kdd2015reading-tabei
Kdd2015reading-tabeiKdd2015reading-tabei
Kdd2015reading-tabei
Yasuo Tabei
 
GIW2013
GIW2013GIW2013
GIW2013
Yasuo Tabei
 
Ibisml2011 06-20
Ibisml2011 06-20Ibisml2011 06-20
Ibisml2011 06-20
Yasuo Tabei
 
Dmss2011 public
Dmss2011 publicDmss2011 public
Dmss2011 public
Yasuo Tabei
 
DCC2014 - Fully Online Grammar Compression in Constant Space
DCC2014 - Fully Online Grammar Compression in Constant SpaceDCC2014 - Fully Online Grammar Compression in Constant Space
DCC2014 - Fully Online Grammar Compression in Constant Space
Yasuo Tabei
 
IPAB2017 深層学習を使った新薬の探索から創造へ
IPAB2017 深層学習を使った新薬の探索から創造へIPAB2017 深層学習を使った新薬の探索から創造へ
IPAB2017 深層学習を使った新薬の探索から創造へ
Preferred Networks
 
FM-indexによる全文検索
FM-indexによる全文検索FM-indexによる全文検索
FM-indexによる全文検索
Sho IIZUKA
 

Viewers also liked (20)

CPM2013-tabei201306
CPM2013-tabei201306CPM2013-tabei201306
CPM2013-tabei201306
 
SPIRE2013-tabei20131009
SPIRE2013-tabei20131009SPIRE2013-tabei20131009
SPIRE2013-tabei20131009
 
NIPS2013読み会: Scalable kernels for graphs with continuous attributes
NIPS2013読み会: Scalable kernels for graphs with continuous attributesNIPS2013読み会: Scalable kernels for graphs with continuous attributes
NIPS2013読み会: Scalable kernels for graphs with continuous attributes
 
Gwt sdm public
Gwt sdm publicGwt sdm public
Gwt sdm public
 
Mlab2012 tabei 20120806
Mlab2012 tabei 20120806Mlab2012 tabei 20120806
Mlab2012 tabei 20120806
 
WABI2012-SuccinctMultibitTree
WABI2012-SuccinctMultibitTreeWABI2012-SuccinctMultibitTree
WABI2012-SuccinctMultibitTree
 
Lgm pakdd2011 public
Lgm pakdd2011 publicLgm pakdd2011 public
Lgm pakdd2011 public
 
Lp Boost
Lp BoostLp Boost
Lp Boost
 
Lgm saarbrucken
Lgm saarbruckenLgm saarbrucken
Lgm saarbrucken
 
Hyperoptとその周辺について
Hyperoptとその周辺についてHyperoptとその周辺について
Hyperoptとその周辺について
 
Gwt presen alsip-20111201
Gwt presen alsip-20111201Gwt presen alsip-20111201
Gwt presen alsip-20111201
 
Sketch sort sugiyamalab-20101026 - public
Sketch sort sugiyamalab-20101026 - publicSketch sort sugiyamalab-20101026 - public
Sketch sort sugiyamalab-20101026 - public
 
Sketch sort ochadai20101015-public
Sketch sort ochadai20101015-publicSketch sort ochadai20101015-public
Sketch sort ochadai20101015-public
 
Kdd2015reading-tabei
Kdd2015reading-tabeiKdd2015reading-tabei
Kdd2015reading-tabei
 
GIW2013
GIW2013GIW2013
GIW2013
 
Ibisml2011 06-20
Ibisml2011 06-20Ibisml2011 06-20
Ibisml2011 06-20
 
Dmss2011 public
Dmss2011 publicDmss2011 public
Dmss2011 public
 
DCC2014 - Fully Online Grammar Compression in Constant Space
DCC2014 - Fully Online Grammar Compression in Constant SpaceDCC2014 - Fully Online Grammar Compression in Constant Space
DCC2014 - Fully Online Grammar Compression in Constant Space
 
IPAB2017 深層学習を使った新薬の探索から創造へ
IPAB2017 深層学習を使った新薬の探索から創造へIPAB2017 深層学習を使った新薬の探索から創造へ
IPAB2017 深層学習を使った新薬の探索から創造へ
 
FM-indexによる全文検索
FM-indexによる全文検索FM-indexによる全文検索
FM-indexによる全文検索
 

Similar to Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices

How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
Hiromi Ishii
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
Morpho, Inc.
 
アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法
Satoshi Hara
 
Oracle property and_hdm_pkg_rigorouslasso
Oracle property and_hdm_pkg_rigorouslassoOracle property and_hdm_pkg_rigorouslasso
Oracle property and_hdm_pkg_rigorouslasso
Satoshi Kato
 
Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章
Makoto Kawano
 
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
Koji Matsuda
 
Yamadai.Rデモンストレーションセッション
Yamadai.RデモンストレーションセッションYamadai.Rデモンストレーションセッション
Yamadai.Rデモンストレーションセッション
考司 小杉
 
Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章
Prunus 1350
 
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
Naoki Aoyama
 
Scalaプログラミング・マニアックス
Scalaプログラミング・マニアックスScalaプログラミング・マニアックス
Scalaプログラミング・マニアックス
Tomoharu ASAMI
 

Similar to Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices (11)

How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
 
アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法
 
Oracle property and_hdm_pkg_rigorouslasso
Oracle property and_hdm_pkg_rigorouslassoOracle property and_hdm_pkg_rigorouslasso
Oracle property and_hdm_pkg_rigorouslasso
 
Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章
 
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
 
LDA入門
LDA入門LDA入門
LDA入門
 
Yamadai.Rデモンストレーションセッション
Yamadai.RデモンストレーションセッションYamadai.Rデモンストレーションセッション
Yamadai.Rデモンストレーションセッション
 
Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章Rで学ぶデータマイニングI 第8章〜第13章
Rで学ぶデータマイニングI 第8章〜第13章
 
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
 
Scalaプログラミング・マニアックス
Scalaプログラミング・マニアックスScalaプログラミング・マニアックス
Scalaプログラミング・マニアックス
 

Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices

Editor's Notes

  1. 東京工業大学の田部井です。 今日は、今週から始まるKDD’16で発表予定の内容で、 タイトルはScalable Partial Least Squares Regression on Grammar-Compressed Data Matricesです。 本研究は、九州大学の西郷先生、山西先生と、ヘルシンキ大のプルイージさんとの共同研究です。
  2. 目次の方が良い
  3. 今回の発表で扱う問題ですが、解析したいデータはD次元の特徴ベクトルとして表現されていると仮定します。 例えば、文書中の単語の有る無しを表現した0/1ベクトル (フィンガープリント)や画像のピクセル値など モデルは、線形モデルを仮定しています。 これはどのようなモデルかというと重みとxの内積で応答変数yを求めるモデルです。 問題は、N個の特徴ベクトルと応答変数のペアーが与えられたら、重みベクトルwを学習するという問題で、 ただし、これらの特徴ベクトルがメモリーに載り切らなくなるぐらいの大きいサイズを仮定しています。数億の大規模かつ超高次元を仮定。
  4. なぜこのような問題を取り扱うかというと、大規模データから解釈可能な統計モデルを学習することは大規模データからの知識発見の有効な手段だからです。 解釈可能な統計モデルにはどのようなものがあるかとおいうと、線形モデル、決定木、決定集合などがあります。 利点としては、どの特徴が分類/回帰に有効かなどの特徴の解釈ができます。 学習結果を説明する必要性が機械学習の応用場面で良くある。 今年のKDD’16でも解釈可能な統計モデルに関する論文はありまして、Lakkaju et alのdecision setは有用そうな論文でした。
  5. 問題の構造はどのようになっているかと、機械学習の入力はデータ行列とラベル列yですがメモリO(ND)です。 殆どの学習アルゴリズムのメモリはO(D)で、入力のメモリに比べれば、学習アルゴリズムのメモリは圧倒的に小さい。 故に、もしデータ行列を圧縮した状態でモデル学習できれば巨大な行列上でも効率よく学習可能となります。
  6. 機械学習分野ではハッシュを用いた機械学習法という分野がありまして、これはどのような手法かと申しますと、入力ベクトルを低次元ベクトルにハッシュし、モデル学習するというものです。 ハッシュした後のベクトルサイズよりは入力ベクトルよりも圧倒的に小さいので効率的に学習が可能となります。 この時、ハッシュの性質としては2つのベクトル間の距離は近似的に保存されるという性質があり、 これにより、精度を落とさずにメモリ効率よく学習を行なうことができます。
  7. これまでにも様々なハッシュを利用した機械学習が提案されていまして、これらの違いは入力ベクトルとシュミレートしたいカーネル関数による違いです。 例えば、入力形式がフィンガープリントでカーネルがJaccardカーネルを使いたい場合はb-bit MinHashが使えます。 実数値ベクトル上で多項式カーネルをシュミレートしたい場合は、Tensor Sketchingという方法が提案されています。 この他にも、データの入力形式とシュミレートしたいカーネルに応じて様々な乱択ハッシュを利用した機械学習法が提案されています。
  8. よって、解釈可能な統計モデルを学習するためにデータ圧縮に求められる条件は、 スケーラビリティがあることで、これは巨大なデータ行列を圧縮したいからです。 次に、高い圧縮率をもつことで、これはメモリ効率よく学習するためです。 次に、可逆圧縮であることで、これは可逆圧縮でないと学習結果のモデルを解釈するためです。 次に、学習アルゴリズムに必要な操作をサポートしていることで、これはデータ圧縮したデータ行列上で学習アルゴリズムを実装するためです。 この4つの条件が必要になります。 特に現在の機械学習法のためのデータ圧縮法は可逆圧縮
  9. 今回の発表内容ですが、初めに研究の動機である大規模データ上での機械学習を説明した後に、 今回の手法の文法圧縮に関して軽く紹介して、 次に、文法圧縮されたデータ行列上でのPLS回帰モデルを学習する手法に関して紹介します。 次に、手法を実装した場合の実験とまとめで終わりたいと思います。
  10. 文法圧縮は先に挙げた条件を満たす圧縮法。  文法圧縮とはなにかと申しますと入力文字列だけを表現するチョムスキー標準形の文脈自由文法です。 入力文字列が与えられたら、これをこの文字列のみを表現する文法のルールで表現します。 利点としては、反復文字列に対して有効な圧縮法です。 なぜならば同一の部分列を多く含むほど、少ないルール数で入力文字列を表現することができるからです。 2つめの利点としては、文法のルールは2分木としての良い表現を持っていて、これにより圧縮されたデータに対する様々な操作を実装することができます。
  11. では、どうやって与えられた文字列から文法を構築するかですが、それにはRe-Pairという代表的なアルゴリズムがありまして、 Re-Pairの基本的なアイディアは文字列中で文字ペアーを新しい非終端記号に置き換える貪欲アルゴリズムです。 全部で、3つのstepからなっていまして、まずはじめに現在の文字列中で最頻出する隣接文字ペアーabを発見します。 次に発見した文字ペアーから新しい文法ルールを生成し、文字列中のすべてのabの出現をXiで置き換えます。 最後にすべての文字ペアーの出現頻度が1になるまでstep1とstep2を繰り返します。
  12. Re-Pairの実際の動作例ですが、このS中の隣接する文字ペアーの出現個数を数えます。 この中でaaが8回出現しているので、aaが最頻出文字列になります。 そこで、aaを右辺とする文法ルールX1→aaを作成します。 次に、S中のaaのすべての出現をX1で置き換えます。 そうすると、新しい文字列S’ができる。 S’を新しい入力として1,2,3,を実行する。 これがRe-Pairアルゴリズムの動作例です。
  13. 利点はシンプルでありながら圧縮率が高い 逆に欠点は、線形時間で実装するためには多くのデータ構造が必要となります。 例えば、入力文字列の各位置に128bitのポインター, 文字ペアーの頻度を管理するヒープやハッシュテーブルなどですね。 これらのデータ構造が必要となります。 そこで、まずポインターを省略して、その代わりに頻出するtop-kの文字ペアーからルールを作成するということを行います。 これによって、ポインターを省略してスペースを省略しても、top-k個の文字ペアーを一度に置き換えれば十分高速に動作可能となります。
  14. Re-Pairの省スペース化の工夫 (その2)ですが、 Re-Pairの問題点はすべての文字ペアーの出現頻度をハッシュテーブルに保持する必要性がありました。 Re-Pairというのは文字列中に頻出する文字ペアーは圧縮に貢献するペアーとみなして、そこからルールを作成して 優先的にルールを作成するアルゴリズムでいした。 一方で、データベース分野ではストリームデータから頻出するアイテムを選ぶという技術があってこれをストリームマイニングといいます。 まさに、Re-Pairがおこなっていることはこのタスクでして、このデータベース分野で開発された技術をRe-Pairアルゴリズムに応用することができます。 これにより、文字列中に頻出するルールのみを主記憶に残しつつ高圧縮率を達成することが可能となります。 利点としては定数スペース化です。
  15. では、どうやってデータ行列に文法圧縮を応用するかですが、 まず、入力はフィンガープリントを仮定して、次に各フィンガープリントの隣の要素どうしての差分を取ります。 次に、これらのフィンガープリントを文字列とみなして文法圧縮を行います。 このようにするとなぜ機械学習に現れるfingerprintに文法圧縮が有効かですが、 ひとつ目の理由は同じクラスに属するfingerprintは同じ要素を共有するということが挙げられます。 これにより、生成される文法のルールは少なくて済ます。 ふたつ目の理由はベクトルの要素間の差分を計算するというギャップエンコーディングにより同じ要素をさらに共有しやすくなるということが挙げられます。 これら二つの理由により先ほどご説明したRe-Pairアルゴリズムを入力データに適応させることにより高圧縮率を達成することができます。
  16. 次にモデルの説明ですが、今回用いるのはPartial Least Squares (PLS)回帰モデルというもので、 これはデータ行列の複数個の低次元空間に射影した上での線形モデルのことです。 通常の線形モデルは特徴ベクトルと重みベクトルの内積でモデルは定義されるわけですが、 今回はwとαという2つのベクトルがあります。 Wiとはなにかですが、これは入力の特徴ベクトルを低次元空間へ射影するためのベクトルのことで、次のような直交条件を満たします。 2つのパラメーターはαでこれ各空間ごとのモデルの重みベクトルです。 このモデルの利点としては、各空間ごとに予測に効く特徴を観測可能ということが挙げられます。
  17. 様々な応用領域のデータを利用 サイズの小さいデータから大きいデータ
  18. 5-fold cross validation
  19. 想定問答集