Comments
Description
Transcript
統計的パターン認識: 線型判別からアダブーストまで
統計的パターン認識: 線型判別からアダブーストまで 情報・システム研究機構 統計数理研究所 江口 真透 [email protected] 1 はじめに 統計的パタン認識の方法論は, 1990 年代より機械学習 の分野から新しい学習アルゴリズムが提案され, 多方 面の進展が見られる.フィッシャーが提案した線型判 別関数からロジステック判別関数へ進んだ 統計学の分 野においても,この進展に刺激され,これらの方法の 統計的意味の検討から新たな提案がなされた.特にア ダブーストとサポートベクターマシンは急速に適用範 囲を拡大した.アダブーストを代表とするブースティ ング法は,必ずしも強力ではない幾つかの学習機械を 結合させ,一つの強力な機械に集約する方法である. 幾つかの与えられた例題を学習して,結合された学習 機械が予測の性能を上げることを目指す.ここで学習 機械とは,入力の特徴ベクトルからそのクラスラベル を出力するユニットを指し,学習機械は統計学で呼ば れる識別子と同一視してよい.機械学習のもう一つの 方向であるサポートベクターマシン (SVM) は,数理 計画法を巧みに援用し,マージンの最大化によって実 装されるアルゴリズムである.カーネル空間上にデー タを考えることによって高次元空間への埋め込みから 有効な識別空間が構成されている.この論説では統計 的な視点から全体を見渡し,線型判別からアダブース トまでの方法について,統計的方法論としての位置付 けを解説したい. 2 課題設定 統計的パタン認識とは,人間の持つ ‘予測する本能 ’と いうべき基本的性質の数学的な定式化である.統計的 パタン認識の枠組みは,特徴ベクトル x と, そのクラ スラベル y から構成される.x から y への写像を識別 子 h という.良い識別子 h とは,クラスラベル y を予 測するために x の中から特徴的なパターンを引き出す ことである. x を入力,y を出力と見なして h のことを学習機 械と呼ぶこともある.この簡単な記述でパタン認識の 枠組みは完成する.乱暴な言い方になるが,この文脈 では医師とはカルテ x から患者の病気 y を診断する学 習機械である. (実際には医師はカルテ以外の情報から ) も判断するので,正確にはカルテは x の一部である. 学習は識別子 h を構成する過程で特徴ベクトルと クラスラベルの n 組のトレーニングデータ Dtrain = {(x1 , y1 ), · · · , (xn , yn )} (1) を何度も使う.例えば,ある識別子 h を考えたとき に Dtrain の n 個の例題に対して,h が間違えた例題 (xi , yi ),すなわち h(xi ) = yi となる例題の数の割合 (トレーニング・エラーレイト)を調べることである. パタン認識の方法は実に多くの応用例を包含する が,最初の実行例はフィッシャーによるアヤメの測定 値からなる 4 次元ベクトル x から 3 種からなるの品 種 y を予測するために用いた.以来,人間が注目する カテゴリカルな結果変数の予測の問題にパタン認識の 方法が適用されている. リスクの問題では危惧する結果をクラスラベルで 表し,ベネフィットの問題では享受できる利益をクラ スラベルが表す.利潤と損益,良品と不良品,正常と 故障,健康と疾病,営業と破産,本物と偽者,勝利と 敗退,合格と不合格など,ありとあらゆる結果を対照 化するクラスラベル y が考えられる.その結果を原因 するかもしれない全ての対象が特徴ベクトル x になり うる.このように x の一部には音声データや画像デー タや動画データなどが含まれることもあるが,ここで は,それらをひっくるめて,一本の p 次元のベクトル として扱う.特徴量の一部に,例えば 100 万画素の画 像を含めば,その特徴ベクトル x は成分の一部に辞書 式に 100 万次元の画素値が並ぶことになる. このように現代社会では多くのものが IT 化され ているので,特徴次元 p は巨大化する傾向があるがサ ンプル数 n は従来の規模に留まることが多い.医療の 現場ではカルテは電子化され,画像データなども添付 されるようになったことから巨大な p が得られるが, データが共有できる患者数 n は電子化前とそんなに変 動はない.この問題を p n 問題と呼び,機械学習 のパタン認識の方法の提案の契機の一つになった.バ イオインフォマティクスは p n 問題に直面する典 型的な分野である [5]. アダブーストとは,ブースティング技法の一つで あり [9, 17, 18, 11, 7, 8],直接に統計的パタン認識の 方法を提案するものではない.アダブーストを実行す るためには幾つかの統計的パタン認識の方法が用意さ れていることを前提にする.ただし,それらの方法は 優れた性能を持つ必要はない.特に優れた性能を持つ 方法があれば,アダブーストの出番はなくて,その優 れた方法を採用すれば良いことになる. このように集められた弱い性能の方法(弱学習機) の集合に対してトレーニングデータを何度も再学習さ せ,訓練した弱学習機を集めて一つの学習機として結 合させる方法であり,このように学習機のアンサンブ ルによって,より高い予測能力を持つ識別子を作るこ とを目指している.アダブーストのキーとなる考え方 はトレーニングデータの一つ一つの例題に対して‘ あ る重み ’を与えることにある. 最初のステージでは全ての重みは一様に取られる が,それ以降のステージでは各々の例題に対する学習 機械の成績(判別結果)によって重みを自動的に変更 する.誤った例題はより高い重みが与えられるので, 弱学習機たちはトレーニングデータの中で難しい例題 に集中して再学習がおこなわれることになる.最終ス テージでは,訓練に参加した弱学習機の結果の重み付 き多数決によって結果を決める.このように生物が試 行錯誤による学習によって新しい能力を身に付けるプ ロセスを模倣して,よりよい判別機械を作ることを目 指している. 3 パターン認識 パタン認識の目的は n 組のトレーニングデータ (1) を学 習して,予測性能の優れた識別子 (学習機械) h : x → y を求めることにある.クラスラベル y の取る値域を Y = {1, · · · , g} とする.実はこれから解説していく 方法の全ては,識別子 h(x) を直接に導くのではなく 判別関数 F (x, y) の y に関する最大化によって定義す る.このように x を固定した F (x, y) が y に関して y = h(x) のときに最大となると定義する.数学記号 で書くと 4 4 つの方法 これから 4 つのタイプの判別関数についてみることに しよう. (i) フィッシャー判別関数: F (f) (f) (f) (3) () (4) (x, y) = α1 (y)T x + α0 (y). (ii) ロジスティック判別関数: F () () (x, y) = α1 (y)T x + α0 (y) (iii) ブースティング判別関数: F (b) (x, y) = T (b) (b) αi hi (x, y) (5) i=1 (b) ここで hi (x, y) は判別関数で詳細は後ほど定義する. (iv) カーネル SVM 判別関数: F (s) (x, y) = n (s) (s) αi (y)K(xi , x) + α0 (y) (6) i=1 ここで K(xi , x) はカーネル関数で, {xi } はトレーニ ングデータ (1) の一部である. どの 4 つの判別関数も, ある意味で線型である.特 に F (f) と F () は全く同じ形で特徴ベクトル x の成 分の線型結合で,係数が異なるだけである.あとで, トレーニングデータ Dtrain から学習する係数 (f) (f) (f) T T (7) () () () T T (8) α1 = (α0 (y), α1 α1 = (α0 (y), α1 ) , ) , の比較をする.どちらも 2 次の項 αij (y)xi xj ij h(x) = argmax F (x, y) y∈Y である.言い換えると F (x, h(x)) = maxy∈Y {F (x, y) のことである.全ての判別関数の全体を F と全ての 識別子の全体を H とすると,任意に固定した h ∈ H に対して Fh = {F (x, y) : h(x) = argmax F (x, y)} y∈Y (2) の中の任意の判別関数は同じ識別子 h(x を定義する ので冗長な集合と言える.このように判別関数の最大 化によって識別子を構成しているが,この意味で判別 関数とは識別子を作る作業プロセスのような役割があ る.これから紹介するパタン認識の方法も全てこの判 別関数 F (x, y) を与えることに識別子の提案を行って いる. を加えることは可能であるが,係数パラメータから見 れば,やはり線型であることに注意する. F (b) は特徴ベクトル x の成分の線型結合ではな く,判別関数の線型結合で定義される.Dtrain から係 (b) (b) S 数 (αi (y))S i=1 だけでなく同時に (hi (x))i=1 も学習 する巧妙な仕組みはあとで解説する. F (s) も特徴ベクトル x を直接扱うのでは,カーネ ル空間であたかも学習したかのような仕掛けによって 線型性を得ている.係数パラメータの数がちょうどト レーニングデータのサンプル数に一致していることに 注意する. このように異なる点もあれば,非常に似通った点も ある.あとで解説されるようにフィッシャーカーネル, ロジットブーストなど古典的な方法の (i) と (ii) は,機 械学習の方法 (iii) と (iv) とうまく組み合わせることに よって新しい方法が提案されている.またブースティ ングとカーネル法の組み合わせも考えられている. 最も応用が多い 2 値判別の場合,(g = 2) はクラス ラベルの集合を {1, 2} を {−1, +1} に変えて扱うこと が標準となる.こうしてラベルを張り替えて判別関数 も G(x) = F (x, +1) − F (x, −1) によって変更すると, と与えられる.ここで α(f) (y) = (α(f) (y))n i=1 とする. これからフィッシャーの判別関数 (3) は求まる. 一方でロジスティック判別は条件付尤度関数から 求まる.正規性の仮定 (11) を課すと p(y|x) は π(y)ϕ(x, μy , V ) y =1 π(y )ϕ(x, μy , V ) h(x) = sign{F (x)} g と書き直される.ここで sign は符合を表す.ここで 判別関数 G(x) は符号と絶対値を持つが,利用される のは符号だけである.やはり,2 値の場合も (3), (4), (5), (6) と同様に G (f) , G () , G (b) , G (s) が定義され, 多値の場合と 2 値の場合とで本質的な違いはない. 5 フィッシャーとロジスティック判別 さて,p 次元の特長ベクトル x と g 値のクラスラベル y に対してトレーニングデータ (1) が与えられたとし よう.このとき,(x, y) のデータ分布を r(x, y) = f (x|y)π(y) (9) = p(y|x)q(x) (10) と書くことにする.ここで f (x|y) は y を与えた x の 条件付分布で,π(y) は y の周辺分布,p(y|x) は x を与 えた y の条件付分布で,q(x) は x の周辺分布である. フィッシャー判別は勿論,最尤法から導出される. クラスラベル条件付分布 f (x|y) を p 次元正規分布 f (x|y) = ϕ(x, μy , V ) = exp{− 21 Δ(x − μy , V )} (2π)p det(V ) であると仮定する.ここで Δ(x − μy , V ) = (x − μy )T V −1 (x − μy ) はマハラノビスの 2 乗距離と呼ばれる.この仮定はク ラスラベル条件付分布の分散行列が等しいことも意味 する.これより,トレーニングデータ (1) からの対数 尤度関数は L(μ1 , · · · , μg , V ) = n log ϕ(xi , μyi , V ) + const. i=1 なので n − 1 n Δ(xi − μyi , V ) − log det(V ) + const. 2 i=1 2 となる.従って最尤推定量 (μ1 , · · · , μg , V ) = argmax L(μ1 , · · · , μg , V )(11) μ1 ,··· ,μg ,V は簡単に得られて, (f) α0 (y) = 1 (f) Δ(μy , V ), α1 (y) = V −1 μy 2 (12) exp{α1 (y)T xi + α0 (y)} T y =1 exp{α1 (y ) xi + α0 (y )} = g (13) となる.この (13) を p(y|x, α(y)) と書くと対数条件 付尤度関数は Lcond (α(1), · · · , α(g)) = n log p(yi |xi , α(yi ))(14) i=1 となり, ( α() (1), · · · , α() (g) ) = argmax α (1),··· ,α (g) Lcond (α (1), · · · , α (g)) (15) からロジスティック判別関数 (4) が学習される. 実際 には解 (15) は陽には得られないが,反復的再重み付 き最小 2 乗 (IRLS) アルゴリズムによって高速に解け る.統計言語 R には IRLS が実装されている. このようにしてフィッシャー判別関数とロジスティッ ク判別関数の係数パラメータ (7) と (8) は与えられる が,かなり相違点があることに注意する.フィッシャー 判別関数はトレーニングデータ (1) からクラスごとに p 次元正規分布の平均ベクトルを学習し,全体で分散 行列を学習する.それら (11) と係数パラメータ (7) と の関係からプラグ・インによって (12) を導く.この ように gp + p(p + 1)/2 次元パラメータ学習 (11) から (g − 1)(p + 1) 次元パラメータ学習 (12) に落とした過 程で自由度 p(p + 1)/2 + 1 のパラメータは無駄になる. この点からパラメータ学習 (11) が困難なときは,直 接にフィッシャー判別関数に悪影響を及ぼす.しかし ながら,適切な p と n の関係があると,仮定 (11) が 必ずしも成立してなくても良い性能を持つことが知ら れている.実際,未だに多くの適用例を持つ. 一方でロジスティック判別関数は,直接に (g−1)(p+ 1) 次元パラメータ学習 (15) が求まる.トレーニング データ (1) が完全分離のときは学習が不安定になるこ とが報告されているがいろいろな回避策がある.統計 的な比較は [1] に詳しい考察がある. その後の発展に よって判別関数の線形性はニューラルネットワークモ デルやツリーモデルの CART などによって非線形に 拡張されるが,基本的には Dtrain から x の関数形を モデル化するパラメータを学習する方法であるという 点では違いがない.特徴ベクトルにカテゴリカルな変 数を含むときは,ほぼ確実にロジスティック判別関数 が採用される.ROC 曲線の下側面積,メディカル・ス クリーニング,クレジット・スコアリングなどに対応 するロス関数をモデル (13) の下で定式化すると,自 然にロジスティック型判別関数が得られる [2]. 6 ブースティング技法 6.1 指数ロス関数 機械学習の分野から提出された「弱い識別子を組み合 わせて,果たして強い識別子が構成できるのか?」と いう問題 [17] に対して活発な議論の末に出されたのが アダブーストの学習アルゴリズムである [9, 18, 11]. 弱い学習機械 h : x → y の集合 H を準備する.この準 備がブースティング法に共通する最も大切な手続きで ある.弱い学習機械として決定スタンプや部分ツリー などが網羅的に用意されることが典型的である.ここ で,識別子 h(x) を使って判別関数 1 if y = h(x) h(x, y) = (16) 0 othewise を定義する.h(x, y) は (2) で定義された空間 Fh の中 で最も情報をそぎ落とした判別関数と言える.すぐ後 に紹介されるようにこの埋め込みをブースティングで はうまく使っている. 次に定義される指数ロス関数 g n 1 Lexp (F ) = exp{F (xi , y) − F (xi , yi )} n i=1 y=1 からアダブースト (5) は導かれる.学習アルゴリズム は Ft−1 (x, y) から更新 Ft (x, y) = Ft−1 (x, y) + αt h∗t (x, y) を次のように h∗t = argmin ∇Lexp (Ft−1 , h) (17) αt = argmin Lexp (Ft−1 + αh∗t ) (18) h∈H である.(17) と (19) が等価であり, (18) を素直に解 くと (20) になる.このようにアダブーストは指数ロ ス関数を (h, α) の逐次勾配アルゴリズムと見なせる. 最も特徴的なステップは (17) で,集合 H に対して全 探索され,‘greedy step’ と呼ばれる.重み付けエラー レイトの特徴は全てのステップで εt+1 (ht ) = 12 とな ることで,現時点で最良であった識別子 h∗t は更新し た重み付けエラーレイトではランダムゲスとして貶め られている.これより,次のステップで最良の識別子 h∗t+1 は h∗t とは全く異なる性能の識別子が選ばれる仕 組みになっている. 通常は初期条件として F1 (x) = 0 を選んで wt (i) = 1/n から反復を進めて期待指数ロスを推定しながら停 止規則を設計して t = T において学習を停止させる が,早い時期の停止規則が推奨されている [22].この ようにしてアダブースト (5) は導かれる.全小節の古 典的な判別関数 (3),(4) と線型の意味では同じである が,予め用意された識別子の線型結合であるところが 最も特徴的であり,x のクラスラベル y は投票 h∗t (x) の重み αt の重み付け多数決によって決められている. 原理的には特徴ベクトルを直接,学習しているの ではなく,識別子の集合から優れた識別子を選出する ので ‘p n’ 問題は極端な場合を除いては大きな障害 とはならない [10].極端な p n 問題に対してはグ ループアダブーストの方法が提案されている [21].ま たリモートセンシングの土地利用区分のパタン認識の 問題に,マルコフ・ランダムフィールドの構造を考慮 したアダブーストの提案がある [16]. ここでは初期条 件において F1 (x) は空間情報を無視した特徴空間から 学習した判別関数を採用し,スペース・アダブースト の学習アルゴリズムを開始している. α∈(0,∞) と定義する.ここで ∇Lexp (Ft−1 , h) は指数ロス関数 の h 方向の微分で ∂ Lexp (F + αh) ∇Lexp (F, h) = ∂α α=0 を表す.実はオリジナルな学習アルゴリズムの定義は, h∗t = argmin εt (h) h∈H αt = 1 1 log 2 − εt (h∗t ) εt (h∗t ) (19) (20) と与えられている.ここで εt (h) は重み付けエラーレ イトと呼ばれ, n wt (i)I(yi = h(xi )) i=1 で定義される.ただし I は定義関数で,重みは g y=1 exp{F (xi , y) − F (xi , yi )} wt (i) = n g i=1 y=1 exp{F (xi , y) − F (xi , yi )} 6.2 アダブーストの統計的な性質 トレーニングデータが従う分布の分解 (10) の下でア ダブーストの統計的な性質をみよう.特徴ベクトル x を与えたときの条件付分布(事後分布)p(y|x) に対し てベイズルールは hBayes = argmaxy∈Y log p(y|x) (21) で定義される. 一般に識別子 h の期待エラーレイトは err(h) = E {I(y = h(x))} (22) と書ける.ここで E はこの分布に関する期待値を表 し,(10) に対して err(h) = g {I(y = h(x))}p(y|x)q(x)dx X y=1 となる.期待エラーレイトを最小にする識別子はベイ ズルールである hBayes = argmin err(h) h∈H ことが知られている [4].テストエラー m 1 {I(yj∗ = h(x∗j ))} m j=1 (23) Lexp (F ) = E [ exp{F (x, k) − F (x, y)}] k=1 と定義される.このとき F ∗ = argmin Lexp (F ) F は,オイラー方程式を解いて F ∗ (x, y) − F ∗ (x, 1) = p(y|x) 1 log 2 p(1|x) (24) となる.このことは直ちに h∗ (x) = argmaxy∈Y F ∗ (x, y) はベイズルール (21) に一致することを主張する.この 性質をベイズルール一致性と言う.フィッシャーの判 別関数もロジスティック判別関数も, データ分布 (10) をパラメトリックモデルに仮定し,このベイズルール 一致性を目指したものである.このように指数ロス関 数は自然にアダブーストを定義し,しかも期待指数ロ スの最小化はエラーレイトを最小にするベイズルール と等価になることが分かる.言うまでもなく,私たち データ解析者にとって事後確率は未知なので, ベイズ ルールは架空の産物であり,トレーニングデータから 何らかの学習が必要なわけだ.更に式 (24) を逆に解 くと exp{2F ∗ (x, y)} p(y|x) = g ∗ k=1 exp{2F (x, k)} (25) となる.もし F ∗ (x) が H によって線型に J F ∗ (x) = 1 αj hj (x) 2 j=1 アダブーストとロジットブースト データ分布 r(x|y) = p(y|x)q(x) に対して正値測度関 数 ν(x, y) を考えよう.ここで ν は必ずしも確率測度 であることを仮定してないことに注意する.このとき, 拡張された Kullback-Leibler ダイバージェンスは DKL (r, ν) = g {p(y|x)q(x) log X y=1 r(x, y) ν(x, y) −r(x, y) + ν(x, y)}dx の 期 待 値 は 期 待 エ ラ ー レ イ ト で あ る .こ こ で (x∗j , yj∗ )m i=1 はトレーニングデータとは独立に取った テストデータとする. 上で考えたように指数ロス関数の期待値を考えよ う.このように期待指数ロス関数は g 6.3 (hj ∈ H) と書けたとすると (25) はロジスティック回帰モデルと 見なせる.この視点からアダブーストは逐次的にロジ スティック回帰モデルを連想しているとみることがで きる [2]. で定義される.実は ν を指数モデル ν(x, y) = exp[F (x, y) − E{F (x, y)|x}] (26) で定義すると拡張された Kullback-Leibler ダイバー ジェンスの第 1 項は相殺されて,F に依存しない項 だけが残る.従って,F に依存しない項を無視すると 最後の項の期待指数ロス関数だけが残る.このことか らアダブーストは,確率測度の空間の外でモデル関数 (26) を定義した場合の DKL 最小化の学習アルゴリズ ムと見なせる [13]. それでは,確率測度の空間の中にモデル関数を考 えて DKL 最小化を行うとどうなるだろうか?自然な 確率モデルは exp{F (x, y)} ν(x, y) = g k=1 exp{F (x, g)} (27) で,DKL によって連想される期待ロス関数は exp{F (x, y)} −E log g k=1 exp{F (x, g)} (28) となる.これは確率モデル (28) を DKL (r, μ) に代入 すると最初の項が残り,最後の項は確率測度なので定 数 1 になることから帰結される.これから自然にロス 関数 exp{F (x , y )} 1 i i log g (29) n i=1 exp{F (xi , g)} k=1 n Llog (F ) = が得られて,これを対数ロス関数と呼ぶ.これに基づ くブースティングは指数ロス関数の代わりにこの対数 ロス関数 (29) を (17) と (18) に適用することによって ロジットブーストが得られる. 節 4 で考察されたロジスティック判別について比 較しよう.実は F (x, y) = α(y)T x − α0 (y) とすれば対数ロス関数 (29) は平均を取った負の条件付 尤度 (14) と一致することが式 (13) から分かる.この ようにロジットブーストはロジスティック判別のブー スティング版だと見なせる. 6.4 U-ブーストとその統計的な性質 実はこの筋書きは指数ロスにだけ与えられた特権では ない.実関数 U を単調増加で凸関数であるとする.こ のとき U -ロス関数を n について着目しよう.この関数から定義されるブース ティングをイータ・ブーストと呼ぶ [20].このように イータ・ロス関数は n Lη (F ) = (1 − η) g 1 LU (F ) = U (F (xi , y) − F (xi , yi )) n i=1 y=1 n 1 +η {−yi F (xi )} n i=1 と定めると,自然に Ft−1 からの更新が h∗t = argmin ∇LU (Ft−1 , h) h∈H αt = argmin LU (Ft−1 + αh∗t ) 1 exp{−yi F (xi } n i=1 で与えられ, 第一項は指数ロス関数で,第 2 項はサポー トベクターマシンのマージンに関係する項である.期 待イータ・ロス関数 α∈(0,∞) が導かれる.この学習アルゴリズムを U -ブーストと 呼ぶ [15, ?, 7, 8, 3].ブレグマン U -ダイバージェンス との関連により, 情報幾何的な考察がこのアルゴリズ ムの収束性を明らかにしている.U -ブーストアルゴリ ズムによる更新:Ft−1 → Ft は U -ロス関数 LU を必 ず減少させている.その量は Ft−1 と Ft が作る分布間 のブレグマン U -ダイバージェンスと一致することが 証明されている.指数ロス関数と同様な議論を通して, 期待 U -ロス関数 LU (F ) = E { g U (F (x, k) − F (x, y))} k=1 を最小にする判別関数 F ∗ もまた,ベイズルール (21) を導くことが証明できる.U -ブーストのクラスの中で 特徴ベクトルの外れ値に対するロバスト性についての 考察がある [12].ここでは最適ロバスト性や最重ロバ スト性を持つ U 関数の形が与えられている. 6.5 イータ・ブーストとミスラベルモデル 判別問題においてクラスラベルのデータは, 多くの場 合は人間の判断から得られる.前述のような例題でも, 多くは最終的には人間の判断によって決められ,パタ ン解析でミスラベルによる影響が懸念される. このような文脈で,ミスラベルの確率モデルは,理 想的な事後確率 p(y|x) から次のような変形によって 与えられる. p (y|x) = (1 − (x))p(y|x) + (x)p(−y|x) (30) ここで 0 ≤ (x) < 12 と仮定する.つまり,(x) は, 真 のクラスラベル y が誤って −y とラベルされた確率を 表し,特徴ベクトル x に依存する形で与える.現実の ミスラベルは特徴ベクトル x が判別境界に近ければ起 こりやすく,離れていれば起こりにくいだろう.この ことを反映した (x) が有用なモデルを与えるだろう. さて,U -ロス関数のクラスの中で,次の単純な形 で与えられる関数 Uη (z) = (1 − η) exp(z) + ηz (η ∈ [0, 1)) Lη (F ) = E {Uη (−yF (x))} を最小化する F ∗ は p(+1|x) (1 − η) exp{F ∗ (x)} + η = ∗ (1 − η) exp{−F (x)} + η p(−1|x) (31) の関係で結ばれる.この確率的考察についてミスラ ベルの観点から進める.本来は指数ロス関数の最小化 によって,クラスラベルの事後確率 p(y|x) がロジス ティック回帰モデル (25) に従うことが支持されていた が,実は期待イータ・ロス関数では,最小化では (32) の関係を変形するとミスラベル確率モデル (30) が導 かれる.ここでは (x) = η (1 − η)(eF ∗ (x) + e−F ∗ (x) ) + 2η である.これは,特徴ベクトル x がベイズ判別境界に あるときは F ∗ (x) = 0 よりミスラベル確率 (x) は最 大値 η/2 となり,ベイズ判別境界に遠ざかるにつれて, 言い換えれば F ∗ (x) の絶対値が大きくなるにつれて, 指数的に 0 に漸近することが分かる.このようにイー タ・ブーストは,上で議論されたようなミスラベルの 確率があっても,ロバストな性能を示すことが期待さ れる.この数値実験や実データに人工的にミスラベル を加えた数値実験において高い性能を示すことが確認 されている [20]. 6.6 クラスラベルの不釣合いなケース やはりここでも簡単のため 2 値の場合を考えよう.良品 不良品の場合でクラスラベルを不良品のとき y = +1, 良品のときを y = −1 としよう.多くの場合トレーニ ングデータ Dtrain においてポジティブサンプル数の割 n 合 i=1 I(yi = +1)/n が小さくなることが多い.この ようにポジティブサンプル数(不良品)が多く観測さ れる場合は少なくて,大多数のネガティブサンプルと ほんの少数のポジティブサンプル数となる.こういっ た状況にある Dtrain をパタン認識をするとどんな問題 が生じるだろうか.実はフォールス・ネガティブレイ ト (FNR) がフォールス・ポジティブレイト (FPR) と 比べて著しく悪くなる傾向がある.ここで FNR = prob(h(x) = −1|y = +1), FPR = prob(h(x) = +1|y = −1) と定義する.言い換えれば,予測で不良品を見逃す誤 りが大きくなることを表す.このことはでは良品不良 品の判別問題では致命的である.医療診断の文脈でも 同様で,例えば,がん検診において FNR が大きいこ とは絶対に,避けなければならないことだ. この問題に対してアダブーストアルゴリズムでは 次のような工夫で対処できる.一般の U -ロス関数を n κ 2 1 1 yi κ 2 U (−yi F (xi )) κ + 1 n i=1 1 LU (F, κ) = と変形すれば良い. ここでパラメータ κ はポジティブ √ √ かネガティブによってロスに対する重みを κ か 1/ κ に変えている.生物多様性と漁猟の両立の問題を扱った n 解析で指数ロス関数に対して κ を i=1 I(yi = +1)/n とすることが提案されている [14].興味深いことは κ に極限 0 を取ると n lim LU (F, κ) = κ→0 1 I(yi = −1)U (−yi F (xi )) n i=1 となる.これは良品の特性だけから学習するマハラノ ビス・田口 (MT 法) [19] と密接な関連が示唆される. 7 まとめ 以上,統計的パタン解析の方法について幾つか見てき た.それではデータ解析者が特徴ベクトルとそのクラ スラベルの例題のデータセットを持ったとき,どの方 法を使えばいいのだろうか?勿論,万能の方法はない わけで,事実,未だにフィッシャー判別は使われて続 けている.それぞれの方法は優れた点と弱点を同時に 併せ持っていることを知ることは重要である.それぞ れの状況に応じて一番性能が発揮される方法を選べば よい.そのためにパタン認識の目的を明確にし,デー タセットの特性についてよく知ることが肝要である. 最初に,フィッシャー判別とロジスティック判別に ついては,既に多くの比較研究が [1] 以来あり,4節 でも考察したのでここでは軽く触れよう.ロジステッ ク判別の優れた点は,データセットの異なるサンプリ () ングに対しての調整が (4) の定数項 α0 (y) の変更で できる点である.弱点はクラス識別が完全に実行され, エラーレイトが 0 に近くなるときは反復的再重み付け 最小2乗アルゴリズムが不安定になることである [11]. ブースティング法の優れた点は主に 2 点ある.第 1 点は,学習アルゴリズムの計算の簡明さである.アダ ブーストでは‘ off-the-shelf method ’といわれるよう に関数 log と exp を交代しているだけでフィッシャー 判別とロジスティック判別よりも寧ろ簡単である.実 際,フィッシャー判別には分散行列の逆行列が必要だ し,ロジスティック判別には反復的再重み付け最小2 乗アルゴリズムが必要である.サポートベクターマシ ンは数理計画の 2 次プログラミングが必要であり,こ こ部分がブラックボックス化しているので小細工がで きない.アダブーストは計算の簡明さのため学習のス テップを簡単にモニターできる.第 2 点は,学習アル ゴリズムが自動的に変数選択を行うようにできる点で ある.これには,弱学習機のセットを決定スタンプな どの単変数のみによる学習機を選択しておけば良い. こうしておけば, クラスラベルの予測に効く順番に学 習機が選ばれるので,自動的に効果的な変数を増加さ せていることになる.停止規則には [22] の考察があ る.従って,エラーレイトを小さくするような識別を 行う場合より,どの予測変数(特徴変数)が効いてい るの調べる場合には特に力を発揮する.また p n 問題にもうまく働く場合が多い.またパタン認識の目 的に応じて U ロス関数を選んで U -ブーストを行うこ とによってエラーレイト以外のロスに適用できる.欠 点は,弱学習機の集合を選ぶ必要があり,その選択に よっては識別がうまく行かないことがある.現時点で は決定スタンプか,決定ツリーを選ぶことが推奨され ている. サポートベクターマシンは,とりあえず識別がう まく行けば良い,例えばエラーレイトを最適に小さく したいというような問題に対しては有効である.今や, R にもサポートベクターマシンはパッケージが整備 されていて,カーネル関数の選択も自動的に行えるよ うになってきている.弱点はどの予測変数が効いてい るのか分からない点である.注意すべき事は,エラー レイトなど性能を評価するときはデータセットを学習 に使わないテストデータを予め決めてとっておいて, そのテストデータで評価することである.これはアダ ブーストも同様である.しばしば,見落としがちなこ とは,非常に良好なエラーレイトが得られたときに, 実はフィッシャー判別でも同等の性能が得られること があることである.これはフィッシャー判別の性能が正 規分布の仮定を超えたところで発揮されることを予想 させるが理論的にもまだ良く分かってないことである. References [1] B. Efron, Journal of the American Statistical Association, 70, 892-898 (1975) [2] S. Eguchi, J. Copas, Biometrika, 89, 1-22 (2002). [3] S. Eguchi, Sugaku Expositions, Amer. Math. Soc, 19, 197-216 (2006). [4] S. Eguchi, J. Copas, Journal of Multivariate Analysis, 97 2034-2040 (2006). [5] 江口 真透,ゲノムデータ解析のための統計的方法 を目指して. 特集:予測と発見, 統計数理 54, 375403 (2006) [14] M. Kawakita, M. Minami, S. Eguchi, C. E. Lennert-Cody, Fisheries Research, 76 328-343 (2005). [6] DNA チップデータ解析において統計学の役割は何 か? バイオテクノロジージャーナル 5,430-435, 羊土社 (2005 年 7 月) [15] N. Murata, T. Takenouchi,T. Kanamori, S. Eguchi, Neural Computation, 16, 1437-1481 (2004). [7] 情報幾何と統計的パタン認識. 数学 56 巻 380-399 , 日本数学会編集,岩波書店,(2004). [16] R. Nishii, S. Eguchi, IEEE Tran. on Geoscience and Remote Sensing, 43, 2547-2554 (2005). [8] 統計的パタン識別の情報幾何 − U ブースト学習 アルゴリズム− 数理科学 特集「統計科学の最前 線」, 489, 53-59 (2004). [9] Y. Freund, R. E. Schapire, Journal of Computer and System Sciences, 55, 119-139 (1997). [17] R. E. Schapire, Machine Learning, 5 197-227 (1990). [18] R. E. Schapire, Y. Freund, P. Bartlett, W. S. Lee, Annals of Statististics, 26 1651-1686 (1998). [10] T. Fushiki, H. Fujisawa, S. Eguchi, BMC Bioinformatics, 7 Issue 358 (2006). [19] G. Taguchi, R. Jugulum, The MahalanobisTaguchi Strategy, John Wiley & Sons. [11] T. Hastie, R. Tibshirani, J. H. Friedman, The Elements of Statistical Learning, Springer, New York (2001). [20] T. Takenouchi, S. Eguchi, Neural Computation, 16, 767-787 (2004). [12] T. Kanamori, T. Takenouchi, S. Eguchi, N. Murata, Neural Computation 19 2183-2244 (2007). [21] T. Takenouchi, M. Ushijima and S. Eguchi, IPSJ Transactions on Bioinformatics, 348, 1-8 (2007). [13] G Lebanon, J. Lafferty, In Advances in neural information processing systems, 14 MIT Press. [22] T. Zhang, B. Yu, Annals of Statistics, 33, 15381579 (2005). えぐち しんとう EGUCHI, Shinto 統計理論の再生を目指してニューラルネットワーク,機械学習と統計学の融合研究を行っている.特にバイオ インフォマティクスのための表現形の統計的パタン認識に新しい方法を開発を進めている.ミッシングなどを伴 う観察研究のための統計理論の長期に渡る研究も継続している. 連絡先 〒 106-8569 東京都港区南麻布 4-6-7 統計数理研究所 03-5421-8728 電話