誤り訂正出力符号の拡張による...

43
誤り訂正出力符号の拡張による 多値判別法とその応用 奈良先端科学技術大学院大学 石井 竹之内高志 大羽成征 行縄直人

Transcript of 誤り訂正出力符号の拡張による...

  • 誤り訂正出力符号の拡張による多値判別法とその応用

    奈良先端科学技術大学院大学

    石井 信

    竹之内高志 大羽成征 行縄直人

  • 多値判別の一般的枠組み

    { } ラベル入力、・ :,,1: Gy L∈x判別関数・ :),( RyF ∈x

    でラベルを決める),(maxarg yFy x( , )F yx をどの様に構成するのか?

    の同時分布・ yyp ,:),( xx( , ) ( ( | ))F y u p y=x x とするとベイズ最適

    は単調増加関数)(zu

  • • 多値判別関数 F(x,y) を直接構成する– Fisherの(線形)判別関数– Multi-class SVM, AdaBoost, …

    • F(x,y) を2値判別関数の組み合わせで構成する– Error correcting output coding (ECOC) に基づく手法

    • Bradley-Terryモデル(Hastie & Tibshirani, Yukinawa, et al.)– クラス所属確率 p(y|x) を推定できる– 確率出力を持つ2値判別器が必要– 例題ごとに事後確率を計算する必要がある

    • Loss-based decoding (Dietterich & Bakiri, Allwein, et al.)– 単純な Hamming decoding を含む– 実装が簡単– クラス所属確率に関しては言及しない

  • ECOCの定式化• コード表W : p×G 行列

    1 1 11 1 11 1 11 1 01 0 10 1 1

    W

    − −⎛ ⎞⎜ ⎟− −⎜ ⎟⎜ ⎟− −

    = ⎜ ⎟−⎜ ⎟

    ⎜ ⎟−⎜ ⎟⎜ ⎟−⎝ ⎠

    2/)123(max 1 +−= +GGp

    Class 1 2 3

    2値判別12値判別22値判別3:

    30190256165432

  • ハミング復号1

    1

    111101

    y⇓

    −⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟−

    = ⎜ ⎟−⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

    z

      

       

    111110

    n

    n

    y⇓

    ⎛ ⎞⎜ ⎟−⎜ ⎟⎜ ⎟−

    = ⎜ ⎟−⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

    z

      

       

    L

    LM

    Wix

    iz~

    { }1,1)(1 −∈xf{ }1,1)(2 −∈xf

    { }1,1)( −∈xf p ⎠

    ⎜⎜⎜⎜⎜⎜⎜⎜

    −−

    −−−−−−−−

    110101011111111111

    ハミング距離最小のコードワードによってラベルを決める

  • 基本コンセプト))(,),((~2 1 xxz pff L=値判別器

    ⎟⎟⎟⎟⎟⎟⎟⎟

    ⎜⎜⎜⎜⎜⎜⎜⎜

    =

    )(

    )(

    )(

    ~2

    1

    ip

    i

    i

    i

    f

    f

    f

    x

    x

    x

    z

    M

    M

    M

    ( , )

    111101

    i i

    i

    y⇓

    −⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟−

    = ⎜ ⎟−⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠

    x

    z

      

       

    各判別器の判別誤りビット反転ノイズ⇔

    )|~( zzp確率モデル

    )~|(maxarg zzz p)()|~()~|( zzzzz ppp ∝

    復号法

  • 確率モデルの仮定

    • 3元(1,0,-1)入力、2元出力(1,-1)通信路• 多値判別における仮定

    – 各2値判別器(ビット)は独立– 判別器ごとにノイズの性質が異なる

    • パラメータは j ごとに決める

    – 非対称False positive rate ≠

    False negative rate

    1 2 , 0.5fε ε≠ ≠

  • 確率モデル1

    ( ) 2),,()(~exp),,|~( 1 jzjjjjjjjjjjjj zzzzzp γβψγβδγβ −+=・

    は正規化定数)(),,,( 21 jjjjz δψγβψ)|~()|~( 1 jj

    pj zzpp =Π=zz・

    ( ) 212 )(~exp jzjjjz −−× δψδ

    )(sy

    1z

    2z

    M

    pz

    1~z

    2~z

    M

    pz~

  • 通信路の同定

    ∑=

    =n

    i

    iipZL1

    );|~(log);~( δγ,β,zzδγ,β,・

    );~(maxarg)ˆˆˆ( δγ,β,δ,γ,β δγ,β, ZL=

    称性のコードに対する非対0=jz

    1

    I( 1, 1)ˆ : false negative rate

    I( 1)

    i ij ji

    j iji

    z zz

    ε= = −

    ==

    ∑∑

    %

    2

    I( 1, 1)ˆ : false positive rate

    I( 1)

    i ij ji

    j iji

    z zz

    ε= − =

    == −

    ∑∑

    %

    ∑∑

    =

    ===

    iij

    iij

    ij

    j zzz

    f)0I(

    )1~,0I(ˆ

    jj

    jjj

    21

    21

    ˆˆ)ˆ1)(ˆ1(

    log41ˆ

    εεεε

    β−−

    =・j

    jj f

    fˆ1

    ˆlog

    21ˆ

    −=δ

    )ˆ1(ˆˆ)ˆ1(

    log41ˆ

    21

    21

    jj

    jjj εε

    εεγ

    −=

    が小さい程大きいjj 21 ˆ,ˆ εεな程大きい

    がアンバランスjj 21 ˆ,ˆ εε

  • ラベルの復号

    )ˆˆˆ;~()()ˆˆˆ;|~()~|(

    δ,γ,βzzδ,γ,βzzzz

    pppp =・

    ⎪⎩

    ⎪⎨

    ⎧==

    = ∑=otherwise0

    if)(I1)( 1

    列の判別問題では

    jWjynp

    n

    i

    i zz

    復号)で復号(MAP)~|(maxargˆ zzz z p=

    パターンのみは探索すべき Gz

    個のパターンは本来 p2z

  • Hamming decodingとの関連),,1(0,0:)( pjyp jj L=== δγ一様分布、・

    ⎟⎟⎠

    ⎞⎜⎜⎝

    ⎛∝⇒ ∑

    =

    p

    jjjj zzp

    1

    ~exp)~|( βzz

    ∑=

    −=

    p

    j

    jjj

    zzp

    1 2

    ~1maxarg)~|(maxarg βzz zz

    Hamming distance⇒重みつき

    ハミング復号の仮定各2値判別器が同じ性質を持つ2種の過誤の割合が等しい各クラスが同じサンプル数を持つ

  • 確率モデル2

    ∑ ΒΒ=z

    zzz~

    )~exp(/)~exp()|~( yT

    yTyp

    ベクトル1: ×Β py各判別器は独立

    の列しか値をとれないはWzz p ),,( 1 L=z

    pz~

    1~z

    y2

    ~z

    Mŷ

    My

    1z

    2z

    M

    pz

    1~z

    2~z

    M

    pz~

  • 数値実験:人工データ

    • 50回の繰り返し– 200点の訓練データ、2000点のテストデータ

    • 評価モデル– モデル1およびモデル2– 各2値判別器はSVM– カーネルはRBFカーネルと多項式カーネル

    • 比較モデル– Multi-class SVM (C-SVM, Spoc-SVM)– カーネルはRBFカーネルと多項式カーネル– 各2値判別器をSVMとしたECOCでHamming decoding

  • 数値実験:人工データの例

    −1.0 −0.5 0.0 0.5 1.0

    −1.

    0−

    0.5

    0.0

    0.5

    1.0

    x1

    x2

  • 数値実験:訓練誤差

    0.2

    0.3

    0.4

    0.5

    0.6

    Tra

    inin

    g er

    ror

    Spoc.RbfSpoc.PolyC.RbfC.PolyHamm.RbfHamm.PolyProp1.RbfProp1.PolyProp2.RbfProp2.Poly

  • 数値実験:テスト誤差

    0.25

    0.30

    0.35

    0.40

    0.45

    0.50

    0.55

    0.60

    Tes

    t err

    orSpoc.RbfSpoc.PolyC.RbfC.PolyHamm.RbfHamm.PolyProp1.RbfProp1.PolyProp2.RbfProp2.Poly

  • UCIデータセット:テスト誤差

    0.13424±0.011780.04852±0.00715

    0.16400±0.01278 0.06805±0.01000

    0.14862±0.012410.07595±0.01323

    Glass

    0.01291±0.004190.03360±0.00996

    0.01331±0.004880.03794±0.00914

    0.01834±0.008170.03286±0.00793

    Wine

    0.04027±0.007150.03380±0.00859

    0.03967±0.007840.03667±0.00790

    0.04293±0.008960.03600±0.00858

    Iris

    0.151430.07619

    0.170480.05810

    0.164000.07381

    Segmentation

    0.121500.14550

    0.120500.14050

    0.117500.16400

    Satimage

    0.035010.03355

    0.053090.03384

    0.050760.04142

    Ann-thyroid

    Proposed: RBFProposed: Poly

    C-svm: RBFC-svm: Poly

    Spoc-svm:RBFSpoc-svm: Poly

  • マルチカテゴリ問題

    • マルチカテゴリ問題とは– 入力に複数のラベル(タグ)が付与されている問題

    • 例)WEBにおけるテキスト分類、Gmail等

    仕事

    遊び

    友人

    メルマガM

    メール1 1

    1

    1−

    1−メール2

    1−

    1

    1

    1−

    • 既存手法:– 各カテゴリを判別問題として解く– 多項分布の拡張(PMM)– SVMを応用

    カテゴリ

  • 2値判別器のナイーブな適用

    カテゴリ1

    カテゴリ1以外

    判別器f1

    判別器f2

    カテゴリ2

    カテゴリ2以外

    判別器f3

    カテゴリ3以外

    カテゴリ3

    入力x カテゴリラベル列y 1 2 3

    ( 1, -1, -1)

    ( 1, 1, -1)( 1, -1, 1)

    (-1, 1, 1)

    1x2x3x4x

    ))(3),(2),(1(:

    xxx fff予測

  • 判別器の誤り⇔ビット反転ノイズ

    を同定)|)(),(( yp xgxf

    ECOCによるマルチカテゴリ分類

    入力 カテゴリラベルy1 2 3

    ( 1, -1, -1)

    ( 1, 1, -1)( 1, -1, 1)

    (-1, 1, 1)

    1x2x3x4x

    パリティビット列z1 2 3 4 5

    ( -1, 1, -1, 0, 0)

    ( 0, 1, -1, 0, 1)( 1, -1, 1, 1, 0)

    ( 1, 0, 1,-1,-1)+

    ),,()( 321 fff=xf ),,,,()( 54321 ggggg=xg

    パリティz=z(y)はカテゴリラベル列yから一意に決まる

  • マルチカテゴリの推定

    • カテゴリラベル列 y の推定(MAP復号)

    • 問題点:可能な y のバリエーションは 2カテゴリ数

    – 事前分布による拘束• (例)各入力は一度に多くのカテゴリに含まれない

    – 近似的周辺化アルゴリズムの援用• Belief propagation など

    )()|)(),(())(),(|( ypypyp xgxfxgxf ∝

    ))(),(|(maxarg xgxfypy

  • 実験用データ

    1

    1

    111

    11

    1

    1

    11

    1

    1

    11

    1

    1

    11

    1

    1

    1

    1 1

    1

    1

    1

    1

    11

    1

    1

    11

    1

    11

    1

    1

    1

    1

    1

    1

    1

    11

    11 1

    11

    1

    1

    1

    11

    1

    1

    1

    11

    1

    11

    1

    1

    5 10 15 20

    510

    1520

    x1

    x2

    22

    2

    2

    2

    2

    2

    2

    2

    2

    22

    22

    22

    2

    2 2

    2

    2 22

    2

    2

    22

    2

    22

    2

    22

    2

    2

    22

    22

    2

    3

    3

    3

    3

    3

    3

    3

    3

    333

    3

    3

    3

    3

    33

    3

    33

    33

    3

    33 3 3

    33

    3

    3

    3

    3

    3 3

    333

    3

    3

    33

    3

    3

    3

    3

    3

    3 3

    3

    3

    33

    33

    3

    3

    4

    44

    4

    4

    4

    44

    4

    4

    44

    4

    4

    4

    4

    444

    44

    4

    44

    4

    44

    4

    4

    4

    4

    4

    44

    44

    4

    4

    4

    4

    444

    44

    44

    44

    44

    4

    4

    4

    4

    4

    55

    5

    5

    5

    5

    55

    55555 5

    55

    5

    555555

    5

    5

    555

  • 結果:カテゴリの誤推定率

    20 40 60 80 100

    0.24

    0.26

    0.28

    0.30

    0.32

    Code length of parity

    Tes

    t err

    or SVMProposed method

  • ここまでのまとめ

    • ECOCの枠組みに基づき、多数の2値判別器の組み合わせによる多値判別法を構成

    – 判別誤りの非対称性を考慮– 特殊な場合としてHamming decodingを含む– Multi-class SVMよりも優れた性能

    • マルチカテゴリ問題への応用– カテゴリラベルにパリティを付加し冗長にすることで性能向上

    • Encoding問題への拡張

  • UCIデータセットの概要

    69214Glass33178Wine34150Iris 71921002102310Segmentation636200044356435Satimage321342837727200Ann-thyroid#Classes#Attributes#Test#Training#TotalDataset

    CV fold-5100×

    5-fold cross-validationを100回行い、平均挙動を見る

  • UCIデータセット:訓練誤差

    0.04509±0.003100.00676±0.00143

    0.08886±0.007810.00581±0.00119

    0.06481±0.006200.00931±0.00204

    Glass

    0.00445±0.001060.00000±0.00000

    0.00476±0.001230.00000±0.00000

    0.00063±0.000780.00000±0.00000

    Wine

    0.02290±0.002530.02343±0.00248

    0.02478±0.002660.02408±0.00283

    0.02248±0.002410.02422±0.00239

    Iris

    0.123810.03333

    0.171430.00952

    0.114290.02857

    Segmentation

    0.104620.11995

    0.106880.10485

    0.095150.12469

    Satimage

    0.025190.02386

    0.047450.02333

    0.043480.02572

    Ann-thyroid

    Proposed: RBFProposed:Poly

    C-svm: RBFC-svm:Poly

    Spoc-svm: RBFSpoc-svm:Poly

  • 多重検定の問題

    • (典型例)遺伝子発現に基づく有意遺伝子の抽出およびそれを用いた判別

    良いスコア(検定統計量)の選び方良いしきい値の決め方検定誤差の見積もり方

    各個検定が最適であること

    多重検定が全体として最適であること

    vs.

  • 遺伝子 i の発現レベル xiμi1 μi2

    σi

    μi1 = μi2対立仮説 H1: gene i is active

    対立モデル尤度:∏=

    =M

    jiiDjijiiii xNXg

    1

    221 ),;(),,|( σμσμμ

    μi1 = μi2帰無仮説 H0: gene i is inactive

    ∏=

    =M

    jiijii xNXf

    1

    2 ),0;()|( σσ帰無モデル尤度:

    class 1(tumor samples)

    class 2(non-tumor samples)

    有意遺伝子選択の問題

  • Neyman-Peason’s lemma

    • 単純仮説(パラメータを持たない)が前提• 非単純仮説では最尤推定値をプラグインした尤度比が漸近的に最強

    「尤度比は最強の検定スコアである」

    一定の有意水準 P( FP ) = αのもとで、検出力 ( 1−P( FN ) = 1−β ) が最大

    対立モデルの尤度

    )ˆ|()ˆ|(

    i

    iXf

    Xgϕ

    θ

    )()(

    XfXg

    帰無モデルの尤度

  • 遺伝子の有意性スコア

    • t-score (正規モデルの尤度比スコア)– i.e. S/N ratio

    • SAM score (Tusher, Tibshirani & Chu, 2001)

    • Empirical Bayes score (Efron, 2002)– 仮説の事後確率をスコアとする– 事前分布 P(σi) に関して多重性を利用した経験ベイズ推定値に基く

    i

    ii

    Smm || 21 − mij : 各クラス内標本平均

    Si : クラス内標準偏差(両クラス共通)

    μi1 μi2

    σi

    0

    21 ||SSmm

    i

    ii

    +−

    S0 : 全遺伝子で共通の定数

    さまざまな細かい改良

  • 多重検定における最良さ

    • 多重性を利用した場合に、単純な個別検定の繰り返しよりも良い検定ができないか?

    • 「最良」の多重検定スコアの定義

    – FPR: false positive rate (FDR) (第一種の過誤)– FNR: false negative rate (第二種の過誤)

    (Storey, 2005)

    EFP = E[FPR] が同程度である統計的検定の中でETP = E[1-FNR] を最大にする統計的検定をoptimal discovery procedure (ODP) と呼ぶ

  • ODP lemma (Storey, 2005)

    • 「以下の統計量に基く検定は ODP である」

    • 前提:– N個の単純帰無仮説 f1(X), f2(X), ..., fN(X)と

    N個の単純対立仮説 g1(X), g2(X), ..., gN(X)に基く多重検定–

    )(...)()()(...)()()(

    21

    21

    XfXfXfXgXgXgXS

    NMM

    MODP +++

    +++=

    ++ ∑∑

    ∈=

    0

    1

    )(

    )(

    Gii

    Gii

    Xf

    Xg

    ただし、 G1 = { 1, 2, ..., M } は対立仮説が真である遺伝子の集合、G0 = { M+1, M+2, ..., N } は帰無仮説が真である遺伝子の集合

    )(XSODP を全遺伝子 i=1,…,N に対して共通の統計量として用い、共通のしきい値を設定

  • 漸近ODP

    • 各X を構成するサンプル数無限大の極限で一致

    ∑∑

    ∈=

    0

    1

    )(

    )()(

    Gii

    Gii

    ODP Xf

    XgXS

    ∑∑

    =

    )ˆ|(

    )ˆ|()(ˆ

    Giii

    iii

    ODP Xf

    XgXS

    φ

    θ

    非単純仮説では帰無・対立仮説の確率密度関数は最尤推定パラメータに基いて決定

    実際の多重検定状況では真の集合 G0, G1 は未知そこで適当なしきい値にもとづく尤度比検定による決定で近似

  • 潜在変数モデルを対立仮説とした遺伝子選択

    center of class kfor gene i

    intra-class varianceof gene i

    (common amongclasses k=1,2)

    class labelprior of class k

    expression levelof gene i at sample j

    ∏=j

    jii xpXg )()|(

    )(θ

    • 各サンプル j の所属クラス k が必ずしも観測されない場合

    • 教師無し遺伝子選択・準教師付き遺伝子選択

  • 教師あり、教師なし、準教師ありスコア

    • 教師付き: P(k) P( k | y(j) )= I( k = y(j) )– 帰無仮説モデル H0: μi1 = μi2– 対立仮説モデル H1: μi1 = μi2

    このとき、尤度比スコアはt-検定で使われる S/N 比 と全く同等

  • 隠れ変数モデルに対するODP

    •ODPp パラメータを共有する

    •ODP パラメータと隠れ変数を共有する

    )ˆ|()(ˆ ii XgXg θ=

    )ˆ,|()(ˆ iii ZXgXg θ⋅⋅=

    ∑∑

    =

    )(ˆ

    )(ˆ)(ˆ

    Gii

    ii

    ODP Xf

    XgXS

    )|,...,(maxargˆ )()1( θθθ

    Miii xxp=

    ∑∏=

    =k

    M

    j

    ji

    ji

    ji kpkxp

    1

    )()()( )|(),|(maxarg θθθ

    )ˆ,|(

    ,}{

    )()(def

    2:1,:1

    ij

    ij

    iijk

    kMjijki

    xkpZ

    ZZ

    θ=

    = ==⋅⋅

    ∏ ∑=

    ⎟⎠

    ⎞⎜⎝

    ⎛=

    M

    j kiik

    jiijk xNZ

    1

    )( )ˆ,ˆ|( σμ

    ∏ ∑=

    ⎟⎠

    ⎞⎜⎝

    ⎛=

    M

    j kiik

    jixNkP

    1

    )( )ˆ,ˆ|()( σμ

  • 評価用人工データ

    非癌

    active genesinactive genes

    癌/非癌以外の8種の特徴量のいずれかに関して活性である遺伝子

    癌/非癌ラベルに対して活性である遺伝子

  • 教師あり、教師なしスコア

    activeinactive

    activeinactive

    Supervised score が検出したい遺伝子分類

    Unsupervised score が検出したい遺伝子分類

    非癌

  • 教師なしスコアの比較

    LikelihoodRatio

    ODPpθ のみ共有

    ODPθ と Z を共有

  • 準教師ありスコアの比較

    tumor non-tumor

    unknown samples

    Observation

    active genesinactive genes

  • 準教師ありスコア:実データ

    全N症例のクラスラベルのうち一部~全部を隠した場合のスコアランキングの変化

    前立腺がんデータ(公開)- 52 癌組織× 50 正常組織- 約 1万遺伝子

    オリジナルランキングと一部ラベルに基くランキングとの間の Spearman 順位相関

  • 準教師ありスコア:実データ

    大腸がんデータ- 40 癌組織× 22 正常組織- 約 2000遺伝子

    ラベルの順位相関 オリジナルの上位 1%遺伝子検出に関するAUC

  • 多重検定スコアのまとめ

    • ODP は、多重検定スコアの最適性をNeyman-Pearson の拡張によって定義する

    • 隠れ変数モデルを対立仮説とするとき、ODP には 2種類の自然な実装法がある

    • 隠れ変数を含む多重検定は、隠れ変数情報の共有によって性能が大きく向上する

    • 理論的側面の整備は不十分