ILP説明パワーポイント

Download Report

Transcript ILP説明パワーポイント

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・・・lnln+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)