第14回「はじめてのパターン認識」読書会
第11章 識別器の組み合わせによる性能強化(前半)
2014/3/18(火)
@Prunus1350
11.1 ノーフリーランチ定理
11.1 ノーフリーランチ定理
• 「すべての諸問題に対して、ほかの識別器より識別性能がよい識別器
は存在しない」
11.1 ノーフリーランチ定理
• すべてのクラス分布で一様に評価すれば、どの識別器も同じ性能にな
る。
• 対象とする問題領域を規定しなければ、汎化性能はすべて同じになっ
てしまう。
学習データ テストデータ
𝒙 𝑡 ℎ1 ℎ2 𝒙 𝑡1 𝑡2 ⋯ 𝑡25 ℎ1 ℎ2
000 −1 −1 −1 011 1 −1 ⋯ −1 −1 1
001 −1 −1 −1 100 −1 1 ⋯ −1 −1 1
010 1 1 1 101 1 −1 ⋯ −1 −1 1
110 −1 1 ⋯ −1 −1 1
111 −1 1 ⋯ −1 −1 1
11.1 ノーフリーランチ定理
• 問題領域が規定されても、一つの識別器ではよい認識性能が得られな
い場合がある。
• そのような場合に対処する一つの方法は、複数の識別器を組み合わせ
ることである。
11.1 ノーフリーランチ定理
• 簡単な識別器の組み合わせで複雑な識別境界を構成する手法
• 決定木
• 複数の決定木や識別器を組み合わせて識別性能を強化する手法
• バギング
• ブースティング
• ランダムフォレスト
11.1 ノーフリーランチ定理
• 決定木の学習に関する代表的な方式
• CART (classification and regression tree) ← 本章ではこれを中心に扱う
• ID3
• C4.5
11.2 決定木
11.2 決定木
• この図のようなデータ分布があった場合、●と○のクラスを識別する
ための識別関数は非線形になる。
𝑥1
𝑥2
11.2 決定木
𝑥1
𝑥2
𝑎
11.2 決定木
𝑥1
𝑥2
𝑎
𝑏
11.2 決定木
𝑥1
𝑥2
𝑎
𝑐
𝑏
11.2 決定木
𝑥1
𝑥2
𝑎 𝑑
𝑐
𝑏
11.2 決定木
𝑥1
𝑥2
𝑎 𝑑 𝑒
𝑐
𝑏
11.2 決定木
• 特徴軸 𝑥1 の値がしきい値 𝑎, 𝑑, 𝑒 より大きいか小さいか、特徴軸 𝑥2 の
値がしきい値 𝑏, 𝑐 より大きいか小さいかを判断しさえすれば、●と○
を識別することができる。
𝑥1
𝑥2
𝑎 𝑑 𝑒
𝑐
𝑏
11.2 決定木
• ある特徴軸の値としきい値の大小関係を判断する過程は、上図のよう
な決定木として表現することができる。
1
2 3
4 5
8 9 10 11
6 7
𝑥1 > 𝑎
𝑥2 > 𝑏
𝑥1 > 𝑑 𝑥1 > 𝑒
𝑥2 > 𝑐
Yes
Yes
Yes Yes
No
No
No No
NoYes
11.2 決定木
1
2 3
4 5
8 9 10 11
6 7
𝑥1 > 𝑎
𝑥2 > 𝑏
𝑥1 > 𝑑 𝑥1 > 𝑒
𝑥2 > 𝑐
Yes
Yes
Yes Yes
No
No
No No
NoYes
根ノード
11.2 決定木
1
2 3
4 5
8 9 10 11
6 7
𝑥1 > 𝑎
𝑥2 > 𝑏
𝑥1 > 𝑑 𝑥1 > 𝑒
𝑥2 > 𝑐
Yes
Yes
Yes Yes
No
No
No No
NoYes
終端ノード
葉ノード
11.2 決定木
1
2 3
4 5
8 9 10 11
6 7
𝑥1 > 𝑎
𝑥2 > 𝑏
𝑥1 > 𝑑 𝑥1 > 𝑒
𝑥2 > 𝑐
Yes
Yes
Yes Yes
No
No
No No
NoYes
内部ノード
11.2 決定木
1
2 3
4 5
8 9 10 11
6 7
𝑥1 > 𝑎
𝑥2 > 𝑏
𝑥1 > 𝑑 𝑥1 > 𝑒
𝑥2 > 𝑐
Yes
Yes
Yes Yes
No
No
No No
NoYes
非終端ノード
11.2 決定木
• 学習データから決定木を構成する方法
• ボトムアップ的な手法
• ある一つの学習データを正しく識別できる特徴の集合を探して特殊な識別規則を作
り、特徴に対する制約を緩めながら、ほかの学習データも正しく識別できるよう規
則を一般化していく手法
• トップダウン的な手法
• まず根ノードですべての学習データをできるだけ誤りの少ないようにクラス分けで
きる特徴軸を探して特徴空間を2分割する規則を求め、2分割された空間をさらにそ
れぞれ2分割する規則を求めることを繰り返して決定木を成長させる手法
• 分割統治法と呼ばれる
• 現在主流の手法
11.2 決定木
• トップダウン的な手法で決定木を学習データから構成するためには、
次の要素について考える必要がある。
1. 各ノードにおいて特徴空間分割規則を構成するための特徴軸としきい値の選択
2. 終端ノードの決定。大きくなった木の剪定をどこまで行うかの選択。
3. 終端ノードに対する多数決によるクラスの割り当て。
11.2.1 決定木に関する諸定義
11.2.1 決定木に関する諸定義
• 木は、0 ではない有限個の正の整数からなる集合 𝑇 と、 𝑡 ∈ 𝑇 から 𝑇 ∪
0 への二つの関数 left( ) と right( ) で構成される。
• left , right( ) はそれぞれ左側、右側の次ノード番号を与える関数
11.2.1 決定木に関する諸定義
• 木が満たす性質
1. 各 𝑡 ∈ 𝑇 について、left 𝑡 = right 𝑡 = 0 (終端ノード)か、left 𝑡 > 𝑡 かつ
right 𝑡 > 𝑡 (非終端ノード)のいずれかが成り立つ。
2. 各 𝑡 ∈ 𝑇 について、 𝑇 内の最小数(根ノード)を除いて 𝑡 = left 𝑠 または 𝑡 =
right 𝑠 のどちらかを満たすただ一つの 𝑠 ∈ 𝑇 が存在する。𝑠 を親ノード、 𝑡 を
子ノードといい、 𝑠 = parent 𝑡 で表す。
11.2.2 ノード分割規則
11.2.2 ノード分割規則
• 各ノードにおける特徴空間の最適な分割は、特徴軸ごとに可能な考え
うる分割を、不純度と呼ばれる評価関数で評価し選択する。
11.2.2 ノード分割規則
• ノード 𝑡 の不純度
ℐ 𝑡 = 𝜙 𝑃 𝐶1|𝑡 , ⋯ , 𝑃 𝐶 𝐾|𝑡 11.7
• ここで、関数 𝜙 𝑧1, ⋯ , 𝑧 𝐾 は、𝑧𝑖 ≥ 0, 𝑖=1
𝐾
𝑧𝑖 = 1 に対して次の三つの
性質を満たせばよい。
1. 𝜙() は、すべての 𝑖 = 1, ⋯ , 𝐾 に対して 𝑧𝑖 = 1/𝐾 のとき、すなわちど
のクラスの事後確率も一様に等しいとき最大になる。
2. 𝜙() は、ある 𝑖 について 𝑧𝑖 = 1 となり、𝑗 ≠ 𝑖 のときはすべて 𝑧𝑗 = 0 、
すなわち、ただ一つのクラスに定まるとき最小になる。
3. 𝜙() は、 𝑧1, ⋯ , 𝑧 𝐾 に関して対称な関数である。
11.2.2 ノード分割規則
• 代表的な不純度を表す関数
1. ノード 𝑡 における誤り率
ℐ 𝑡 = 1 − max
𝑖
𝑃 𝐶𝑖|𝑡
2. 交差エントロピーまたは逸脱度(deviance)
ℐ 𝑡 = −
𝑖=1
𝐾
𝑃 𝐶𝑖|𝑡 ln 𝑃 𝐶𝑖|𝑡
3. ジニ係数(Gini index)
ℐ 𝑡 =
𝑗≠𝑖
𝑃 𝐶𝑖|𝑡 𝑃 𝐶𝑗|𝑡
=
𝑖=1
𝐾
𝑃 𝐶𝑖|𝑡 1 − 𝑃 𝐶𝑖|𝑡
11.2.2 ノード分割規則
• ノード 𝑡 で分割規則を作るとき、不純度の減り方が一番大きな分割を
選べばよい。
• 分割を 𝑠 としたとき、
Δℐ 𝑠, 𝑡 = ℐ 𝑡 − 𝑝 𝐿ℐ 𝑡 𝐿 + 𝑝 𝑅ℐ 𝑡 𝑅
が最大になる 𝑠 を、可能な分割の候補の中から選べばよい。
11.2.2 ノード分割規則
• どこで分割を止めればよいのか?
• 解決策の一つとして、「不純度が十分に小さくなるまで木を成長させ、
次に、誤り率と木の複雑さで決まる許容範囲まで木を剪定する」とい
うものがある。
11.2.3 木の剪定アルゴリズム
11.2.3 木の剪定アルゴリズム
• 木を構成した学習アルゴリズムに対する再代入誤り率を定義する。
• 終端ノード 𝑡 ∈ 𝑇 における誤り率は
𝑅 𝑡 =
𝑀 𝑡
𝑁
𝑡 ∈ 𝑇
と定義できる。
• ここで、
• 𝑀 𝑡 :終端ノード 𝑡 における誤り数
• 𝑁 :総学習データ数
• 木全体での再代入誤り率の推定値は
𝑅 𝑇 =
𝑡∈ 𝑇
𝑅 𝑡
となる。
11.2.3 木の剪定アルゴリズム
• 木の複雑さを終端ノードの数で評価することにする。
• 一つの終端ノードにおける誤り率と複雑さのコストの和
𝑅 𝛼 𝑡 = 𝑅 𝑡 + 𝛼
• ここで、𝛼 :一つの終端ノードがあることによる複雑さのコスト
• 木全体のコストは、
𝑅 𝛼 𝑇 =
𝑡∈ 𝑇
𝑅 𝛼 𝑡 = 𝑅 𝑇 + 𝛼 𝑇
となる。
• ここで、 𝑇 :終端ノード数
11.2.3 木の剪定アルゴリズム
• 任意のノード 𝑡 と根ノードとする分枝( 𝑡 のすべての子孫からなる部分
木)を 𝑇𝑡 で表す。
• もし、 𝑅 𝛼 𝑇𝑡 < 𝑅 𝛼 𝑡 であれば、𝑡 を終端ノードと考えたときの誤り
と複雑さのコストより、 𝑡 の分枝がもつコストの方が小さいので、 𝑇𝑡
をそのままにしておいた方が全体のコストは小さくなる。
• しかし、正則化パラメータ 𝛼 を次第に大きくしていけば両者は等しく
なり、そのときの 𝛼 は、
𝛼 =
𝑅 𝑡 − 𝑅 𝑇𝑡
𝑇𝑡 − 1
で与えられる。
11.2.3 木の剪定アルゴリズム
• 𝛼 を 𝑡 の関数とみなして、
𝑔 𝑡 =
𝑅 𝑡 − 𝑅 𝑇𝑡
𝑇𝑡 − 1
と定義する。
• これをノード 𝑡 のリンクの強さに関する尺度と考える。
11.2.3 木の剪定アルゴリズム
• 木の剪定アルゴリズム
1. 𝑇0
= 𝑇, 𝑘 = 0 とする
2. 𝑔 𝑘 𝑡 𝑘 = min 𝑡∈ 𝑇 𝑘− 𝑇 𝑘 𝑔 𝑡 を計算する
3. 最小値をとるノードの集合を 𝑇 𝑘
= 𝑡1
𝑘
, ⋯ , 𝑡 𝑚 𝑘
𝑘
とする
4. 𝑖 = 1, ⋯ , 𝑚 𝑘 について以下を繰り返す
a. left 𝑡𝑖
𝑘
を根とする分枝を 𝑇 𝑘
から削除する
b. right 𝑡𝑖
𝑘
を根とする分枝を 𝑇 𝑘
から削除する
5. 𝑘 = 𝑘 + 1 とする
6. 剪定された木を 𝑇 𝑘 とする
7. 𝑇 𝑘 = 1 であれば終了。そうでなければ 2 に戻る
11.2.3 木の剪定アルゴリズム
• 再代入誤り率 𝑅 𝑇 𝐾 は、剪定を進めると単調に増加するので、どこで
止めるべきかの情報を与えてくれない。
• 止めるとことを探すためには、テストデータで汎化誤差を推定しなが
ら剪定を進める必要がある。
• ホールドアウト法や交差確認法を用いて誤り率が最も小さくなる 𝑘 の
値を求めればよい。
• 1 標準偏差ルールとよばれる手法が提案されている。
ご清聴ありがとうございました。

はじめてのパターン認識 第11章 11.1-11.2