430 likes | 756 Views
Inverse Entailment and Progol Stephen Muggleton. 有川研究室 修士 1 年 坂東 恭子. 発表の流れ. ・はじめに ・帰納論理プログラミング( ILP )とは ・ Progol の説明 ・まとめ. 一階述語論理式を学習しよう. 背景知識を使おう. はじめに. 機械学習:決定木. 帰納論理プログラミング( ILP ). 帰納論理プログラミングとは?. 帰納論理 プログラミング. 機械学習 machine learning. 論理プログラミング logic programming.
E N D
Inverse Entailment and ProgolStephen Muggleton 有川研究室 修士1年 坂東 恭子
発表の流れ ・はじめに ・帰納論理プログラミング(ILP)とは ・Progolの説明 ・まとめ
一階述語論理式を学習しよう 背景知識を使おう はじめに 機械学習:決定木 帰納論理プログラミング(ILP)
帰納論理プログラミングとは? 帰納論理 プログラミング 機械学習 machine learning 論理プログラミング logic programming 背景知識、正例、負例 負例を説明せず、正例を説明する仮説をみつける
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の仮説生成プロセス 逆伴意に基づき最も特殊な節(最弱仮説)を構成 最も特殊な節を包摂する空間(最弱仮説空間) において、最良優先探索 最良な仮説をみつける
探索空間が 縮小される ここを求める 仮説と最弱仮説の関係 仮説 一般的 正例 仮説 特殊化 最弱仮説 仮説 特殊化 正例 最弱仮説 特殊化 正例 特殊
対偶をとって ¬ Hは¬ bot(B,E) の部分連言() B ¬E⊨¬ bot(B,E) 最弱仮説の生成 ・B ¬Eから最弱仮説を演繹的に計算可能 H(仮説)⊨B(背景知識) → E(例) ¬(B → E)⊨¬H すべてのモデルで真な基底 リテラルの連言():bot(B,E) B ¬E⊨¬H なぜ?
証明:¬ Hは¬ bot(B,E)の部分連言() ¬ Hが¬ bot(B,E)以外の基底リテラルを含む ¬ bot(B,E) = l1・・・ ln ¬ H = l1・・・lnlk lk+1 B ¬ E にはlk ,lk+1を 含まないモデルが存在 矛盾 B ¬E ⊭¬H
B ¬E ⊨¬ bot(B,E)⊨¬H 対偶をとって 最弱仮説MSH ¬ Hは¬ bot(B,E)の部分連言() H ⊨bot(B,E) 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 H 18 E 9 10 C 14 G 7 13 12 D F
B A f=14+25=39 f=10+32=42 E I S f=24+36=60 f=22+19=41 f=24+18=42 ヒューリスティック関数(ゴールとの直線距離) S : 36 A : 32 B : 25 C : 24 D : 23 E : 19 F : 16 H : 10 I : 18 G : 0 S f=36
B F H f=30+25=55 f=38+16=54 f=31+10=41 E F G f=40+19=59 f=44+16=60 f=41+0=41 E f=22+19=41 よって、最良経路は、S B E H G
S 14 B I 10 10 8 21 A H 18 E 9 10 C 14 G 7 13 12 D 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): -m(C,D) gf(A,B): -f(C,A) gf(A,B): -p(A,C) gf(A,B): -p(C,B) gf(A,B): -f(A,C) gf(A,B): -m(C,B) gf(A,B): -p(C,D) gf(A,B): -f(A,C), m(C,B) gf(A,B): -f(A,C), f(D,A) gf(A,B): -f(A,C), p(A,C) gf(A,B): -f(A,C), p(D,C) gf(A,B): -f(A,C), p(C,B) gf(A,B): -f(A,C), p(D,A) gf(A,B): -f(A,C), 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)= {仮説のリテラル長}+{説明される負事例}
・{追加されるリテラルの最小値}をヒューリスティック・{追加されるリテラルの最小値}をヒューリスティック 関数で与える ・ f(n)=説明される正事例の数-{g(n)+ h(n)} が最大になる仮説を見つける ・全解探索(仮説空間すべて考慮) h(n)= head部の出力変数がすべて、body部の入力変数 として存在しない時に追加するリテラルの最小値 gf(A,B): -f(A,C) Bについてのリテラルを追加 B, Cについてのリテラルを追加 p(A,B,C): -q(A,D)
gf(A,B): -m(C,D) gf(A,B): -f(C,A) gf(A,B): -p(A,C) gf(A,B): -p(C,B) gf(A,B): -f(A,C) gf(A,B): -m(C,B) gf(A,B): -p(C,D) gf(A,B): -f(A,C), m(C,B) gf(A,B): -f(A,C), f(D,A) gf(A,B): -f(A,C), p(A,C) gf(A,B): -f(A,C), p(D,C) gf(A,B): -f(A,C), p(C,B) gf(A,B): -f(A,C), p(D,A) gf(A,B): -f(A,C), m(D,C) 例 gf(A,B) 4 - (0+3+2)= -1 4 - (1+2+1) = 0 ー2 0 -2 -1 -2 0 ー3 ー1 ー3 ー1 ー3 2 ー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
実世界での応用 ・突然変異性物質の判別問題(King) ・データベースからの知識発見(嶋津,古川) 電子メール分類システム ・暗黙知の獲得(古川) 理想的な弓の動かし方 事例:突然変異を有する化合物 背景知識:化合物の原子と結合情報 仮説:化合物の突然変異性に関するルール
最弱仮説を包摂する木においてA*-like探索 まとめ ・Progolにおける仮説生成 逆伴意に基づき,背景知識と正例から最弱仮説 を生成 ・Progolの利点 探索空間が縮小される
背景知識 ・既に持っている知識 ・背景知識があるとより正確な理論が 得られる ・背景知識として、事実とルールが利用 可能
C = CuddlyPet(x) Fluffy(x) D = CuddlyPet(x) Small(x) ,Fluffy(x) , Pet(x) 背景知識なし 正例:D1 = CuddlyPet(x) Small(x) , Fluffy(x) , Dog(x) D2 = CuddlyPet(x) Fluffy(x) , Cat(x) Cuddly:やわらかい Fluffy:ふわふわした 背景知識あり 背景知識: Pet(x) Cat(x) ,Pet(x) Dog(x) Small(x) Cat(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)