Successfully reported this slideshow.
Your SlideShare is downloading. ×

Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 26 Ad

More Related Content

Slideshows for you (20)

Viewers also liked (20)

Advertisement

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

Recently uploaded (20)

Advertisement

Scalable Partial Least Squares Regression on Grammar-Compressed Data Matrices

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

Editor's Notes

  • 東京工業大学の田部井です。
    今日は、今週から始まるKDD’16で発表予定の内容で、
    タイトルはScalable Partial Least Squares Regression on Grammar-Compressed Data Matricesです。
    本研究は、九州大学の西郷先生、山西先生と、ヘルシンキ大のプルイージさんとの共同研究です。
  • 目次の方が良い
  • 今回の発表で扱う問題ですが、解析したいデータはD次元の特徴ベクトルとして表現されていると仮定します。
    例えば、文書中の単語の有る無しを表現した0/1ベクトル (フィンガープリント)や画像のピクセル値など
    モデルは、線形モデルを仮定しています。
    これはどのようなモデルかというと重みとxの内積で応答変数yを求めるモデルです。
    問題は、N個の特徴ベクトルと応答変数のペアーが与えられたら、重みベクトルwを学習するという問題で、

    ただし、これらの特徴ベクトルがメモリーに載り切らなくなるぐらいの大きいサイズを仮定しています。数億の大規模かつ超高次元を仮定。
  • なぜこのような問題を取り扱うかというと、大規模データから解釈可能な統計モデルを学習することは大規模データからの知識発見の有効な手段だからです。
    解釈可能な統計モデルにはどのようなものがあるかとおいうと、線形モデル、決定木、決定集合などがあります。
    利点としては、どの特徴が分類/回帰に有効かなどの特徴の解釈ができます。
    学習結果を説明する必要性が機械学習の応用場面で良くある。

    今年のKDD’16でも解釈可能な統計モデルに関する論文はありまして、Lakkaju et alのdecision setは有用そうな論文でした。
  • 問題の構造はどのようになっているかと、機械学習の入力はデータ行列とラベル列yですがメモリO(ND)です。
    殆どの学習アルゴリズムのメモリはO(D)で、入力のメモリに比べれば、学習アルゴリズムのメモリは圧倒的に小さい。
    故に、もしデータ行列を圧縮した状態でモデル学習できれば巨大な行列上でも効率よく学習可能となります。
  • 機械学習分野ではハッシュを用いた機械学習法という分野がありまして、これはどのような手法かと申しますと、入力ベクトルを低次元ベクトルにハッシュし、モデル学習するというものです。
    ハッシュした後のベクトルサイズよりは入力ベクトルよりも圧倒的に小さいので効率的に学習が可能となります。
    この時、ハッシュの性質としては2つのベクトル間の距離は近似的に保存されるという性質があり、
    これにより、精度を落とさずにメモリ効率よく学習を行なうことができます。
  • これまでにも様々なハッシュを利用した機械学習が提案されていまして、これらの違いは入力ベクトルとシュミレートしたいカーネル関数による違いです。
    例えば、入力形式がフィンガープリントでカーネルがJaccardカーネルを使いたい場合はb-bit MinHashが使えます。
    実数値ベクトル上で多項式カーネルをシュミレートしたい場合は、Tensor Sketchingという方法が提案されています。
    この他にも、データの入力形式とシュミレートしたいカーネルに応じて様々な乱択ハッシュを利用した機械学習法が提案されています。
  • よって、解釈可能な統計モデルを学習するためにデータ圧縮に求められる条件は、
    スケーラビリティがあることで、これは巨大なデータ行列を圧縮したいからです。
    次に、高い圧縮率をもつことで、これはメモリ効率よく学習するためです。
    次に、可逆圧縮であることで、これは可逆圧縮でないと学習結果のモデルを解釈するためです。
    次に、学習アルゴリズムに必要な操作をサポートしていることで、これはデータ圧縮したデータ行列上で学習アルゴリズムを実装するためです。
    この4つの条件が必要になります。

    特に現在の機械学習法のためのデータ圧縮法は可逆圧縮
  • 今回の発表内容ですが、初めに研究の動機である大規模データ上での機械学習を説明した後に、
    今回の手法の文法圧縮に関して軽く紹介して、 次に、文法圧縮されたデータ行列上でのPLS回帰モデルを学習する手法に関して紹介します。
    次に、手法を実装した場合の実験とまとめで終わりたいと思います。
  • 文法圧縮は先に挙げた条件を満たす圧縮法。 
    文法圧縮とはなにかと申しますと入力文字列だけを表現するチョムスキー標準形の文脈自由文法です。
    入力文字列が与えられたら、これをこの文字列のみを表現する文法のルールで表現します。
    利点としては、反復文字列に対して有効な圧縮法です。
    なぜならば同一の部分列を多く含むほど、少ないルール数で入力文字列を表現することができるからです。
    2つめの利点としては、文法のルールは2分木としての良い表現を持っていて、これにより圧縮されたデータに対する様々な操作を実装することができます。
  • では、どうやって与えられた文字列から文法を構築するかですが、それにはRe-Pairという代表的なアルゴリズムがありまして、
    Re-Pairの基本的なアイディアは文字列中で文字ペアーを新しい非終端記号に置き換える貪欲アルゴリズムです。
    全部で、3つのstepからなっていまして、まずはじめに現在の文字列中で最頻出する隣接文字ペアーabを発見します。
    次に発見した文字ペアーから新しい文法ルールを生成し、文字列中のすべてのabの出現をXiで置き換えます。
    最後にすべての文字ペアーの出現頻度が1になるまでstep1とstep2を繰り返します。
  • Re-Pairの実際の動作例ですが、このS中の隣接する文字ペアーの出現個数を数えます。
    この中でaaが8回出現しているので、aaが最頻出文字列になります。
    そこで、aaを右辺とする文法ルールX1→aaを作成します。
    次に、S中のaaのすべての出現をX1で置き換えます。
    そうすると、新しい文字列S’ができる。
    S’を新しい入力として1,2,3,を実行する。
    これがRe-Pairアルゴリズムの動作例です。
  • 利点はシンプルでありながら圧縮率が高い
    逆に欠点は、線形時間で実装するためには多くのデータ構造が必要となります。
    例えば、入力文字列の各位置に128bitのポインター, 文字ペアーの頻度を管理するヒープやハッシュテーブルなどですね。
    これらのデータ構造が必要となります。
    そこで、まずポインターを省略して、その代わりに頻出するtop-kの文字ペアーからルールを作成するということを行います。
    これによって、ポインターを省略してスペースを省略しても、top-k個の文字ペアーを一度に置き換えれば十分高速に動作可能となります。
  • Re-Pairの省スペース化の工夫 (その2)ですが、
    Re-Pairの問題点はすべての文字ペアーの出現頻度をハッシュテーブルに保持する必要性がありました。
    Re-Pairというのは文字列中に頻出する文字ペアーは圧縮に貢献するペアーとみなして、そこからルールを作成して
    優先的にルールを作成するアルゴリズムでいした。
    一方で、データベース分野ではストリームデータから頻出するアイテムを選ぶという技術があってこれをストリームマイニングといいます。
    まさに、Re-Pairがおこなっていることはこのタスクでして、このデータベース分野で開発された技術をRe-Pairアルゴリズムに応用することができます。
    これにより、文字列中に頻出するルールのみを主記憶に残しつつ高圧縮率を達成することが可能となります。
    利点としては定数スペース化です。
  • では、どうやってデータ行列に文法圧縮を応用するかですが、
    まず、入力はフィンガープリントを仮定して、次に各フィンガープリントの隣の要素どうしての差分を取ります。
    次に、これらのフィンガープリントを文字列とみなして文法圧縮を行います。
    このようにするとなぜ機械学習に現れるfingerprintに文法圧縮が有効かですが、
    ひとつ目の理由は同じクラスに属するfingerprintは同じ要素を共有するということが挙げられます。
    これにより、生成される文法のルールは少なくて済ます。
    ふたつ目の理由はベクトルの要素間の差分を計算するというギャップエンコーディングにより同じ要素をさらに共有しやすくなるということが挙げられます。

    これら二つの理由により先ほどご説明したRe-Pairアルゴリズムを入力データに適応させることにより高圧縮率を達成することができます。
  • 次にモデルの説明ですが、今回用いるのはPartial Least Squares (PLS)回帰モデルというもので、
    これはデータ行列の複数個の低次元空間に射影した上での線形モデルのことです。
    通常の線形モデルは特徴ベクトルと重みベクトルの内積でモデルは定義されるわけですが、
    今回はwとαという2つのベクトルがあります。
    Wiとはなにかですが、これは入力の特徴ベクトルを低次元空間へ射影するためのベクトルのことで、次のような直交条件を満たします。
    2つのパラメーターはαでこれ各空間ごとのモデルの重みベクトルです。

    このモデルの利点としては、各空間ごとに予測に効く特徴を観測可能ということが挙げられます。
  • 様々な応用領域のデータを利用
    サイズの小さいデータから大きいデータ
  • 5-fold cross validation
  • 想定問答集

×