• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Lp Boost
 

Lp Boost

on

  • 2,918 views

 

Statistics

Views

Total Views
2,918
Views on SlideShare
2,907
Embed Views
11

Actions

Likes
1
Downloads
20
Comments
0

4 Embeds 11

http://www.slideshare.net 7
https://twitter.com 2
http://d.hatena.ne.jp 1
http://webcache.googleusercontent.com 1

Accessibility

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

    Lp Boost Lp Boost Presentation Transcript

    • LPBoost とその応用 田部井靖生 東大・新領域・情報生命・ 浅井研・D2
    • なぜ、この内容にしたか?
      • SVMに続く、学習/分類/回帰手法として注目されているから
      • 応用範囲が広いから
      • Boostingは、最近流行のL1-regularizationと関係しているから
    • 概要
      • Adaboost
      • LPBoost
      • - 最適法 (Column Generation Algorithm)
      • 応用
      • - 人の HIV 薬剤耐性を予測
    • 今回紹介する論文
      • Soft Margins for AdaBoost,Ratsch et al,JMLR
      • Sparse Regression Ensembles in Infinite and Finite Hypothesis Spaces, Ratsch et al,JMLR
      • Linear Programming Boosting via Column Generation, Demiriz et al, JMLR
      • Mining complex genotypic features for predicting HIV-1 drug resistance,Saigo et al, Bioinformatics
    • Boostingの導入
      • Boosting とは正答率の低いクラス分類器を組合せて、高い正答率を示すクラス分類器を構成する技法
      • AdaBoost の基本的考え方
      • (1) 初期状態では各レコードに均等な重みを割当てる
      • 次のステップを繰返す
      • (2) ランダムに推測するよりは正答率の高い
      •   - ( 50% を超える)クラス分類器( 仮説 , weak learner )を生成
      • (3) 目標属性の値の予測を誤ったレコードの重みを
      • 相対的に上げる
      • (予測が困難であることを覚えておく)
    • Boosting 導入
    •  
    •  
    •  
    •  
    • Adaboost
      • 1.Input: S={(x 1 ,y 1 ),…,(x N ,y N )},Number of Iterations T
      • 2.Initialize: d n (1) =1/N for all n=1,..,N
      • 3. Do for t=1,..,T.
      • (a) :obtain hypothesis
      • (b) Calculate the weighted training error ε t of h t :
      • (c)Set
      • (d) Update Weights
      • where z t is a normalized constant
      • 4. Break if
      • 5. Output:
      今までの採用した 仮説では最も正解を 得にくいデータを、 当てられるように 仮説を選択 重みの更新 重み付多数決 で最終的な予測を 得る
    • Adaboost の目的関数
      • Adaboost は以下のエラー関数を最小化
      • y n f a (x n ): マージン
      • - 予測が当たると正でエラーは減少する
      • - 間違えると負となってエラーは増加する
      • AdaBoost は以下の最小マージン Q を最大化する
      •   ( と信じられている。 )
    • Adaboost の目的関数
      • Hypothesis set H 上の線形計画問題としてとくことができる
      • AdaBoost は Hard Margin を最大がしているのでノイズに弱い。
      • 線形計画法として形式化が行われるようになる
      • (Soft   Margin) 。
      • 線形計画法として定式化した Boosting を LPBoost という
    • LPBoost   (Soft margin) ・主問題   (C は定数 ) ・双対問題 ・ Hypothesis Set H の数 T’ が大きいとき、変数の数が  多くなり解きにくい。 ・ Hypothesis SetH の数 T’ が大きいとき、 制約の数が多くなるが効率的なアルゴリズムが存在する。 ・仮説の数 T’ が多いので双対問題を解くことは不可能と考えられていたが Column Generation Algorithm で解くことができることがわかった。
    • Column Generation Algorithm
      • 1.制約なし双対問題からスタート
      • 2.すべての仮説に対して、最も合わない制約を加える。
      • 3.  双対問題を解く
      • 4.収束するまで、繰り返す。
      Constraint Matrix Used Part
    • Column Generation Algorithm
      • Algorithm (LPBoost)
      • (1) Given as input training set S=<(x 1 ,y 1 ),…(x n ,y n )>
      • (2) t← 0 (Weak Learner の数 )
      • (3) a ← 0 ( 仮説に対する係数 0), β←0, u ←(1/n, …, 1/n): 双対変数
      • (6) REPEAT
      • (7) t←t+1
      • (8) h t ←H(S,u)
      • (9) i f
      • (10)   H ji ←h t (x i )
      • (11) 右の双対問題を解く
      • (12)END
      • (13) a ← Lagrangian multipliers from last LP
      • (14) return
      最も制約に反する仮説を 選択 ( すべての仮説に 反する制約を選択 ) 加えた制約のみで 双対問題を解く
    • SVMとの比較 AdaBoost SVM ・1つめの制約は同じ - マージン最大化という意味では同じ ・違いは、 a のノルム (1-norm, 2-norm) ・ 1-norm の場合、最適解が訓練データ数個の弱学習器の  線形和で表すことができる。 [G.Ratsch 01] ・ 2-norm では、 a* は訓練データの線形和で表される。 (Representer Theorem)
    • LPBoost
      • ε-insensitive loss 関数など、 SVM で使われている損失関数が取り入れられている。
      • 最近は、 LPBoost の収束は遅いことが理解され始めたので、高速化の方向へ
      •   - Boosting Algorithms for Maximizing the
      • Soft Margin, K.Warmuth et al.nips2007
    • LPBoost の応用
      • Mining complex genotypic features for predicting HIV-1 drug resistance, Hiroto Saigo, Takeaki Uno, Koji Tsuda, Bioinformatics, 2007
      • 比較的新しい
      • 他の回帰手法との比較も行われている
    • 概要
      • ・ 患者の HIV1 の薬剤耐性をゲノム配列の   multation の入り方により予測する問題
      • ・ 薬物によっては、配列上の mutation の組み合わせが、薬の効き目に影響を与えるので、 mutation の組み合わせから薬剤耐性を予測することは重要な課題
      • ・バイオロジーでは、予測のルールを解釈できてかつ、そのルールが生物学的に重要であると理解できることが重要
      • (SVM では不可能だった )
    • 問題設定
      • ・ データの定義
      • - (x i ,y i ) x i ∈{0,1} d , y i ∈R,
      • - x i :i 番目の配列に対する置換パターン ,
      • - y i : 薬剤耐性
      • ・学習データ
      • Wild type ADANNNDDD 薬剤耐性     y∈ R
      • 患者 1 AGDNNNDQQ 0.8 x 1 =(0,1,1,0,0,0,0,1,1) 0.8
      • 患者 2 AGGNNADQQ 0.7 x 2 =(0,1,1,0,0,1,0,1,1) 0,7
      • ・テストデータ
      • 新しい患者 3 x 3 =(0,1,1,0,0,0,0,0,0) から y を予測 ?
      • ・置換パターン対する変異の入り方の影響も見たい
    • データの表現
      • ・学習データ :L
      • ・ 配列の置換パターン x と薬剤耐性 y∈R
      •   L={<x 1 ,y 1 >,<x 2 ,y 2 >,…,<x k ,y k >}
      • ・例 L={ (0,1,1,0,0,0,0,1,1) 0.8,(0,1,1,0,0,1,0,1,1) 0,7  
      • (1,0,0,1,0,0,0,1,0) -0.7}
      • ・ X i :x i において j 番目の配列上の位置 x ij =1 となるすべての添え字 j を含む集合とする
      • ・例 T={{2,3,8,9},{2,3,6,8,9},{1,4,8}}
    • weak learner
      • 弱仮説 ( 部分配列の置換パターン t の有無に基づく分類器 )
      • 例 X={2,3,8,9}
      • - t={2,3} z t (X) = 1,
      • - t={1} z t (X) = -1
      • 部分配列の置換パターン t を complex feature という
    • 回帰関数
      • T を X 1 ,…,X n の少なくとも一つの配列の中に現れるすべての complex feature の集合とする。
      • 回帰のために以下の回帰関数を用いる。
      - a t , b は学習パラメータ
      • 学習問題を以下で定式化
      • - L1-norm なのでスパースな解をうることができる
      • α は超高次元なので、このままでは解くことは困難
      • 二次計画問題で形式化して、 Column Generation Algorithm で解く
    • 二次計画問題
      • 主問題
      • 双対問題
      毎回のイテレーション で加えていく制約
    • Column Generation Algorithm における制約条件の探索
      • Boosting における毎回のイテレーションでは、すべての仮説に対して最も合わない制約を発見する必要がある。
      • 以下の探索問題を解く必要がある。
      •  
      • - g(t) は gain function
      • ・ complex feature の集合は巨大
      • ・効率よく constraint を発見する必要がある。
    • Frequent Itemset mining method LCM
      • 頻出する部分集合を洩れなく、重複なく、枚挙する方法
      • 濃度 k の集合に、頻出する要素を一つ加えて、濃度 k+1
      • の集合を作る
      • 深さ優先で、再帰的に適応する。
      • 出現頻度は要素を追加していくごとに単調減少するので、効率的に枝狩りができる。
      empty {1} {2} {3} {4} {1,2} {1,2,4} {3,4} {1,3}
    • 探索空間の枝狩り
      • すべての、 t’⊃t についてg (t’)<=μ(t) となる上限値を見積もる
      • 準最適 gain g cur が分かっているとき、 μ(t)<=g cur ならば、 t から先は枝狩り可能
      emplty {1} {1,2,} {1,3} {1,2,3,} {1,2,4,} g=0.1(g cur ) μ=0.7 g=0.3(g cur ) μ=0.6 {1,4} g=0.4(g cur ) μ=0.6 g=0.4 μ=0.6 g=0.4 μ=0.3 {1,4,5} {1,4,6} {1,4,6}
      • ・ 枝刈り
      • 準最適 gain:0.4
      • 0.4 以上の解はこの先の空間
      • に存在しない
      • t’⊃t, gain(t’)<=μ(t)
      ・ この先により強い制約条件はないということ。
    • 上限値の見積もり
      • ∀ t’⊃t, gain(t’)<=μ(t), y i =sgn(u i ),d i =|u i |
      (Morisita02)
    •  
    • Results
      • Linear Methods は complex feature を使っていない。
      • SVR p ・・・ polynomial kernle SVR r ・・・ gaussian kernel.
      • 評価尺度
      • 5-fold cross validation
      • Table1 3つのドラッグ NRTI, NNRTI, PI に対する精度
      • 精度はデータ依存
      • 薬剤 NNRTI では、 complex feature はあまりなかったので、 linear method の方が精度が良い
    •  
    • Complex feature に対する薬剤耐性の影響
    • まとめ
      • LPBoost を中心にお話しました。
      • Boosting は、 SVM と同じく Margin を最大化している。
      • SVM は、事例空間で Margin を最大化している。一方、 Boosting は特徴空間で Margin を最大化
      • 利点としては、 SVM に匹敵する精度であり、
      •   かつ、学習結果の Feature を解釈することができる
      • L1-norm で、スパースな解を得ることができ解釈はより容易になる。
    • 補足
      • AdaBoost と LPBoost の違い
      • - AdaBoost は一度 weak learner に与えた重みは変わらないが、 LPBoost ではすべての weak learner に対する重みをキープして、毎回更新する。