誤り訂正出力符号の拡張による
多値判別法とその応用
奈良先端科学技術大学院大学
石井 信
多値判別の一般的枠組み
{
}
ラベル
入力、
・
x
:
y
∈
1
,
L
,
G
:
判別関数
・
F
(
x
,
y
)
∈
R
:
でラベルを決める
)
,
(
max
arg
yF
x
y
( , )
F
x
y
をどの様に構成するのか?
の同時分布
・
p
(
x
,
y
)
:
x
,
y
( , )
( ( | ))
F
x
y
=
u p y
x とするとベイズ最適
は単調増加関数
)
(z
u
• 多値判別関数 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
1
1
1
1
1
1
1
1
1
0
1
0
1
0
1
1
W
−
−
⎛
⎞
⎜
−
−
⎟
⎜
⎟
⎜
−
−
⎟
= ⎜
⎟
−
⎜
⎟
⎜
−
⎟
⎜
⎟
⎜
−
⎟
⎝
⎠
2
/
)
1
2
3
(
max
p
=
G−
G+1+
Class 1 2 32値判別1
2値判別2
2値判別3
:
301
90
25
6
1
6
5
4
3
2
ハミング復号
1 11
1
1
1
0
1
y
⇓
−
⎛
⎞
⎜
⎟
⎜
⎟
⎜
−
⎟
= ⎜ ⎟
−
⎜
⎟
⎜
⎟
⎜
⎟
⎜
⎟
⎝
⎠
z
1
1
1
1
1
0
n ny
⇓
⎛
⎞
⎜
−
⎟
⎜
⎟
⎜
−
⎟
= ⎜ ⎟
−
⎜
⎟
⎜
⎟
⎜
⎟
⎜
⎟
⎝
⎠
z
L
L
M
W
ix
iz~
{ }
1, 1 ) ( 1 x ∈ − f{ }
1, 1 ) ( 2 x ∈ − f{ }
1, 1 ) (x ∈ − fp⎠
⎞
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎝
⎛
−
−
−
−
−
−
−
−
−
−
1
1
0
1
0
1
0
1
1
1
1
1
1
1
1
1
1
1
ハミング距離最小のコードワードによってラベルを決める基本コンセプト
))
(
,
),
(
(
~
2
値判別器
z
=
f
1x
L
f
px
⎟
⎟
⎟
⎟
⎟
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎜
⎝
⎛
=
)
(
)
(
)
(
~
2 1 i p i i if
f
f
x
x
x
z
M
M
M
( ,
)
1
1
1
1
0
1
i i iy
⇓
−
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎜ ⎟
−
= ⎜ ⎟
−
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎜ ⎟
⎝ ⎠
x
z
各判別器の判別誤り
ビット反転ノイズ
⇔
)
|
~
(
z
z
p
確率モデル
)
~
|
(
max
arg
zp
z
z
)
(
)
|
~
(
)
~
|
(
z
z
p
z
z
p
z
p
∝
復号法
確率モデルの仮定
• 3元(1,0,-1)入力、2元出力(1,-1)通信路
• 多値判別における仮定
– 各2値判別器(ビット)は独立
– 判別器ごとにノイズの性質が異なる
• パラメータは j ごとに決める– 非対称
False positive rate ≠
False negative rate
1 2, f 0.5
確率モデル1
(
)
2 ) , , ( ) ( ~ exp ) , , | ~ ( 1 zj j j j j j j j j j j j j z z z z z pβ
γ
δ
=β
+γ
−ψ
β
γ
・は正規化定数
)
(
),
,
,
(
2 1z
jβ
jγ
jψ
δ
jψ
)
|
~
(
)
|
~
(
pj 1p
z
jz
jp
z
z
=
Π
=・
(
)
2 1 2( ) ~ exp zj j j j z − − ×δ
ψ
δ
)
(s
y
1z
2z
M
pz
1~
z
2~
z
M
pz~
yˆ
通信路の同定
∑
= = n i i i p Z L 1 ) ; | ~ ( log ) ; ~ ( β,γ,δ z z β,γ,δ ・)
;
~
(
max
arg
)
ˆ
ˆ
ˆ
(
β
,
γ
,
δ
=
β,γ,δL
Z
β,
γ,
δ
称性 のコードに対する非対 0 = j z 1 I( 1, 1)ˆ : false negative rate
I( 1) i i j j i j i j i z z z ε = = = − =
∑
∑
% 2 I( 1, 1)ˆ : false positive rate
I( 1) i i j j i j i j i z z z ε = = − = = −
∑
∑
%∑
∑
= = = = i i j i i j i j j z z z f ) 0 I( ) 1 ~ , 0 I( ˆ j j j j j 2 1 2 1 ˆ ˆ ) ˆ 1 )( ˆ 1 ( log 4 1 ˆε
ε
ε
ε
β
= − − ・ j j j f f ˆ 1 ˆ log 2 1 ˆ − = δ ) ˆ 1 ( ˆ ˆ ) ˆ 1 ( log 4 1 ˆ 2 1 2 1 j j j j jε
ε
ε
ε
γ
− − = が小さい程大きい j j 2 1 , ˆ ˆ ε ε な程大きい がアンバランス j j 2 1 , ˆ ˆ ε εラベルの復号
)
ˆ
ˆ
ˆ
;
~
(
)
(
)
ˆ
ˆ
ˆ
;
|
~
(
)
~
|
(
δ
,
γ
,
β
z
z
δ
,
γ
,
β
z
z
z
z
p
p
p
p
=
・
⎪⎩
⎪
⎨
⎧
=
=
=
∑
=otherwise
0
if
)
(
I
1
)
(
1の
列
判別問題では
p
n
y
j
W
j
n i iz
z
復号)
で復号(MAP
)
~
|
(
max
arg
ˆ
z
z
z
=
zp
パターンのみ
は
探索すべき
z
G
個
のパターンは本来
p2
z
Hamming decodingとの関連
)
,
,
1
(
0
,
0
:
)
(
y
j
p
p
一様分布、
γ
j=
δ
j=
=
L
・
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
∝
⇒
∑
= p j j j jz
z
p
1~
exp
)
~
|
(
z
z
β
∑
=−
=
p j j j jz
z
p
12
~
1
max
arg
)
~
|
(
max
arg
zz
z
zβ
Hamming distance
⇒ 重みつき
9 ハミング復号の仮定
¾ 各2値判別器が同じ性質を持つ ¾ 2種の過誤の割合が等しい ¾ 各クラスが同じサンプル数を持つ確率モデル2
∑
Β
Β
=
zz
z
z
~)
~
exp(
/
)
~
exp(
)
|
~
(
y
T y T yp
ベクトル
1
:
×
Β p
y各判別器は独立
の列しか値をとれない
はW
z
z
,
,
p)
(
1L
=
z
pz~
1~
z
y
2~
z
M
yˆ
M
y
1z
2z
M
pz
1~
z
2~
z
M
pz~
yˆ
数値実験:人工データ
• 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 Training error Spoc.Rbf Spoc.Poly C.Rbf C.Poly Hamm.Rbf Hamm.Poly Prop1.Rbf Prop1.Poly Prop2.Rbf Prop2.Poly数値実験:テスト誤差
0.25 0.30 0.35 0.40 0.45 0.50 0.55 0.60 Test error Spoc.Rbf Spoc.Poly C.Rbf C.Poly Hamm.Rbf Hamm.Poly Prop1.Rbf Prop1.Poly Prop2.Rbf Prop2.PolyUCIデータセット:テスト誤差
0.13424±0.01178 0.04852±0.00715 0.16400±0.01278 0.06805±0.01000 0.14862±0.01241 0.07595±0.01323 Glass 0.01291±0.00419 0.03360±0.00996 0.01331±0.00488 0.03794±0.00914 0.01834±0.00817 0.03286±0.00793 Wine 0.04027±0.00715 0.03380±0.00859 0.03967±0.00784 0.03667±0.00790 0.04293±0.00896 0.03600±0.00858 Iris 0.15143 0.07619 0.17048 0.05810 0.16400 0.07381 Segmentation 0.12150 0.14550 0.12050 0.14050 0.11750 0.16400 Satimage 0.03501 0.03355 0.05309 0.03384 0.05076 0.04142 Ann-thyroid Proposed: RBF Proposed: Poly C-svm: RBF C-svm: Poly Spoc-svm:RBF Spoc-svm: Polyマルチカテゴリ問題
• マルチカテゴリ問題とは
– 入力に複数のラベル(タグ)が付与されている問題
• 例)WEBにおけるテキスト分類、Gmail等 仕事 遊び 友人 メルマガM
メール11
1
1
−
1
−
メール21
−
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)
1x
2x
3x
4x
))
(
3
),
(
2
),
(
1
(
:
x
x
x
f
f
f
予測
判別器の誤り⇔ビット反転ノイズ
を同定
)
|
)
(
),
(
(
y
p
f
x
g
x
ECOCによるマルチカテゴリ分類
入力 カテゴリラベルy 1 2 3( 1, -1, -1)
( 1, 1, -1)
( 1, -1, 1)
(-1, 1, 1)
1x
2x
3x
4x
パリティビット列z 1 2 3 4 5( -1, 1, -1, 0, 0)
( 0, 1, -1, 0, 1)
( 1, -1, 1, 1, 0)
( 1, 0, 1,-1,-1)
+
)
,
,
(
)
(
x
=
f
1f
2f
3f
g
(
x
)
=
(
g
1,
g
2,
g
3,
g
4,
g
5)
パリティz=z(y)はカテゴ リラベル列yから一意に 決まるマルチカテゴリの推定
• カテゴリラベル列 y の推定(MAP復号)
• 問題点:可能な y のバリエーションは 2
カテゴリ数– 事前分布による拘束
• (例)各入力は一度に多くのカテゴリに含まれない– 近似的周辺化アルゴリズムの援用
• Belief propagation など)
(
)
|
)
(
),
(
(
))
(
),
(
|
(
y
p
y
p
y
p
f
x
g
x
∝
f
x
g
x
))
(
),
(
|
(
max
arg
yp
y
f
x
g
x
実験用データ
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 10 15 20 5 1 01 52 0 x1 x2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5結果:カテゴリの誤推定率
20 40 60 80 100 0.24 0.26 0.28 0.30 0.32Code length of parity
Test error
SVM
ここまでのまとめ
• ECOCの枠組みに基づき、多数の2値判別
器の組み合わせによる多値判別法を構成
– 判別誤りの非対称性を考慮
– 特殊な場合としてHamming decodingを含む
– Multi-class SVMよりも優れた性能
• マルチカテゴリ問題への応用
– カテゴリラベルにパリティを付加し冗長にする
ことで性能向上
• Encoding問題への拡張
UCIデータセットの概要
6 9 214 Glass 3 3 178 Wine 3 4 150 Iris 7 19 2100 210 2310 Segmentation 6 36 2000 4435 6435 Satimage 3 21 3428 3772 7200 Ann-thyroid #Classes #Attributes #Test #Training #Total DatasetCV
fold
-5
100
×
5-fold cross-validationを100回行い、平均挙動を見る
UCIデータセット:訓練誤差
0.04509±0.00310 0.00676±0.00143 0.08886±0.00781 0.00581±0.00119 0.06481±0.00620 0.00931±0.00204 Glass 0.00445±0.00106 0.00000±0.00000 0.00476±0.00123 0.00000±0.00000 0.00063±0.00078 0.00000±0.00000 Wine 0.02290±0.00253 0.02343±0.00248 0.02478±0.00266 0.02408±0.00283 0.02248±0.00241 0.02422±0.00239 Iris 0.12381 0.03333 0.17143 0.00952 0.11429 0.02857 Segmentation 0.10462 0.11995 0.10688 0.10485 0.09515 0.12469 Satimage 0.02519 0.02386 0.04745 0.02333 0.04348 0.02572 Ann-thyroid Proposed: RBF Proposed:Poly C-svm: RBF C-svm:Poly Spoc-svm: RBF Spoc-svm:Poly多重検定の問題
• (典型例)遺伝子発現に基づく有意遺伝子
の抽出およびそれを用いた判別
9 良いスコア(検定統計量)の選び方
9 良いしきい値の決め方
9 検定誤差の見積もり方
各個検定が最適であること 多重検定が全体として最適であること vs.遺伝子 i の 発現レベル xi
μ
i1μ
i2σ
iμ
i1= μ
i2 対立仮説 H1: gene i is active 対立モデル尤度:∏
= = M j i iDj ij i i i i N x X g 1 2 2 1, , ) ( ; , ) | (μ
μ
σ
μ
σ
μ
i1= μ
i2 帰無仮説 H0: gene i is inactive∏
= = M j i ij i i N x X f 1 2 ) , 0 ; ( ) | (σ
σ
帰無モデル尤度: class 1 (tumor samples) class 2 (non-tumor samples)有意遺伝子選択の問題
Neyman-Peason’s lemma
• 単純仮説(パラメータを持たない)が前提
• 非単純仮説では最尤推定値をプラグイン
した尤度比が漸近的に最強
「尤度比は最強の検定スコアである」
一定の有意水準 P( FP ) = α のもとで、 検出力 ( 1−P( FN ) = 1−β ) が最大 対立モデルの尤度)
ˆ
|
(
)
ˆ
|
(
i iX
f
X
g
ϕ
θ
)
(
)
(
X
f
X
g
帰無モデルの尤度遺伝子の有意性スコア
• t-score
(正規モデルの尤度比スコア) – i.e. S/N ratio• SAM score (Tusher, Tibshirani & Chu, 2001)
• Empirical Bayes score (Efron, 2002)
– 仮説の事後確率をスコアとする – 事前分布 P(σi) に関して多重性を利用した経験ベイズ推 定値に基く i i i S m m | | 1 − 2 mij : 各クラス内標本平均 Si : クラス内標準偏差(両クラス共通) μi1 μi2 σi 0 2 1 | | S S m m i i i + − S0 : 全遺伝子で共通の定数 さまざまな細かい改良
多重検定における最良さ
• 多重性を利用した場合に、単純な個別検定
の繰り返しよりも良い検定ができないか?
• 「最良」の多重検定スコアの定義
– FPR: false positive rate (FDR) (第一種の過誤)
– FNR: false negative rate (第二種の過誤)
(Storey, 2005) EFP = E[FPR] が同程度である統計的検定の中で ETP = E[1-FNR] を最大にする統計的検定を