Inverse Entailment and Progol Stephen Muggleton 有川研究室 修士1年 坂東 恭子 発表の流れ ・はじめに ・帰納論理プログラミング(ILP)とは ・Progolの説明 ・まとめ はじめに 機械学習:決定木 一階述語論理式を学習しよう 背景知識を使おう 帰納論理プログラミング(ILP) 帰納論理プログラミングとは? 帰納論理 プログラミング 論理プログラミング logic programming 機械学習 machine learning 背景知識、正例、負例 負例を説明せず、正例を説明する仮説をみつける ILP システムの例 ・GOLEM :92年、Muggletonらによって開発された RLGG(Relative Least General Generalization) に基づくILPシステム ・Progol :95年、Muggletonらによって開発された 逆伴意(inverse entailment)に基づくILP システム ・FOIL :90年、Quinlanによって開発されたILPシステム ・GKS :95年、溝口によって開発されたILPシステム Progol とは? ・95年、Muggletonによって開発されたILP システム ・C, Prologで作られたシステム ・逆伴意(inverse entailment)の考えを使う 伴意(entailment)とは? ・伴意 = 論理的帰結 ・記号 ⊨ を使う A ⊨ B ・BはAの伴意である ・BはAの論理的帰結である ・背景知識+仮説 ⇒ 例 記号を使って表すと B(背景知識) ∧ H(仮説) ⊨ E(例) 逆伴意(inverse entailment)と は? 伴意:B(背景知識) ∧ H(仮説) ⊨ E(例) 演繹定理より H(仮説) ⊨ B(背景知識) → E(例) 逆伴意: 伴意を逆向きに読む 背景知識と例から仮説を得る Progolの仮説生成プロセス 逆伴意に基づき最も特殊な節(最弱仮説)を構成 最も特殊な節を包摂する空間(最弱仮説空間) において、最良優先探索 最良な仮説をみつける 仮説と最弱仮説の関係 仮説 一般的 正例 仮説 探索空間が 縮小される 特殊化 最弱仮説 仮説 特殊化 正例 最弱仮説 特殊化 特殊 正例 ここを求める 最弱仮説の生成 ・B ¬ Eから最弱仮説を演繹的に計算可能 H(仮説) ⊨ ¬(B → E) B(背景知識) → E(例) 対偶をとって ⊨ ¬H B¬E ⊨ ¬ Hは¬ bot(B,E) の部分連言() ¬H すべてのモデルで真な基底 リテラルの連言(): bot(B,E) B¬E ⊨ ¬ bot(B,E) 証明:¬ Hは¬ bot(B,E)の部分連言() ¬ Hが¬ bot(B,E)以外の基底リテラルを含む ¬ bot(B,E) = l1 ・・・ ln ¬ H = l1 ・・・ ln lk lk+1 B ¬ E にはlk , lk+1を 含まないモデルが存在 B¬E ⊭ ¬H ¬ Hは¬ bot(B,E)の部分連言() B ¬ E ⊨ ¬ bot(B,E) ⊨ ¬H 対偶をとって H ⊨ bot(B,E) 最弱仮説MSH B ¬ Eから最弱仮説を演繹的に計算可能 正例: gf(波平,タラオ) gf(洋平,カツオ) gf(洋平,サザエ) gf(洋平,ワカメ) 負例: gf(波平 ,カツオ) gf(舟,タラオ) gf(洋平,タラオ) 背景知識:f(波平,サザエ), m(舟,ワカメ), f(波平, カツオ),f(波平,ワカメ), m(サザエ,タラオ),f(洋平,波平) p(A,B):- f(A,B),p(A,B):- m(A,B) 母 洋平 海平 妹 波平 舟 ワカメ カツオ サザエ マスオ タラオ 正例E+: gf(波平,タラオ)について B ¬E ⊨ ¬MSH ¬MSHはB ¬Eのすべてのモデルで真 B ¬E = ¬ gf(波平,タラオ) f(波平,サザエ) m(舟,サザエ) f(波平,カツオ) f(波平,ワカメ) m(サザエ,タラオ) f(洋平,波平) p(A,B):- f(A,B) p(A,B):- m(A,B) ¬MSH は基底リテラルの連言 = ¬ gf(波平,タラオ) f(波平,サザエ) m(舟,サザエ) f(波平,カツオ) f(波平,ワカメ) m(サザエ,タラオ) f(洋平,波平) p(波平,サザエ) p(舟,サザエ) p(波平,カツオ) p(波平,ワカメ) p(サザエ,タラオ) p(洋平,波 MSH =¬ (¬ gf(波平,タラオ) f(波平,サザエ) m(舟,サザエ) f(波平,カツオ) f(波平,ワカメ) m(サザエ,タラオ) f(洋平,波平) p(波平,サザエ) p(舟,サザエ) p(波平,カツオ) p(波平,ワカメ) p(サザエ,タラオ) p(洋平,波平)) と同じ意味 =gf(波平,タラオ):- f(波平,サザエ), m(舟,サザエ), f(波平,カツオ), f(波平,ワカメ), m(サザエ,タラオ),f(洋平,波平), p(波平,サザエ), p(舟,サザエ), p(波平,カツオ), p(波平,ワカメ), p(サザエ,タラオ),p(洋平,波平) 最弱仮説から仮説を求める 仮説 一般的 H(仮説) ⊨ MSH(最弱仮説) 最弱仮説を伴意する 最良な仮説を求める 伴意を機械的 に行うのは困難 伴意を包摂で近似し、 仮説空間を探索しよう 特殊 最弱仮説 Progolの仮説生成プロセス 逆伴意に基づき最も特殊な節(最弱仮説)を構成 最弱仮説を包摂する空間(最弱仮説空間) において、最良優先探索 最良な仮説をみつける A*-like 探索 ・Progolで使われている探索方法 ・最弱仮説空間(最弱仮説を包摂する空間)を 探索し、最良仮説を得る ・A*探索を擬似して,作られている A* 探索 ・グラフにおける最良優先探索 ・評価関数 f(n) を最小にするパスをみつける。 f(n)=g(n)+h(n) : n経由の最短解の見積りコスト g(n):出発接点から接点nまでの経路のコスト h(n):ヒューリスティック関数 nからゴールまでの見積りコスト S 14 B I 10 10 8 21 A 18 E H 9 10 C 14 7 G 13 D 12 F ヒューリスティック関数(ゴールとの直線距離) S: A: B: C: D: E: F: H: I : G: 36 32 25 24 23 19 16 10 18 0 S B A f=14+25=39 f=10+32=42 S f=24+36=60 f=36 E f=22+19=41 I f=24+18=42 f=22+19=41 E B F f=30+25=55 f=38+16=54 f=31+10=41 F G E f=40+19=59 H f=44+16=60 f=41+0=41 よって、最良経路は、S B E H G S 14 B I 10 10 8 21 A 18 E H 9 10 C 14 7 G 13 D 12 F A*-like 探索グラフの生成 ・探索空間・・・最弱仮説(MSH)を包摂する空間 ・(empty set)からはじまるグラフを作り、そのグラフ について最良優先探索を行う。 MSH(最弱仮説) =gf(波平,タラオ):- f(波平,サザエ), m(舟,サザエ), f(波平,カツオ), f(波平,ワカメ), m(サザエ,タラオ),f(洋平,波平), p(波平,サザエ), p(舟,サザエ), p(波平,カツオ), p(波平,ワカメ), p(サザエ,タラオ),p(洋平,波平) gf(A,B) gf(A,B): gf(A,B): gf(A,B): -f(A,C) -m(C,D) -m(C,B) gf(A,B): gf(A,B): -f(C,A) -p(A,C) gf(A,B): -p(C,D) gf(A,B): -p(C,B) gf(A,B): gf(A,B): gf(A,B): gf(A,B): gf(A,B): gf(A,B): gf(A,B): -f(A,C), -f(A,C), -f(A,C), -f(A,C), -f(A,C), -f(A,C), -f(A,C), m(C,B) f(D,A) p(A,C) p(D,C) p(C,B) p(D,A) m(D,C) ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 最も特殊な節 ・ ・ ・ ・ ・ ・ gf(A,B):-f(A,C),m(D,C),f(A,E),m(C,B),f(F,A), p(A,C),p(D,C),p(A,E),p(C,B),p(F,A) グラフ内A*-like探索 ・評価関数として記述長最小原理を使う。 ・compression gainが最も大きいものが最良 compression gain= {説明される正事例の数} -({仮説のリテラル長}+ {説明される負事例の数}) {仮説のリテラル長}= {その時点の仮説のリテラル長}+{追加されるリテラル長} g(n) = {仮説のリテラル長}+{説明される負事 例} ・{追加されるリテラルの最小値}をヒューリスティック 関数で与える h(n)= head部の出力変数がすべて、body部の入力変数 として存在しない時に追加するリテラルの最小値 gf(A,B): -f(A,C) Bについてのリテラルを追加 p(A,B,C): -q(A,D) B, Cについてのリテラルを追加 ・ f(n)=説明される正事例の数-{ g(n) + h(n)} が最大になる仮説を見つける ・全解探索(仮説空間すべて考慮) 例 4 - (1+2+1) ー2 =0 gf(A,B) 4 - (0+3+2)= -1 0 gf(A,B): gf(A,B): gf(A,B): -f(A,C) -m(C,D) -m(C,B) -2 -1 gf(A,B): gf(A,B): -f(C,A) -p(A,C) -2 gf(A,B): -p(C,D) 0 gf(A,B): -p(C,B) gf(A,B): gf(A,B): gf(A,B): gf(A,B): gf(A,B): gf(A,B): gf(A,B): -f(A,C), -f(A,C), -f(A,C), -f(A,C), -f(A,C), -f(A,C), -f(A,C), m(C,B) f(D,A) p(A,C) p(D,C) p(C,B) p(D,A) m(D,C) ー3 ・ ・ ・ ・ ・ ・ ー1 ー3 ・ ・ ・ ・ ・ ・ gf(A,B):-f(A,C),m(D,C),f(A,E), m(C,B),f(F,A), p(A,C), p(D,C),p(A,E),p(C,B),p(F,A) 4 - (10+0)= ー6 ー1 ・ ・ ・ ・ ・ ・ ー3 2 ・ ・ ・ ・ 最良な仮説 ・ ・ ー3 実世界での応用 ・突然変異性物質の判別問題(King) 事例:突然変異を有する化合物 背景知識:化合物の原子と結合情報 仮説:化合物の突然変異性に関するルール ・データベースからの知識発見(嶋津,古川) 電子メール分類システム ・暗黙知の獲得(古川) 理想的な弓の動かし方 まとめ ・Progolにおける仮説生成 逆伴意に基づき,背景知識と正例から最弱仮説 を生成 最弱仮説を包摂する木においてA*-like探索 ・Progolの利点 探索空間が縮小される 背景知識 ・既に持っている知識 ・背景知識があるとより正確な理論が 得られる ・背景知識として、事実とルールが利用 可能 背景知識なし 正例:D1 = CuddlyPet(x) Small(x) , Fluffy(x) , Dog(x) D2 = CuddlyPet(x) Fluffy(x) , Cat(x) C = CuddlyPet(x) Fluffy(x) Cuddly:やわらかい Fluffy:ふわふわした 背景知識あり 背景知識: Pet(x) Cat(x) , Pet(x) Dog(x) Small(x) Cat(x) D = CuddlyPet(x) Small(x) , Fluffy(x) , Pet(x) 特殊な節とは? ・節には半順序関係がある 一般的 一般的:多くの例を説明する 特殊:少ない例しか説明しない p(A,B) > p(A,A). 一般的 特殊 p(A,B) > p(A,B):-q(A,B) p(A,B) > p(桂子,B) 特殊 記述長最小原理 ・学習の記述量・・・機械学習にとって重要な問題 ・記述量の多い仮説が多くの例を説明できるのは 当然 できるだけ少ない記述量で多くの例を説明はできないか? 記述長最小原理 包摂(subsumption)とは? 定義: H1,H2:節 H1θ ⊆ H2 となるような代入θが存在 H1はH2をθ-subsume(θ-包摂)する。 例: parent(花子, 太郎):- mother(花子, 太郎)を考える 包摂する節 parent(花子, 太郎) parent (A, 太郎): - mother(花子, 太郎) parent (A, B) :- mother (A, B) 包摂しない節 parent(花子,次郎) parent (A, B) :- mother (B, A) 包摂 = 部分集合 + 逆代入 伴意と包摂の関係 A subsume(包摂する) B A ⊨ B 伴意を包摂で近似しよう 部分連言だと伴意される A=l1・・・ln B=l1・・・lnln+1 Bを真にするような解釈はAも真にする B ⊨ A :BはAを伴意する 正例: gf(波平,タラオ) gf(洋平,カツオ) gf(洋平,サザエ) gf(洋平,ワカメ) 負例: gf(波平 ,カツオ) gf(舟,タラオ) gf(洋平,タラオ) 背景知識:f(波平,サザエ), m(舟,ワカメ), f(波平, カツオ),f(波平,ワカメ), m(サザエ,タラオ),f(洋平,波平) p(A,B):- f(A,B),p(A,B):- m(A,B)
© Copyright 2025 ExpyDoc