Data Mining
6.5 Rule-Based Classification
B4 近井厚三
1
6.5.1 Using IF-THEN Rules for Classification
 ルールとは何か?
 ルールは情報や一片の知識を表すのに最適な方法
 人間にとって馴染み深いもの ⇒ 理解が容易
 (例) もしも “明日雨が降ったら” ,“1限休む“.
⇒IF-THENルールと呼ばれる(後述)
 IF-THENルール(何個も存在する)を用いた分類手法
⇒rule-based classifier
2
6.5.1 Using IF-THEN Rules for Classification
 rule-based classifier
 IF-THENルール(複数存在)を用いた分類手法
IF-THENルール⇒ IF (条件) THEN (結果)
例) あるルールR1: IF age = youth AND student = yes
THEN buys computer = yes.
R1を以下のようにも書くことが可能
R1: (age = youth) ^ (student = yes)⇒(buys computer = yes).
3
6.5.1 Using IF-THEN Rules for Classification
 ルール R の評価
 X : クラスラベルデータセットDから与えられたタプル(組)
 |D| : D内の全タプル数
 𝑛 𝑐𝑜𝑣𝑒𝑟 : Rをカバーしているタプルの数
 𝑛 𝑐𝑜𝑟𝑟𝑒𝑐𝑡 : Rによって正しく分類されたタプルの数
𝑐𝑜𝑣𝑒𝑟𝑎𝑔𝑒(𝑅) =
𝑛 𝑐𝑜𝑣𝑒𝑟
|𝐷|
𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦(𝑅) =
𝑛 𝑐𝑜𝑟𝑟𝑒𝑐𝑡
𝑛 𝑐𝑜𝑣𝑒𝑟
4
6.5.1 Using IF-THEN Rules for Classification
 例)ルール R1 の評価
 𝑐𝑜𝑣𝑒𝑟𝑎𝑔𝑒 𝑅1 =
2
14
= 14.28%
 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 𝑅1 =
2
2
= 100%
5
6.5.1 Using IF-THEN Rules for Classification
 クラスラベルの推測方法
 𝑋 = (𝑎𝑔𝑒 = 𝑦𝑜𝑢𝑡ℎ, 𝑖𝑛𝑐𝑜𝑚𝑒 = 𝑚𝑒𝑑𝑖𝑢𝑚, 𝑠𝑡𝑢𝑑𝑒𝑛𝑡 =
𝑦𝑒𝑠, 𝑐𝑟𝑒𝑑𝑖𝑡 𝑟𝑎𝑡𝑖𝑛𝑔 = 𝑓𝑎𝑖𝑟). というタプルが与えられる
⇒これを𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟に従って分類したい
 ルールは“引き金”のようなもの
もしもR1のみが条件を満たすルールだとしたら,R1に従ってク
ラス予想を返せば良い
しかし,ルールが複数個存在し,それぞれが違うクラスを指し
ていたら・・・?
若しくは,適合するルールが存在しなかったら・・・?
6
6.5.1 Using IF-THEN Rules for Classification
 複数個のルール存在時のクラス推測方法
 Size ordering
条件部の制約の大きいものから優先順位をつけていく
もっとも属性テストの多いものが採用
 Rule ordering
事前にルールに優先順位(class-based または rule-based ordering)を
つける
class-based ordering はクラスを重要度が高い順に並べる
⇒クラス内のルールは並べる必要が無い
rule-based ordering において,ruleはひとつの優先順位で組織されてい
る (accuracy, coverage, サイズ, 専門家の助言 etc…)
⇒決定リスト(ルールセット)から優先度の高いルールがクラス予想
その他の適合するルールは無視される
7
6.5.1 Using IF-THEN Rules for Classification
 適合ルールが存在しない時のクラス推測方法
 Default rule
条件部は空
⇒どのルールも適用されなかった時に,最終的に適用される
Default class を特定するために用いられる(トレーニングセットに基
づく)
Default class は多数あるクラスのひとつや,どのルールもカバーし
ていないタプルの多数派のクラスの可能性もある
8
6.5.2 Rule Extraction from a Decision Tree
 決定木からのルール抽出
 Example 6.7
条件部は論理積(AND)で結ぶ
リーフノードがクラス予測(“THEN” part) ⇒ one leaf one rule
抽出したルールは相互的に“排他的”・“網羅的”
⇒ルールの対立がない(同じタプルから任意の二つのルールが問い合わせされな
い)
⇒ルールの順位付けも必要ない
9
6.5.2 Rule Extraction from a Decision Tree
 決定木からのルール抽出
 抽出ルールの解釈困難ケース
例) Figure6.7
部分木の(a)反復と(b)複製
 属性テストに一部余分なものが混
在してしまう
⇒ルールが冗長なものになる
10
 C4.5 では pessimistic pruning を採用
 Pessimistic pruning :
 終端ノードに含まれる n 個のデータを母集団から取り出した
サンプルとみなし,そのサンプルのエラー率から母集団のエ
ラー率を統計的に推定し,その推定値に基づいて枝刈りを行う
手法.
 枝刈りの基準を決めるパラメータとして,危険率 (信頼度) が
あり,危険率が小さいほど多く枝刈りが行われる.C4.5 では
危険率 0.25 が一般的に用いられる.
11
6.5.2 Rule Extraction from a Decision Tree
 C4.5 Pessimistic pruning :
12
6.5.2 Rule Extraction from a Decision Tree
 枝切りを行うことによって新たな問題発生
 ルールの相互的排他性・網羅性が崩れてしまう可能性がある
 上記を防ぐために,C4.5ではclass-based ordering schemeを採
用
 class-based ordering scheme :
 最初にクラスごとにルールセットを作成する
 FPエラー(クラスCに分類されたが,実際はクラスCではない)
が小さいクラスが優先度が高い
 FPエラーが高いクラスから枝切り
13
6.5.2 Rule Extraction from a Decision Tree
6.5.3 Rule Induction
Using a Sequential Covering Algorithm
 Sequential Covering Algorithmとは
 クラス分類の確率を最大化するような「属性とその値」の対を選
択しながら,ルールの条件部を操作(追加,削除)し,最大の精
度をもつルールを生成する.
 訓練データから”直接”IF-THENルールを抽出(便利!)
 アルゴリズムの流れは以下の通り
1. ルールは一個づつ順番に学習される
2. ルールが一つ学習されると,カバーしているタプルを除去
3. 残るタプルに上記の同様の操作を実行
14
6.5.3 Rule Induction
Using a Sequential Covering Algorithm15
 Sequential Covering Algorithm一例
 下記のルールを学習することを目標
とする.
𝐼𝑓 ? 𝑇ℎ𝑒𝑛 推奨レンズ = ハード.
 眼年齢=若い :2/8
 眼年齢=老眼前 :1/8
 眼年齢=老眼 :1/8
 処方箋=近視 :3/12
 処方箋=遠視 :1/12
 乱視=なし :0/12
 乱視=あり :4/12
 涙量率=減少 :0/12
 涙量率=正常 :4/12
6.5.3 Rule Induction
Using a Sequential Covering Algorithm16
 Sequential Covering Algorithm一例
 最大正答率の選択肢は「乱視=あり」なので,以下のルールを選
択する.
𝐼𝑓 乱視 = あり 𝑇ℎ𝑒𝑛 推奨レンズ = ハード.
 このルールがカバーする範囲は4/12であるので,新しい条件を付
加して,ルールを洗練する.
𝐼𝑓 乱視 = あり 𝑎𝑛𝑑 ? 𝑇ℎ𝑒𝑛 推奨レンズ = ハード.
6.5.3 Rule Induction
Using a Sequential Covering Algorithm17
 Sequential Covering Algorithm一例
 ここで未知の項[?]で考えられる条件項は,以下の7つ
眼年齢=若い :2/4
眼年齢=老眼前 :1/4
眼年齢=老眼 :1/4
処方箋=近視 :3/6
処方箋=遠視 :1/6
涙量率=減少 :0/6
涙量率=正常 :4/6
6.5.3 Rule Induction
Using a Sequential Covering Algorithm18
 Sequential Covering Algorithm一例
 「涙量率=正常」が最大正答率なので,以下のルール を得る
𝐼𝑓 乱視 = あり 𝑎𝑛𝑑 涙量率 = 正常 𝑇ℎ𝑒𝑛 推奨レンズ = ハード.
 さらに正答率の向上を目指して,以下の条件項を検討
眼年齢=若い :2/2
眼年齢=老眼前 :1/2
眼年齢=老眼 :1/2
処方箋=近視 :3/3
処方箋=遠視 :1/3
6.5.3 Rule Induction
Using a Sequential Covering Algorithm19
 Sequential Covering Algorithm一例
 「眼年齢=若い」と「処方箋=近視」が最大正答率100%だが,カ
バー数の多い「処方箋=近視」 を採用し,以下のルールを得る
If [乱視 =あり] and [涙量率 =正常] and [処方箋 =近視] Then 推
奨レンズ =ハード
 このルールは24事例のうちの 3事例しかカバーしていないので,3
事例をデータセットから削除し,ルール学習を繰り返す
6.5.3 Rule Induction
Using a Sequential Covering Algorithm20
 Sequential Covering Algorithm一例
 同様にして正答率1/1の以下のルー
ルが得られる
If [眼年齢 =若い] and [乱視 =あり]
and [涙量率 =正常] Then 推奨レンズ
=ハード
 次に,推奨レンズが「ソフト」と
「なし」のルールを生成する
6.5.3 Rule Induction
Using a Sequential Covering Algorithm21
6.5.3 Rule Induction
Using a Sequential Covering Algorithm22
6.5.3 Rule Induction
Using a Sequential Covering Algorithm23
 Learn_One_Ruleの特徴
 その場,その場で最適解を選択しているため,後戻りができない
⇒知らない内に,好ましくない選択をしている可能性有り
 改善方法として,一つの属性テスト(最適解)を選択するのではなく,
複数のテスト(複数の最適解候補)を選択
6.5.3 Rule Induction
Using a Sequential Covering Algorithm24
 Rule Quality Measures
 Example6.8
6.5.3 Rule Induction
Using a Sequential Covering Algorithm25
 Rule Quality Measures
 AccracyやCoverageを統合した新しいルール評価指標が必要
 解決策として
1. エントロピー
2. FOIL(First Order Inductive Learner)
3. 統計学的テスト
6.5.3 Rule Induction
Using a Sequential Covering Algorithm26
 Rule Quality Measures ①エントロピー ②FOIL
 クラスCに対するルールを学習する
R: IF condition THEN class = c.
 ある属性テストとの論理積をとったcondition’を考える
R′: IF condition′ THEN class = c.
 R’がどのRよりも最適なルールであることを確かめる
6.5.3 Rule Induction
Using a Sequential Covering Algorithm27
 Rule Quality Measures ①エントロピー
 𝐷 : R’によってカバーされているタプルの集合
 𝑝𝑖 : クラス𝐶𝑖に属するタプル数 / D内のタプルの総数
 𝑚 : 𝐷内のタプルが属するクラスの総数
 値が低いほど,condition’は良い選択であると判定される
 エントロピーは“大量のタプルが単一のクラスに属し,残りのタプ
ルが他のクラスに属する”というconditionを好む
6.5.3 Rule Induction
Using a Sequential Covering Algorithm28
 Rule Quality Measures ②FOIL
 ルール学習する対象のクラスに属するタプルをpositive-tuplesと呼ぶ
(それ以外のタプルをnegative-tuplesと呼ぶ)
 𝑝𝑜𝑠(𝑝𝑜𝑠′) : 𝑅(𝑅′)内に, カバーされているポジティブタプルの数
 𝑛𝑒𝑔(𝑛𝑒𝑔′) : 𝑅(𝑅′)内に,カバーされているネガティブタプルの数
 FOILは“高いaccuracy,positive tuplesをたくさんカバーしている”
ルールを好む
6.5.3 Rule Induction
Using a Sequential Covering Algorithm29
 Rule Quality Measures ③統計学的テスト
 ルール学習
 𝑚 : クラスの数
 𝑓𝑖 : ルールを満たしたタプル中の,クラス𝐶𝑖の出現回数
 𝑒𝑖 : ルールが無作為に予想した場合の,クラス𝐶𝑖の期待値
 値が大きいほど,統計学的有意性が認められる(”ランダム予想”と
違って,選択したルールが出した正しい予想の数が有意的な差を持
つ)
(尤度比)
6.5.3 Rule Induction
Using a Sequential Covering Algorithm30
 Rule Pruning
 過剰適合(過学習):
統計学や機械学習において,訓練データに対しては良く学習されている
が,未知データに対しては適合できていない状態を指す
 属性テストを取り除くことによってルールを剪定する
 𝑝𝑜𝑠(𝑛𝑒𝑔) : 𝑅がカバーしているpositive(negative)tuplesの数
 この値が剪定したルールR’の値よりも大きかった場合,剪定実行

Data Mining 6.5 Rule-Based Classification

  • 1.
    Data Mining 6.5 Rule-BasedClassification B4 近井厚三 1
  • 2.
    6.5.1 Using IF-THENRules for Classification  ルールとは何か?  ルールは情報や一片の知識を表すのに最適な方法  人間にとって馴染み深いもの ⇒ 理解が容易  (例) もしも “明日雨が降ったら” ,“1限休む“. ⇒IF-THENルールと呼ばれる(後述)  IF-THENルール(何個も存在する)を用いた分類手法 ⇒rule-based classifier 2
  • 3.
    6.5.1 Using IF-THENRules for Classification  rule-based classifier  IF-THENルール(複数存在)を用いた分類手法 IF-THENルール⇒ IF (条件) THEN (結果) 例) あるルールR1: IF age = youth AND student = yes THEN buys computer = yes. R1を以下のようにも書くことが可能 R1: (age = youth) ^ (student = yes)⇒(buys computer = yes). 3
  • 4.
    6.5.1 Using IF-THENRules for Classification  ルール R の評価  X : クラスラベルデータセットDから与えられたタプル(組)  |D| : D内の全タプル数  𝑛 𝑐𝑜𝑣𝑒𝑟 : Rをカバーしているタプルの数  𝑛 𝑐𝑜𝑟𝑟𝑒𝑐𝑡 : Rによって正しく分類されたタプルの数 𝑐𝑜𝑣𝑒𝑟𝑎𝑔𝑒(𝑅) = 𝑛 𝑐𝑜𝑣𝑒𝑟 |𝐷| 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦(𝑅) = 𝑛 𝑐𝑜𝑟𝑟𝑒𝑐𝑡 𝑛 𝑐𝑜𝑣𝑒𝑟 4
  • 5.
    6.5.1 Using IF-THENRules for Classification  例)ルール R1 の評価  𝑐𝑜𝑣𝑒𝑟𝑎𝑔𝑒 𝑅1 = 2 14 = 14.28%  𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 𝑅1 = 2 2 = 100% 5
  • 6.
    6.5.1 Using IF-THENRules for Classification  クラスラベルの推測方法  𝑋 = (𝑎𝑔𝑒 = 𝑦𝑜𝑢𝑡ℎ, 𝑖𝑛𝑐𝑜𝑚𝑒 = 𝑚𝑒𝑑𝑖𝑢𝑚, 𝑠𝑡𝑢𝑑𝑒𝑛𝑡 = 𝑦𝑒𝑠, 𝑐𝑟𝑒𝑑𝑖𝑡 𝑟𝑎𝑡𝑖𝑛𝑔 = 𝑓𝑎𝑖𝑟). というタプルが与えられる ⇒これを𝑏𝑢𝑦𝑠_𝑐𝑜𝑚𝑝𝑢𝑡𝑒𝑟に従って分類したい  ルールは“引き金”のようなもの もしもR1のみが条件を満たすルールだとしたら,R1に従ってク ラス予想を返せば良い しかし,ルールが複数個存在し,それぞれが違うクラスを指し ていたら・・・? 若しくは,適合するルールが存在しなかったら・・・? 6
  • 7.
    6.5.1 Using IF-THENRules for Classification  複数個のルール存在時のクラス推測方法  Size ordering 条件部の制約の大きいものから優先順位をつけていく もっとも属性テストの多いものが採用  Rule ordering 事前にルールに優先順位(class-based または rule-based ordering)を つける class-based ordering はクラスを重要度が高い順に並べる ⇒クラス内のルールは並べる必要が無い rule-based ordering において,ruleはひとつの優先順位で組織されてい る (accuracy, coverage, サイズ, 専門家の助言 etc…) ⇒決定リスト(ルールセット)から優先度の高いルールがクラス予想 その他の適合するルールは無視される 7
  • 8.
    6.5.1 Using IF-THENRules for Classification  適合ルールが存在しない時のクラス推測方法  Default rule 条件部は空 ⇒どのルールも適用されなかった時に,最終的に適用される Default class を特定するために用いられる(トレーニングセットに基 づく) Default class は多数あるクラスのひとつや,どのルールもカバーし ていないタプルの多数派のクラスの可能性もある 8
  • 9.
    6.5.2 Rule Extractionfrom a Decision Tree  決定木からのルール抽出  Example 6.7 条件部は論理積(AND)で結ぶ リーフノードがクラス予測(“THEN” part) ⇒ one leaf one rule 抽出したルールは相互的に“排他的”・“網羅的” ⇒ルールの対立がない(同じタプルから任意の二つのルールが問い合わせされな い) ⇒ルールの順位付けも必要ない 9
  • 10.
    6.5.2 Rule Extractionfrom a Decision Tree  決定木からのルール抽出  抽出ルールの解釈困難ケース 例) Figure6.7 部分木の(a)反復と(b)複製  属性テストに一部余分なものが混 在してしまう ⇒ルールが冗長なものになる 10
  • 11.
     C4.5 ではpessimistic pruning を採用  Pessimistic pruning :  終端ノードに含まれる n 個のデータを母集団から取り出した サンプルとみなし,そのサンプルのエラー率から母集団のエ ラー率を統計的に推定し,その推定値に基づいて枝刈りを行う 手法.  枝刈りの基準を決めるパラメータとして,危険率 (信頼度) が あり,危険率が小さいほど多く枝刈りが行われる.C4.5 では 危険率 0.25 が一般的に用いられる. 11 6.5.2 Rule Extraction from a Decision Tree
  • 12.
     C4.5 Pessimisticpruning : 12 6.5.2 Rule Extraction from a Decision Tree
  • 13.
     枝切りを行うことによって新たな問題発生  ルールの相互的排他性・網羅性が崩れてしまう可能性がある 上記を防ぐために,C4.5ではclass-based ordering schemeを採 用  class-based ordering scheme :  最初にクラスごとにルールセットを作成する  FPエラー(クラスCに分類されたが,実際はクラスCではない) が小さいクラスが優先度が高い  FPエラーが高いクラスから枝切り 13 6.5.2 Rule Extraction from a Decision Tree
  • 14.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm  Sequential Covering Algorithmとは  クラス分類の確率を最大化するような「属性とその値」の対を選 択しながら,ルールの条件部を操作(追加,削除)し,最大の精 度をもつルールを生成する.  訓練データから”直接”IF-THENルールを抽出(便利!)  アルゴリズムの流れは以下の通り 1. ルールは一個づつ順番に学習される 2. ルールが一つ学習されると,カバーしているタプルを除去 3. 残るタプルに上記の同様の操作を実行 14
  • 15.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm15  Sequential Covering Algorithm一例  下記のルールを学習することを目標 とする. 𝐼𝑓 ? 𝑇ℎ𝑒𝑛 推奨レンズ = ハード.  眼年齢=若い :2/8  眼年齢=老眼前 :1/8  眼年齢=老眼 :1/8  処方箋=近視 :3/12  処方箋=遠視 :1/12  乱視=なし :0/12  乱視=あり :4/12  涙量率=減少 :0/12  涙量率=正常 :4/12
  • 16.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm16  Sequential Covering Algorithm一例  最大正答率の選択肢は「乱視=あり」なので,以下のルールを選 択する. 𝐼𝑓 乱視 = あり 𝑇ℎ𝑒𝑛 推奨レンズ = ハード.  このルールがカバーする範囲は4/12であるので,新しい条件を付 加して,ルールを洗練する. 𝐼𝑓 乱視 = あり 𝑎𝑛𝑑 ? 𝑇ℎ𝑒𝑛 推奨レンズ = ハード.
  • 17.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm17  Sequential Covering Algorithm一例  ここで未知の項[?]で考えられる条件項は,以下の7つ 眼年齢=若い :2/4 眼年齢=老眼前 :1/4 眼年齢=老眼 :1/4 処方箋=近視 :3/6 処方箋=遠視 :1/6 涙量率=減少 :0/6 涙量率=正常 :4/6
  • 18.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm18  Sequential Covering Algorithm一例  「涙量率=正常」が最大正答率なので,以下のルール を得る 𝐼𝑓 乱視 = あり 𝑎𝑛𝑑 涙量率 = 正常 𝑇ℎ𝑒𝑛 推奨レンズ = ハード.  さらに正答率の向上を目指して,以下の条件項を検討 眼年齢=若い :2/2 眼年齢=老眼前 :1/2 眼年齢=老眼 :1/2 処方箋=近視 :3/3 処方箋=遠視 :1/3
  • 19.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm19  Sequential Covering Algorithm一例  「眼年齢=若い」と「処方箋=近視」が最大正答率100%だが,カ バー数の多い「処方箋=近視」 を採用し,以下のルールを得る If [乱視 =あり] and [涙量率 =正常] and [処方箋 =近視] Then 推 奨レンズ =ハード  このルールは24事例のうちの 3事例しかカバーしていないので,3 事例をデータセットから削除し,ルール学習を繰り返す
  • 20.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm20  Sequential Covering Algorithm一例  同様にして正答率1/1の以下のルー ルが得られる If [眼年齢 =若い] and [乱視 =あり] and [涙量率 =正常] Then 推奨レンズ =ハード  次に,推奨レンズが「ソフト」と 「なし」のルールを生成する
  • 21.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm21
  • 22.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm22
  • 23.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm23  Learn_One_Ruleの特徴  その場,その場で最適解を選択しているため,後戻りができない ⇒知らない内に,好ましくない選択をしている可能性有り  改善方法として,一つの属性テスト(最適解)を選択するのではなく, 複数のテスト(複数の最適解候補)を選択
  • 24.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm24  Rule Quality Measures  Example6.8
  • 25.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm25  Rule Quality Measures  AccracyやCoverageを統合した新しいルール評価指標が必要  解決策として 1. エントロピー 2. FOIL(First Order Inductive Learner) 3. 統計学的テスト
  • 26.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm26  Rule Quality Measures ①エントロピー ②FOIL  クラスCに対するルールを学習する R: IF condition THEN class = c.  ある属性テストとの論理積をとったcondition’を考える R′: IF condition′ THEN class = c.  R’がどのRよりも最適なルールであることを確かめる
  • 27.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm27  Rule Quality Measures ①エントロピー  𝐷 : R’によってカバーされているタプルの集合  𝑝𝑖 : クラス𝐶𝑖に属するタプル数 / D内のタプルの総数  𝑚 : 𝐷内のタプルが属するクラスの総数  値が低いほど,condition’は良い選択であると判定される  エントロピーは“大量のタプルが単一のクラスに属し,残りのタプ ルが他のクラスに属する”というconditionを好む
  • 28.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm28  Rule Quality Measures ②FOIL  ルール学習する対象のクラスに属するタプルをpositive-tuplesと呼ぶ (それ以外のタプルをnegative-tuplesと呼ぶ)  𝑝𝑜𝑠(𝑝𝑜𝑠′) : 𝑅(𝑅′)内に, カバーされているポジティブタプルの数  𝑛𝑒𝑔(𝑛𝑒𝑔′) : 𝑅(𝑅′)内に,カバーされているネガティブタプルの数  FOILは“高いaccuracy,positive tuplesをたくさんカバーしている” ルールを好む
  • 29.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm29  Rule Quality Measures ③統計学的テスト  ルール学習  𝑚 : クラスの数  𝑓𝑖 : ルールを満たしたタプル中の,クラス𝐶𝑖の出現回数  𝑒𝑖 : ルールが無作為に予想した場合の,クラス𝐶𝑖の期待値  値が大きいほど,統計学的有意性が認められる(”ランダム予想”と 違って,選択したルールが出した正しい予想の数が有意的な差を持 つ) (尤度比)
  • 30.
    6.5.3 Rule Induction Usinga Sequential Covering Algorithm30  Rule Pruning  過剰適合(過学習): 統計学や機械学習において,訓練データに対しては良く学習されている が,未知データに対しては適合できていない状態を指す  属性テストを取り除くことによってルールを剪定する  𝑝𝑜𝑠(𝑛𝑒𝑔) : 𝑅がカバーしているpositive(negative)tuplesの数  この値が剪定したルールR’の値よりも大きかった場合,剪定実行

Editor's Notes

  • #3 ルールは情報や一片の知識を表すのに最適な方法
  • #6 9と11がR1の条件に当てはまるタプル
  • #7 どのようにルールベースドクラシフィケ-ションを使って与えられたタプルからクラスラベルを予測するのか?
  • #8  Size ordering はタプルを分類する際に,どんな順序でも適応できる.ルールそれぞれが分離している もう一方はコンフリクトを避けるためにルールに順序を設定している.決定リスト内のルールより重要なルールは存在しない
  • #10 ここからは,どのようにルールベースドクラシファーを構築するかを説明します (6.3節では,トレーニングデータからどのように決定木を作るのかを学んだ.) この章では決定木からイフゼンルールを抽出することによって,どのようにルールベースドクラシファーを構築するのかに焦点を当てる. イフゼンルールのほうが,決定木よりも人間が簡単に理解しやすい(決定木が大きくなればなるほど) 排他的=ルールがお互い独立している,全てのタプルが多くても一つのルールにカバーされている 網羅的=とりうる属性値の組み合せを全て網羅している,全てのタプルが少なくとも一つのルールに属している
  • #12 ・ サンプルデータ8個において、3個のエラーが発生した場合 ・ 母数のエラーが0または1または2または3のエラーが発生する確率
  • #22 アルゴリズムの概要
  • #23 Learn One Ruleの内部(内容的な)
  • #25 Learn_one_ruleはルールクオリティを測定する必要がある.(属性テストをする度に) Accuracy(R1)=95% Accuracy(R2)=100% Accracyで測定するとR2の方が優れたルールであると認識してしまう(実際はカバー範囲が小さいために良いルールとはいえない) Coverage も良い方法とはいえない(タプルがほかのクラスにも属している)
  • #29  RIPPERで使用されている
  • #30 自由度m-1のカイ二乗分布に従う CN2で使用されている
  • #31 RIPPERでは一番最後に追加した連言から剪定を開始する,結果が向上し続ける限り剪定を実行する 利用出来るデータ数が少なすぎる場合 そのデータに少しでも偏りがあると、大きな問題となります。 モデルの自由度が高すぎる場合 推定すべきパラメータが多すぎる場合など、モデルの自由度が高すぎるとオーバーフィットしやすくなります。 正則化を行なうと影響を減らせますが、モデルの実質的な自由度が下がります。 狭い範囲のデータに適応しすぎた場合 特定の分野のデータを使っていると、実際に必要な多様な環境に適応できなくなる可能性があります。 過去のデータに適応しすぎた場合 時系列データの場合、データの性質は常に変化するので、未来のデータに対する対応能力が問われます。 未来のデータは手に入らない上に性質が大きく変わる場合があるため、難しい問題となります。