Vanishing Component Analysis
Upcoming SlideShare
Loading in...5
×
 

Vanishing Component Analysis

on

  • 13,538 views

Vanishing Component Analysis [Livni+ ICML 2013] の紹介

Vanishing Component Analysis [Livni+ ICML 2013] の紹介

Statistics

Views

Total Views
13,538
Views on SlideShare
2,778
Embed Views
10,760

Actions

Likes
16
Downloads
67
Comments
0

23 Embeds 10,760

http://conditional.github.io 7256
http://research.preferred.jp 3198
http://cloud.feedly.com 187
http://www.feedspot.com 23
https://cybozulive.com 20
http://localhost 13
https://twitter.com 11
http://feedly.com 11
http://reader.aol.com 10
http://everrss.me 6
http://webcache.googleusercontent.com 4
http://www.newsblur.com 3
https://www.facebook.com 3
http://www.google.co.jp 3
http://www.inoreader.com 2
http://192.168.33.10 2
http://digg.com 2
http://translate.googleusercontent.com 1
https://m.facebook.com&_=1373441936417 HTTP 1
https://m.facebook.com&_=1373641350081 HTTP 1
http://inoreader.com 1
http://news.google.com 1
http://www.clubasia.co.jp 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Vanishing Component Analysis Vanishing Component Analysis Presentation Transcript

  • Vanishing Component Analysis Roi Livni, David Lehavi, Sagi Schein, Hila Nachlieli, Shai Shalev-Shwartz and Amir Globerson ICML 2013 (Best Paper) すずかけ論文読み会#4 (2013/07/07) / ICML2013読み会@PFI/東大 (2013/07/09) 紹介者 : matsuda ( @conditional ) 13/07/09 Vanishing Component Analysis 1
  • 1ページで分かる(?) Vanishing Comonent Analysis PCA/ICA 基底(basis function)は線形に限定 VCA 任意の多項式を基底にとれる 〜本論文のテーマ〜 データをコンパクトに表現する を求める How ? Brute Forceに行うと指数オーダーなので,低次のものから順に探索的に求める Why ? 特徴量抽出に使うと「チューンした多項式カーネル」とほぼ同じことができる(100倍速い) 13/07/09 Vanishing Component Analysis 2
  • なんとか Component Analysis • 成分分析 – Principal Component Analysis(PCA) – Independent Component Analysis(ICA) etc… • 次元削減,信号分離,特徴量抽出等,おなじみの手法 • ほとんどの手法は「線形」な成分を取り出す – Kernel PCAなど,例外もあるが・・・ 13/07/09 Vanishing Component Analysis 3 図の出典 http://dave.langers.nl/index.php?/archives/277-PCA,-ICA-FA-galore.html
  • Vanishing Component Analysis • データ集合の「代数的な視点からみた構造」を 多項式の集合で表現する,非線形なComponent Analysis – ただし,次元が削減されるとは限らない(後述) • 理解するには代数幾何(環論)の知識が必要そう – 今回はざっくり行きます(コメント歓迎) 13/07/09 Vanishing Component Analysis 4 問題設定 Input : m個のデータ点 Sm ( ∈ Rn ) Output : すべてのデータ点xに対して f(x) ≒ 0 となるような 多項式 f の集合
  • 分類問題における応用 • クラスごとの訓練データ集合にVCAを行 う – データ点が「ほとんど零」になる多項式の集 合が得られる(クラスごとに) (ほぼ)線形分離できる!あとはこのデータで.. ≒零殆ど非零 13/07/09 Vanishing Component Analysis 5 p1 p2 クラス2 の事例 I(Sm1) I(Sm2) fで評価 クラス1 の事例 x x x x x x x x x x x x x x x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x x x x x x x x x x x x x x x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f2 f2 f1 f1
  • 準備(あまり要らないかも) • 単項式(Monomials) • 多項式 (Polynomials) αは正の整数,データ点のxとごっちゃになるので スライドでは単に p と書くことも • 多項式環 – 有限次数で,かつ積,和 が定義できる多項式全体 の集合 • イデアル(Ideal) – 集合の中の要素に何をかけ ても,元の集合に戻る性質 (吸収律)を持った多項式 の集合 • 零化イデアル(Vanishing Ideal) – データ点集合 S が与えられた とき,f(x) = 0 (x ∈ S)が成り 立つような多項式の集合 – I(S) と表記 13/07/09 Vanishing Component Analysis 6
  • Problem Setup • n次元の点集合 Sm が与えられる • このもとで,零化イデアル I(Sm)の生成多 項式集合を求める – ややこしいが,Smのすべての要素に対して f(x) = 0 になるような多項式 f の集合を求める, と思ってよい • Smの要素を「ほとんど」零化(ε-許容) – exactな計算は現実的ではない – データ点にはノイズが乗っている点を考慮 13/07/09 Vanishing Component Analysis 7
  • シンプルな方法(1) • 生成多項式の次数の上限をDに制限, m 個のデータ点 • D次までの単項式の集合をTとして, – 行列A (m*|T|) を考える( |T| は指数的に増大) – Aij = tj(xi) • tj = 単項式集合Tのj番目の要素, xi = データ点 A = 1 p1(x1) p2(x1) p1 2(x1) p2 2(x1) p1p2(x1) ・・・ p|T|(x1) 1 p1(x2) p2(x2) p1 2(x2) p2 2(x2) p1p2(x2) ・・・ p|T|(x2) ・・・ 1 p1(xm) p2(xm) p1 2(xm) p2 2(xm) p1p2(xm) ・・・ p|T|(xm) 13/07/09 Vanishing Component Analysis 8 p1 p2
  • シンプルな方法(2) • あとはSVD • しかし・・・ – O(nD)で行列Aが大きくなるので現実的ではない • n:変数の数, D:次数の上限 – この方法で抽出される多項式には冗長性がある • 例)p1, p2, が含まれる場合, p1, p2, p1 2, p2 2, p1p2,… • イデアルの持つ吸収律を考慮していないため(省略) 図の出典 : http://www.cs.iastate.edu/~cs577/handouts/svd.pdf 零または非常に小さい(< ε)特異値に対応する特異ベクトル => 対応する単項式の係数( Proposition 3.1 ) 13/07/09 Vanishing Component Analysis 9 m : データ数 n : 単項式集合のサイズ(|T|) (零空間の基底)
  • Vanishing Componentの効率的生成 • 小さい次数のものから探索的に生成 • いくつかの集合 – F : non-vanishingな多項式 • 次数を上げることでvanishingになる可能性がある – V : vanishingな多項式 ,C : 候補集合 • (おおざっぱに言うと)以下の繰り返し – 候補集合Cの 直交基底 を求める(using SVD) • C の要素を F or Vに「仕分ける」 • 特異値が大きい -> F , 特異値が小さい -> V – 一次上げた C を生成 13/07/09 Vanishing Component Analysis 10
  • 初期化 最初の候補集合を生成(1次式) 候補集合の仕分け 仕分けた結果をマージ 繰り返し・・・ 1次上げた候補集合を生成 候補集合が空(Ft-1=0)なら終 候補集合の仕分け マージ 13/07/09 Vanishing Component Analysis 11 VCAアルゴリズムの流れ
  • 候補集合の仕分け 13/07/09 Vanishing Component Analysis 12 Cの要素をFの空間に写像 単項式をデータで評価した 行列を作り直交基底を求める 基底を用いて多項式を生成 特異値が大きい要素F に追加 特異値が小さい要素V に追加
  • VCAアルゴリズムの流れ 13/07/09 Vanishing Component Analysis 13 C = [x1,x2,x3] F0 = [定数] V0 = [] C = [p1,p2,p3] 互いに直交(1次) F1 = [定数,p1,p2] {f : ε > Dii}を追加 V1 = [p3] {f : ε ≦ Dii}を追加 SVD C = [p12,p1p2,p22] F1 = [定数,p1,p2] V1 = [p3] 1次 2次 C = [g1,g2,g3] F2 = [定数,p1,p2,g1,g2] V2 = [p3,g3] C = [g1p1,g2p1,g2p2] F2 = [定数,p1,p2,g1,g2] V2 = [p3,g3] C = [h1,h2,h3] F3 = [定数,p1,p2,g1,g2,h1,h2] V3 = [p3,g3,h3] 3次 直交(2次の成分を含む) 直交(3次の成分を含む) ・・・ C = [] F = [定数,p1,p2,g1,g2,h1,h2,…] V = [p3,g3,h3,…] ※Fの要素が増えなくなったら終了 (最大)m次 SVD SVD C : 候補多項式の集合 F : non-vanishingな多項式の集合 V : vanishingな多項式の集合 FindRangeNull C : F1 × Ft-1
  • なぜ多項式の「集合」か 13/07/09 Vanishing Component Analysis 14 平面と円筒の交差 平面を表す1次式,円筒を表す2次式 の組み合わせでデータ点を記述できる たぶん,低次のほうがロバスト(低い次数で記述できるならそのほうが良い) p1+p2+p3-定数=0 p1 2+p2 2+p3-定数=0 ※図は原著者のスライドより引用
  • アルゴリズムの性質 • Theorem 5.1 : どのようなεに対しても – t ≦ m+1 ステップで終了 – 多項式の最大次数は m – |F| ≦ m かつ |V| ≦ |F|2・min{|F|・n} • 「次元削減」される訳ではない • Theorem 5.2 : ε=0の場合 – Smの全ての点をVanishする • Theorem 7.1 : Feature Extraction – この生成多項式集合を用いて特徴量抽出をおこな うと,「線形分離できる」ことが保証される • あくまでも Training Data に対しての保証 13/07/09 Vanishing Component Analysis 15
  • 分類問題における応用(再掲) • クラスごとの訓練データ集合にVCAを行 う – データ点が「ほとんど零」になる多項式の集 合が得られる(クラスごとに) (ほぼ)線形分離できる!あとはこのデータで.. ≒零殆ど非零 13/07/09 Vanishing Component Analysis 16 p1 p2 クラス2 の事例 I(Sm1) I(Sm2) fで評価 クラス1 の事例 x x x x x x x x x x x x x x x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x x x x x x x x x x x x x x x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f2 f2 f1 f1
  • 実験 • 多項式カーネルSVM(KSVM) vs VCA+線形SVM • 各種データセットでKSVMに対してCompetitive – パラメータ : KSVM(degree,C), VCA(ε,用いる最大次数,C) はCVで 決定 • 分類時間において,KSVMに対して2桁高速 – KSVM(SVの数) – VCA(numberof operation needed to compute the vanishing component) 13/07/09 Vanishing Component Analysis 17 ちなみに,MNistのstate of the artは0.4とかのようです(DBM+Dropout) 単純に比べて 良いのかは謎
  • 感想 • Theorem 7.1 が強烈(どんなデータでも完全に線形分離できる) – ただ,各ステップでSVDに突っ込むのでそこそこ重そう – カーネルとはまったく異なるアプローチで新鮮 • 知りたかったこと – Kernel PCAとの比較,VCA自体の計算時間,高次元での挙動(高次の項がoverfitしそう) – ジャーナル版に期待 (代数幾何,勉強しときます・・・ • 今後の展開(素人考えです) – 何らかの正則化 • 集合のサイズ,次数,係数等にペナルティをかけるなど,複雑さを抑える – ε−許容に正規分布を仮定している? • このへんを確率的に取り扱う方向性もありそう(ベイジアンの皆さん!) – 教師あり/半教師あり化 • あるクラスの事例は零化,他クラスの事例は零化しない,という条件を積極的に 入れる ( max margin的な.Vapnik教徒の皆さん! ) • 応用 – NLP : Parsing, Relation Extraction, etc… (高次の多項式カーネルが有用) – Deep Learningに組み込む動きもあるらしい(第一著者のプレプリント参照) 13/07/09 Vanishing Component Analysis 18 Matlab implementation is available here ! http://www.cs.huji.ac.il/~rlivni73/
  • 付録 • 多項式から生成したデータでの実験(横軸:データ数) – 破線:training error, 実線 : test error 13/07/09 Vanishing Component Analysis 19 やっぱりoverfitしてそう?