19章&20章

エージェントアプローチ
人工知能
B4 片渕 聡
1
目次

19章 学習における知識

20章 統計的学習手法
2
19章 学習における知識
目次





学習の論理的な定式化
説明に基づく学習(EBL)
関連性に基づく学習(RBL)
知識に基づく学習(KBIL)
-帰納論理プログラミング(ILP)
まとめ
3
19章 学習における知識
目次





学習の論理的な定式化
説明に基づく学習(EBL)
関連性に基づく学習(RBL)
知識に基づく学習(KBIL)
-帰納論理プログラミング(ILP)
まとめ
4
経験による学習

仮説(規則)Hと例(入力)Dから分類(出力)Cを伴意
-H∧D ╞ C (Hは未知)
例 H:Father(y,z)∧Mother(x,y)⇒GrandMother(x,z)
D:Father(Tom,Bob) , Mother(Mary,Tom)
C:GrandMother(Mary,Bob)

上記の式の関係を伴意制約と呼ぶ
5
事前知識の利用

18章では新たな経験から規則を導出
-事前知識を用いていない

19章では事前知識を役立てる手法を紹介
-事前知識の利用で学習能力が大幅に向上
例:原始人Aが串を用いて調理している所を
それまで素手で調理していた原始人Bが目撃
することにより原始人Bは素手を使わない
調理法を学習することができる
6
論理による学習の表現

例を正確に分類するための目標述語Q(x)
-例:レストランで待つかどうか (WillWait(x))

Q(x)と等価な論理表現(仮説)の候補定義C(x)

学習の目的はQ(x)と等価なC(x)の導出
-∀x Q(x) ⇔ C(x)
7
論理による学習の表現
(例:レストラン問題)

18章で作成した決定木を定式化すると
∀x WillWait(x) ⇔ Patrons(x,some)
∨ ( Patrons(x,full)∧¬Hungry(x) )
仮説

新たな例が加わると例に矛盾する仮説を修正
例:Patrons(X,Full)∧Wait(X,0-20)∧
Hungry(X)∧WillWait(X)
-この例は上記の式に矛盾
仮説Patrons(X,Full)∧Wait(X,0-20)∧Hungry(X)を追加
8
にせの負例・にせの正例

にせの負例
-実際はTrueなのに仮説がFalseを返す例
にせの負例

T
T T
F
F
にせの正例
-実際はFalseなのに仮説がTrueを返す例
にせの正例
F T T
F
F
9
最良仮説探索

新たな例が与えられる度に仮説を改定する方法
-仮説の無矛盾性を維持

汎化
特化

10
汎化・特化

汎化
-仮説がにせの負例を含むようにすること
汎用化

T
T T
F
F
F
F
特化
-仮説がにせの正例を排除すること
特化
F
T T
11
最小選択探索

予め膨大な仮説空間を用意して
新たな例に矛盾する仮説を除去していく

初期仮説空間 H1∨H2∨ …∨Hn
例集合に矛盾した仮説をどんどん排除

後戻り(仮説の追加)の必要が無い
12
19章 学習における知識
目次





学習の論理的な定式化
説明に基づく学習(EBL)
関連性に基づく学習(RBL)
知識に基づく学習(KBIL)
-帰納論理プログラミング(ILP)
まとめ
13
事前知識を用いた学習の概念
背景知識
(事前知識)
蓄積
利用
観測

帰納学習
仮説
予測
EBL・RBL・KBIL
14
説明に基づく学習
(Explanation-Based Learning:EBL)

背景知識Bから一般的な規則Hを伴意
観察Dを背景知識を用いて説明
-H∧D ╞ C (Hは未知)
-B ╞ H
例 D:串で調理している人がいる
B:串で食物を支えることができる
H:細くて硬い物体で食物を支えることができる
15
19章 学習における知識
目次





学習の論理的な定式化
説明に基づく学習(EBL)
関連性に基づく学習(RBL)
知識に基づく学習(KBIL)
-帰納論理プログラミング(ILP)
まとめ
16
関連性に基づく学習
(Relevance-Based Learning:RBL)

観察を説明するような一般規則を
背景知識を用いて導出
-H∧D ╞ C (Hは未知)
-B∧D∧C ╞ H
例 B:特定の国の人は皆同じ言語で話す
D:Fernandoはブラジルの人でポルトガル語を話す
H:ブラジルに住む人はポルトガル語を話す
17
19章 学習における知識
目次





学習の論理的な定式化
説明に基づく学習(EBL)
関連性に基づく学習(RBL)
知識に基づく学習(KBIL)
-帰納論理プログラミング(ILP)
まとめ
18
知識に基づく帰納学習
(Knowledge-Based Inductive Learning:KBIL)

背景知識Bと新たな仮説Hで例を説明
-B∧H∧D ╞ C (含意制約)

帰納論理プログラミング
19
19章 学習における知識
目次





学習の論理的な定式化
説明に基づく学習(EBL)
関連性に基づく学習(RBL)
知識に基づく学習(KBIL)
-帰納論理プログラミング(ILP)
まとめ
20
帰納論理プログラミング
(Inductive Logic Programming:ILP)

含意制約を満たしつつ未知の仮説を導出
-例:家系図
George
Elizabeth
Charles
Mum
Philip
Anne
21
背景知識を用いた例の説明

背景知識なしでGrandparentに対する仮説は
Grandparent(x,y)⇔ [∃z Mother(x,z)∧Mother(z,y)]
∨ [∃z Mother(x,z)∧Father(z,y)]
∨ [∃z Father(x,z)∧Mother(z,y)]
∨ [∃z Father(x,z)∧Father(z,y)]

背景知識 Parent(x,y) ⇔ Mother(x,y)∨Father(x,y)
を用いると簡略化が可能
Grandparent(x,y) ⇔ [∃z Parent(x,z)∧Parent(z,y)]
22
トップダウン帰納学習手法

一般規則から例に合うように特殊化していく
例:Grandfather(x,y)の定義の学習
1.例を正例と負例に分ける
正例:<George,Anne>etc 負例:<Mum,Anne>etc
2.左辺が空の節を構築
[] ⇒ Grandfather(x,y)
3.これでは負例も含むので特化する(繰り返し)
Father(x,z) ⇒ Grandfather(x,y)
Father(x,z) ∧ Parent(z,y) ⇒ Grandfather(x,y)
23
逆演繹による帰納学習(1/2)

逆向き(逆融合)の証明を行う
仮説
¬Parent(Elizabeth,y)∨ Grandparent(George,y)
{y/Anne}
KB
Parent(Elizabeth,Anne)
Grandparent(George,Anne)
KB(否定)
¬Grandparent(George,Anne)
24
逆演繹による帰納学習(2/2)
1.目標例C2を規定 Grandparent(George,Anne)
2.空の節とC2の否定を逆融合して
Grandparent(George,Anne) (C1)を生成
3. C1と知識ベースにある
Parent(Elizabeth,Anne)とを逆融合
4.仮説
¬Parent(Elizabeth,y)∨ Grandparent(George,y)
を生成
5.さらに逆融合していくことで新たな仮説が得られる
25
19章 学習における知識
目次





学習の論理的な定式化
説明に基づく学習(EBL)
関連性に基づく学習(RBL)
知識に基づく学習(KBIL)
-帰納論理プログラミング(ILP)
まとめ
26
まとめ






事前知識の利用により学習能力が向上
汎化・特化を行い例に無矛盾な仮説を構築
説明による学習: B ╞ H
関連性による学習: B∧D∧C ╞ H
知識に基づく学習: B∧H∧D ╞ C
帰納論理プログラミング:KBILの実行手法
-トップダウン帰納学習手法
-逆演繹による帰納学習
27
ここまで19章

演繹
-前提が真ならば結論も真だと認めざるを得ないこと
前提 ⇒ 結論
28
20章 統計的学習手法
目次






統計的学習とは
完全なデータからの学習
隠れ変数を含む学習(EMアルゴリズム)
事例に基づく学習
ニューラルネットワーク
まとめ
29
20章 統計的学習手法
目次






統計的学習とは
完全なデータからの学習
隠れ変数を含む学習(EMアルゴリズム)
事例に基づく学習
ニューラルネットワーク
まとめ
30
確率モデルの学習

実環境は不確実性に満ち溢れている
経験から実環境の確率法則を学習

統計的学習
-確率推論の学習
31
統計的学習(例)

くじ箱が5つあり、そこから一つ選んでくじ引き
d:くじ引きであたりを引くという事象
h1:100%あたり P(d|h1)=1.0
h2:80%あたり P(d|h2)=0.8
h3:50%あたり P(d|h3)=0.5
h4:20%あたり P(d|h4)=0.2
h5:0%あたり
P(d|h5)=0
※dはデータ、hは仮説と呼ぶことにする
32
ベイズ学習

観測データが与えられた時の仮説の確率を計算
-P(hi|d)=αP(d|hi)P(hi) (ベイズ規則)
例:外れを2回引いたとき
P(h5|d)=α×12×0.2≒0.2127

データを得た時にあたりを引く(事象X)確率分布は
P(X|d)=ΣP(X|hi)P(hi|d) (定義)
と予測できる
33
最大事後確率学習
(Max A Posteriori:MAP)

与えられたデータの元で尤もらしい仮説を採用
-P(X|d)≒P(X|hMAP)の近似

ベイズ学習の単純化
計算量の緩和

34
20章 統計的学習手法
目次






統計的学習とは
完全なデータからの学習
隠れ変数を含む学習(EMアルゴリズム)
事例に基づく学習
ニューラルネットワーク
まとめ
35
完全なデータからの学習

完全なデータ
-モデルの全ての確率変数を含む観測データ

完全なデータからの学習
-観測モデルの未知のパラメータの推定
-ベイジアンネットの条件付確率の学習
36
パラメータの最尤学習
離散モデル

当たる確率θのわからないくじにおけるθの導出
1.N個のくじを引いてc個があたりだったとして
このデータが得られるθの尤もらしさ(尤度)は
P(d|hθ)=θc・(1-θ)N-c (hθ:比率θの仮説)
2.尤度の対数(対数尤度)を取る
L(d|hθ)=log(P(d|hθ))=clogθ+(N-c)log(1-θ)
3.θで微分して得られた式を0にするθを求める
dL(d|hθ) c
l
=θ 1-θ
+
dθ
=0 ⇒ θ=
N
c
37
パラメータの最尤学習
連続モデル

確率変数θが連続値をとる場合の最尤学習
・P(θ)が連続関数になる
-離散モデルと同様の処理で求まる

意思決定にはθが最大になる仮説を採用
-離散モデルも同様
38
パラメータのベイズ学習

ベータ分布(一様分布)の利用
beta[a,b](θ)=αθa-1・(1-θ)b-1
a,b:超パラメータ(分布の形に影響)

あたりを引いた場合
P(θ|d1)=αP(d1|θ)P(θ)=α’beta[a,b](θ)・θ
=beta[a+1,b](θ)
あたりを引くたびにaを1増やし
はずれを引くたびにbを1増やすだけで
事後確率の更新が可能
39
素朴ベイズモデル

予測の対象Cを観測の対象Xiから求める
-P(C|x1,x2)=αP(C)P(x1|C)P(x2|C)
P(c)=0.5
C
t
f
P(x1)
0.1
0.5
C
X1
X2
C
P(x2)
t
0.8
f
0.2
40
20章 統計的学習手法
目次






統計的学習とは
完全なデータからの学習
隠れ変数を含む学習(EMアルゴリズム)
事例に基づく学習
ニューラルネットワーク
まとめ
41
隠れ変数を含む学習
EMアルゴリズム

隠れ変数を用いることで問題を単純化できる
-隠れ変数:学習の際に観測不能な変数
A
B
A
B
隠れ変数
E
C

D
C
D
隠れ変数を用いることでややこしくなることも多い
EMアルゴリズム
42
期待値最大化法
(Expectation Maximization):EM

隠れ変数が存在する時の最尤学習を行う手法
-パラメータの更新
θ(i+1)=argmaxΣP(Z=z|x,θ(i))L(x,Z=z|θ)
θ
Z:全ての隠れ変数 L:対数尤度



教師なしクラスタリング
-対象の集合をカテゴリに分類・識別
ベイジアンネットの学習
隠れマルコフモデルの学習
43
20章 統計的学習手法
目次






統計的学習とは
完全なデータからの学習
隠れ変数を含む学習(EMアルゴリズム)
事例に基づく学習
ニューラルネットワーク
まとめ
44
事例に基づく学習

ノンパラメトリック学習
-確率分布に関する仮定を設けずに行う学習
・パラメータの学習にはベータ分布を用いた


最近傍モデル
カーネルモデル
45
最近傍法

ある点xとその近傍にある点x’は似ているだろう
-点xの近くにある点だけを参照
・k個参照する場合は
k近傍法

距離を測るための尺度D(x,x’)を使用
-ハミング距離・マハラノビス距離etc
46
カーネルモデル

観測データに距離によって重み付けを行う
-重み付けにはよくガウス分布が使われる
1
ω2√(2π)d
K(x,xi)=
e
D(x,xi)2
2ω2
(赤字は全て未知)
カーネル関数

確率密度関数P(x)は
P(x)=1/NΣK(x,xi)
i
47
20章 統計的学習手法
目次






統計的学習とは
完全なデータからの学習
隠れ変数を含む学習(EMアルゴリズム)
事例に基づく学習
ニューラルネットワーク
まとめ
48
ニューラルネットワーク

人工的なニューロン(神経細胞)の働きの構築
-電気的信号の収集・処理・伝達
W0,i
Wj,i
ユニットi
Σ
g
ai
収集 処理 伝達
49
ニューラルネットワークのユニット

入力:ini=ΣajWj,I (0≦ini≦1)
j
-ユニットjの活性度(出力値)aj
-ユニットjとiの(結合の)重みWj,i
※固定入力a0=-1に対するバイアス重みW0,i


処理:活性度関数g(ini) 人間が設定
出力:ai=g(ini) (0≦ai≦1)
50
ニューラルネットワークの構造

前向き結合ネットワーク
-入力に対して出力をただ返す

回帰結合ネットワーク
-出力値がもう一度入力に用いられる
51
前向き結合ネットワークにおける
単純な計算

下図の例ではa5を計算
入力ユニット
1
3
5
2

4
隠れユニット
出力ユニット
a5=g(W3,5a3+W4,5a4)
=g(W3,5g(W1,3a1+W2,3a2)+W4,5g(W1,4a1+W2,4a2))
52
ニューラルネットワークにおける学習

ネットワーク全体の出力(前スライドa5)が
他のネットワークに対する入力関数となる
ネットワーク全体の関数はhW(a1,a2)

Wを調節することでネットワークの関数が変化
パラメータWの調節による関数の変化の学習
53
多層前向き結合ニューラルネットワーク
(パーセプトロン)


隠れユニットを持たない前向き結合ネットワーク
-出力ユニットが1つのみ
ブール関数を表現可能
I1 超平面
-閾関数パーセプトロン
IFΣWjxj>h (h:閾値)
RETURN 1
I1 xor I2は表現不可
I2
I1 or I2
54
多層前向き結合ニューラルネットワーク

隠れユニット(変数)を含む前向き結合ネットワーク
表現力の向上
1
3
5
2

4
誤差逆伝播アルゴリズム
-出力値の誤差を最小にするアルゴリズム
任意の関数の近似に利用
55
カーネルマシン


単層ネットワークでは表現できる関数が乏しい
多層ネットワークでは局所的最適解が沢山出る
カーネルマシン
-上のジレンマをある程度解消
複雑な関数を表現可能かつ
効率的な学習アルゴリズムを持つ
56
20章 統計的学習手法
目次






統計的学習とは
完全なデータからの学習
隠れ変数を含む学習(EMアルゴリズム)
事例に基づく学習
ニューラルネットワーク
まとめ
57
まとめ




統計的学習:確率分布の学習
隠れ変数による問題の単純化や表現力の向上
仮定を設定しない学習:最近傍法・カーネルモデル
ニューラルネットワーク:収集・処理・伝播
58
応用例:手書き数字認識

3近傍法により下記の手書き数字も認識可能

各々の図形に近似している図形(Best3)を参照
-これだけでは精度に難あり
専用ニューラルネットワーク
Boostedニューラルネットワークetc
59