人工知能特論2011 平成24年1月13日(金) 東京工科大学大学院 亀田 弘之 全体のまとめ • なぜ論理学の話をしたのか? • 今までの話がどのように人工知能に関わって いるのか? • 最近はやりのData Mining ( Text Mining, Web Mining Knowledge Discovery)の 側面から話をしましょう! (DMは今やAIの一分野とも考えられる) 2 知識の発見 • 知識=普遍の真理 • 真理の探究 こんなことが自動的にできると凄いよね! 3 真実 Web 4 “高度データマイニング2005”より Advanced Data Mining 高度データマイニング 東京工科大学大学院 バイオニクス・情報メディア学専攻科 Version 2 DM Methodology 6 DM Methodology 1. Exploratory data analysis (探索的データ解析) 2. Computational data mining (計算論的データマイニング) 3. Statistical data mining (統計的データマイニング) 7 DM Methodology 1. Exploratory data analysis (探索的データ解析) 2. Computational data mining (計算論的データマイニング) 3. Statistical data mining (統計的データマイニング) 8 1.Exploratory data analysis a. 統計的データ解析(SDA) b. 探索的データ解析(EDA) 9 統計的データ解析(SDAの基礎) 1. 視覚的分析 • • 表: 度数分布表(frequency table) 図: ヒストグラム(histogram) 2. 数値的分析 • • • 代表値: 平均 (mean) 中央値 (median) モード (mode,最頻値) ばらつき度:分散(variance) 平均偏差(mean deviation; MD) 標準偏差(standard deviation) 範囲(range = 最大値ー最小値) その他 四分位数(quartile,第一・二・三) 外れ値 10 統計的データ解析(EDAの基礎) 1. 視覚的分析 • • 表: 度数分布表(frequency table) 図: ヒストグラム(histogram) 2. 数値的分析 • • • 代表値: 平均 (mean) 中央値 (median) モード (mode,最頻値) ばらつき度:分散(variance) 平均偏差(mean deviation; MD) 標準偏差(standard deviation) 範囲(range = 最大値ー最小値) その他 四分位数(quartile,第一・二・三) 外れ値 11 探索的データ解析(EDA) 1. 2. 3. 4. 5. 6. 7. 幹葉表示(stem-and-leaf display) 要約値(letter value display) 箱ヒゲ図(box-whisker plots) X-Y表示(X-Y plotting) 抵抗性のある直線回帰(registant line) 中央値分散分析(median polish) 時系列データのならし(smoothing) 12 探索的データ解析(EDA) 1. 幹葉表示(stem-and-leaf display) ヒストグラムに代わる手法 2. 要約値(letter value display) 平均値・標準偏差に代わるもの 3. 箱ヒゲ図(box-whisker plots) 分布の形と外れ値の図的表示 13 DM Methodology 1. Exploratory data analysis (探索的データ解析) 2. Computational data mining (計算論的データマイニング) 3. Statistical data mining (統計的データマイニング) 14 3.Statistical data mining a. b. c. d. e. f. Statistic models(統計モデル) Statistic inference(統計的推論) Non-parametric model General linear model Log-linear model Graphical model etc. 15 DM Methodology 1. Exploratory data analysis (探索的データ解析) 2. Computational data mining (計算論的データマイニング) 3. Statistical data mining (統計的データマイニング) 16 2.Computational data mining 1. 2. 3. 4. 5. 6. Cluster analysis(クラスター分析) Tree models(木モデル) Linear regression(線形回帰) Logistic regression(ロジスティック回帰) Neural networks(ニューラルネットワーク) ILP(Inductive Logic Programming; 帰納論理プログラミング) 7. SVM(support vector machines) etc. 17 2.Computational data mining a. b. c. d. e. f. Tree models(木モデル) Cluster analysis(クラスター分析) Linear regression(線形回帰) Logistic regression(ロジスティック回帰) Neural networks(ニューラルネットワーク) ILP(Inductive Logic Programming; 帰納論理プログラミング) etc. 18 a.クラスター分析 i. Hierarchical methods(階層型法) ii. Non-hierarchical methods(非階層型法) 19 a.クラスター分析(2) • 基本的考え方: 1. 近いデータをかき集めてグループを作る。 2. 近いグループ同士をかき集めて新たなグルー プを作る。 3. これの繰り返し。 20 クラスター分析(例) 21 クラスター分析(例) 22 クラスター分析(例) 23 クラスター分析(例) 24 クラスター分析(例) 25 クラスター分析(2) • 基本的考え方: 1. 近いデータをかき集めてグループを作る。 2. 近いグループ同士をかき集めて新たなグルー プを作る。 近い => 距離(distance)が主要な役割を果たす 26 距離って何だっけ? 27 距離(distance) • 空間Sの任意の2点x,yの間に、1つの実数d(x,y) が定義されていて、これが次の4つの条件を満た しているとき、d(x,y)を2点x,y間の距離という。 (1)d ( x, y ) 0 (2)d ( x, x) 0 (3)d ( x, y ) d ( y, x) (4)d ( x, y ) d ( x, z ) d ( z, y ) 28 29 2点間の距離 空間S x 2点間の距離d(x,y) y 30 2グループ間の距離は? 31 2グループ間の距離は? グループA グループB 32 2グループ間の距離 グループA グループB 距離d(A,B) 33 2グループ間の距離 グループA 平均値・中央値 グループB 距離d(A,B) 34 2グループ間の距離 グループA 平均値・中央値 グループB 距離d(A,B) 代表値間の距離 35 いろいろな距離(関数) 2 2 1.d ( x , y ) ( x1 x2 ) ( y1 y2 ) 2.d ( x , y ) | x1 x2 | | y1 y2 | 3.d ( x , y ) max{| x1 x2 |, | y1 y2 |} 4.d ( x , x ) 0, d ( x , y ) 1 if x y. etc. 36 いろいろな距離(関数)(2) • Euclidean distance(ユークリッド距離) • Mahalanobis disntance(マハラノビス距離) • Edit distance(エディト距離) etc. 37 b.木モデル • 決定木(decision tree) 38 決定木の用途 • • • • • 分類問題 診断問題 予測問題 制御問題 パターン認識問題 etc. 39 その前に、ちょっと復習 40 木とは? 41 42 43 44 • これらをひっくり返すると… 45 46 • これらを抽象化すると… 47 木とは 48 木とは(2) 枝(branch) 49 木とは 根(root) 節(node) 50 木とは 根(root) 葉(leaf) 節(node) 51 決定木の例(その1) クレジット利用者 1000人 利用状況 適切利用者 700人 不適切利用者 300人 負債状況 負債あり 500人 負債なし 200人 履歴状況 ブラックリスト者 10人 非ブラックリスト者 290人 52 決定木の例(その2) サイレン あり なし 車体の色 車体の大きさ 白 赤 大 中 白黒 消防車 パトカー 小 救急車 大型トラック 普通自動車 軽自動車 53 決定木の作成(学習) 大 量 の 例 決定木の作成 決 定 木 54 決定木の作成(学習) 大 量 の 例 決定木の作成 決 定 木 分類問題の解 55 56 人工知能特論2009 東京工科大学大学院 バイオニクス・情報メディア学専攻科 Decision Tree for PlayTennis Outlook Sunny Rain Overcast Humidity High Yes Wind Yes Normal Yes Strong No Weak Yes 58 Training Examples Day Outlook 天候 Temperature 温度 Humidity 湿度 Wind 風 Play Tennis D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 Sunny Sunny Overcast Rain Rain Rain Overcast Sunny Sunny Rain Sunny Overcast Overcast Rain Hot Hot Hot Mild Cool Cool Cool Mild Cool Mild Mild Mild Hot Mild High High High High Normal Normal Normal High Normal Normal Normal High Normal High Weak Strong Weak Weak Weak Strong Strong Weak Weak Weak Strong Strong Weak Strong No No Yes Yes Yes No Yes No Yes Yes Yes Yes Yes No 59 Top-down Induction of Decision Tree Main loop: 1. A ← the best decision attribute for next node 2. Assign A as decision attribute for node 3. For each value of A, create new descendant of node 4. Sort training examples to leaf nodes 5. If training examples perfectly classified, then HALT, else iterate over new leaf nodes. 60 Which attribute is the best? [29+, 35-] T [21+, 5-] A1=? F [8+, 30-] [29+, 35-] T [18+, 33-] A2=? F [11+, 2-] 61 Entropy • • • • S is a sample of training examples p+ is the proportion of positive examples in S p- is the proportion of negative examples in S Entropy measures the impurity of S Entropy(S ) p log2 p p log2 p (0 p , p 1, p p 1) 62 Entropy(エントロピー) 1 0.9 0.8 0.7 0.6 0.5 Entropy 0.4 0.3 0.2 0.1 0 0 0.5 1 63 Interpretation of Entropy • Entropy(S)とは…2つのグループ(各生起確 率がp+とp-)を符号化するのに必要なビット 数(情報量) • その理由は… P+ P- 64 Information Theory(情報理論) • 生起確率pのメッセージに対する最適符号長符号 (optimal length code)は、 log2 p で与えられる。 • したがって、それぞれ確率p+とp-で生起する2つの組 に対する平均符号長は、 p ( log2 p ) p ( log2 p ) で与えられる。これはEntropyの公式そのものである。 65 Entropyの本当の定義 • 無記憶情報源Sから、シンボルs1, s2, s3, …, snがそ れぞれp1, p2, p3, … ,pn の生起確率で出現するとき、 この無記憶情報源Sのエントロピーは以下の式で定 義される。 n Entropy( S ) pk log2 pk k 1 0 pk 1 ( k 1,2,3,...,n) p1 p2 p3 ... pn 1 66 Information Gain(情報利得) • Gain(S,A): 「もともと(S)のエントロピー」と「Aに着目 する分類後のエントロピー」の差。 これを情報利得と呼ぶ。 | Si | Gain( S , A) Entropy( S ) Entropy( Si ) iValues( A) | S | 67 Which attribute is the best? [29+, 35-] T [21+, 5-] A1=? F [8+, 30-] [29+, 35-] A2=? T [18+, 33-] | Si | Gain( S , A) Entropy( S ) Entropy( Si ) iValues( A) | S | F [11+, 2-] 68 Which is the best? - Selecting the next attribute - high [3+, 4-], E=0.985 [3+, 4-], E=0.985 [3+, 4-], E=0.985 Humidity Wind normal [3+, 4-], E=0.985 Gain(S,Humidity)=0.151 weak [3+, 4-], E=0.985 strong [3+, 4-], E=0.985 Gain(S,Wind)=0.048 69 Training Examples Day Outlook 天候 Temperature 温度 Humidity 湿度 Wind 風 Play Tennis D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 Sunny Sunny Overcast Rain Rain Rain Overcast Sunny Sunny Rain Sunny Overcast Overcast Rain Hot Hot Hot Mild Cool Cool Cool Mild Cool Mild Mild Mild Hot Mild High High High High Normal Normal Normal High Normal Normal Normal High Normal High Weak Strong Weak Weak Weak Strong Strong Weak Weak Weak Strong Strong Weak Strong No No Yes Yes Yes No Yes No Yes Yes Yes Yes Yes No 70 分類前のエントロピー ・Yes ・No 9 5 [9+, 5-] 9 9 5 5 E (S ) log2 ( ) log2 ( ) 14 14 14 14 0.94 71 Outlookに着目する場合 • Sunny • Overcast • Rain [2+, 3-] [4+, 0-] [3+, 2-] 5 4 5 E (Outlook) E ( Sunny) E (Overcast) E ( Rain) 0.767 14 14 14 2 2 3 3 E ( Sunny) log2 ( ) log2 ( ) 0.97 5 5 5 5 4 4 0 0 E (Overcast) log2 ( ) log2 ( ) 0.26 4 4 5 5 3 3 2 2 E ( Rain) log2 ( ) log2 ( ) 0.97 5 5 5 5 72 Temperatureに着目する場合 • Hot • Mild • Cool [2+, 2-] [4+, 2-] [3+, 1-] 4 6 4 E (Tem p) E ( Sunny) E (Overcast) E ( Rain) 0.911 14 14 14 2 2 2 2 E ( Hot) log2 ( ) log2 ( ) 1.00 4 4 4 4 4 4 2 2 E ( Mild ) log2 ( ) log2 ( ) 0.918 6 6 6 6 1 1 3 3 E (Cool) log2 ( ) log2 ( ) 0.811 4 4 4 4 73 Humidityに着目する場合 • High • Normal [3+, 4-] [6+, 1-] 7 7 E ( Hum idity) E ( High) E ( Norm al) 0.789 14 14 3 3 4 4 E ( High) log2 ( ) log2 ( ) 0.985 7 7 7 7 6 6 1 1 E ( Norm al) log2 ( ) log2 ( ) 0.592 7 7 7 7 74 Windに着目する場合 • Weak • Strong [6+, 2-] [3+, 3-] 8 6 E (Wind ) E (Weak ) E ( Strong) 0.892 14 14 6 6 2 2 E (Weak ) log2 ( ) log2 ( ) 0.811 8 8 8 8 3 3 3 3 E ( Strong) log2 ( ) log2 ( ) 1.00 6 6 6 6 75 情報利得を計算すると… Gain( S , Outlook) E ( S ) E (Outlook) Gain( S , Hum idity) E ( S ) E ( Hum idity) Gain( S ,Wind ) E ( S ) E (Wind ) Gain( S , Tem perature) E ( S ) E (Tem perature) 76 Decision Tree for PlayTennis Outlook Sunny Rain Overcast Humidity High Yes Wind Yes Normal Yes Strong Yes Weak Yes 77 決定木まとめ • 決定木は分類器 • 決定木が例から学習出来る • 過学習(overfiting)回避の工夫が必要 => 枝刈り(pruning) • 決定木学習は命題論理の命題学習に相当 =>述語論理への拡張が必要 =>帰納的論理プログラミング (ILP; Inductive Logic Programming) 78 79 高度データマイニング ーILP概説ー 東京工科大学大学院 亀田弘之 Version 2 ILP What? • 述語論理上で帰納推論を展開するアプロー チであり、分類問題を解決することが出来る 枠組み 81 ILP What? • 述語論理上で帰納推論を展開するアプロー チであり、分類問題を解決することが出来る 枠組み 82 述語論理 • 対象間の関係を記述する知識表現 例:太郎は花子を愛している。 => 愛する(太郎,花子) => love(taro,hanako) 83 述語論理 • 対象間の関係を記述する知識表現 記述のための言語が必要 => love(taro,hanako) => P(x1,x2) 84 述語論理記述のための言語 • • • • • • 変数 関数 述語 論理結合子 限量子 コンマ等 85 述語論理記述のための言語 • • • • • • 変数: 関数: 述語: 論理結合子: 限量子: コンマ等: xi (i 1,2,3,...) f P k i k (i 1,2,3,...;k 0,1,2,...) (i 1,2,3,...;k 0,1,2,...) i , 86 項(Term) • 変数は項である。 • 関数F(t1, t2, …, tn) は項である。 ただし、 t1, t2, …, tn は項。 • 以上のものだけが項である。 87 基礎項 • 変数を含まない項のこと。 88 アトム(atom) • P(t1, t2, …, tn )はアトムである。 ただし、 t1, t2, …, tn は項。 • t1, t2, …, tnすべてが基礎項のとき、 p(t1, t2, …, tn )を基礎アトム(ground atom)と 呼ぶ。 89 論理式 1. 述語P(t1, t2, …, tn )は論理式。 2. Fが論理式ならば、¬Fも論理式。 3. FとGが論理式ならば、(F∧G) と(F∨G)も論 理式。 4. Fが論理式、xが変数のとき、 ∃x F と ∀x F も論理式。 5. これらにより作られるものだけが論理式。 90 論理式の例 F (x1P52 ( x1, f 21 ( x2 )) x2 P42 ( x2 , f72 ( f 40 , f51 ( x3 )))) Problem1: この論理式の構造は どうなっているか? Problem2: この論理式の意味は どうなっているか? 91 確認問題 次のうちどれが論理式? 2 3 Q ( x100 , x4 ) 2 3 P ( x100 , x4 ) 2 4 3 100 , )x P x ( 3 2 P ( x100 , x4 ) love(taro, hanako) 92 確認問題 次のうちどれが論理式? 2 3 Q ( x100 , x4 ) 2 3 P ( x100 , x4 ) 2 4 3 100 , )x P x ( 3 2 P ( x100 , x4 ) x4x P ( x100 , x4 ) 3 100 2 love(taro, hanako) 93 love(taro, hanako) 2 3 P ( x100 , x4 ) 論理式のシンタッ クスはこちら。 扱いたいのは こちら! 94 「解釈」の導入( 形式 → 内容 ) • 解釈(Interpretation) • なぜ「解釈」が必要なの? • これって真(true)なの偽(false)なの? 2 3 P ( x100 , x4 ) 各記号の解 釈が必要! Pやxが何を意味しているのかわからなければ 決まらない。 95 述語論理式の意味論 • 構造A=(UA,IA) ただし、UA≠Φ(領域) IA は論理式の各記号の意味割り当てをする 写像。 この辺は抽象的なので、具体例で理解しよう 。 96 とある世界を考える。 97 抽象化しよう! 98 とある世界 99 とある世界 100 とある世界 101 太郎 花子 愛 102 言語化 論理式 解釈 103 言語化 2 3 P ( x100 , x4 ) 解釈 104 もう一息整理しよう! 105 言語化 love(taro, hanako) 2 3 P ( x100 , x4 ) 太郎は花子を愛する 解釈 106 解釈の構築(意味の割当て) • UA={ taro, hanako } • IA: x100 ↔ taro x4 ↔ hanako P32 (*, **) ↔ love(*,**) これに意味を持たせる ことができた!! P32 ( x100 , x4 ) 以下、省略… 107 述語論理あれこれ • Prenex Conjunctive Normal Form (PCNF) • Skolem Standatd Form (SSF) – Skolem 定数 – Skolem関数 – φが充足不可能SSF(φ)が充足不可能 • Herbrand Model (HM) – φがモデルを持つ φがHMを持つ など 108 その他 • • • • • Resolution 代入 包摂 束構造 lgg(least general generalization)や rlgg(reletively lgg) • 高階論理 • Paraconsistent Logic など 109 • 知識記述言語(知識表現)としての論理式 • 推論のために論理学を導入 推論体系完全性・妥当性・推論アルゴリズム の存在等の理由により、現在は通常“1階の 述語論理”が採用されている。 この殻を破ればさらに発展がある筈! 110 こんな準備しつつ、いよいよILPへ 111 以下、Webより拝借した資料です • 取り扱いに注意してください! 112 Inverse Entailment and Progol Stephen Muggleton 有川研究室 修士1年 坂東 恭子 一部亀田により改変2010.01.08 発表の流れ ・はじめに ・帰納論理プログラミング(ILP)とは ・Progolの説明 ・まとめ 114 はじめに 機械学習:決定木 一階述語論理式を学習しよう 背景知識を使おう 帰納論理プログラミング(ILP) 115 帰納論理プログラミングとは? 帰納論理 プログラミング 論理プログラミング logic programming 機械学習 machine learning 背景知識、正例、負例 負例を説明せず、正例を説明する仮説をみつける 116 ILP システムの例 ・GOLEM :1992年Muggletonらにより開発 rlgg (Relative Least General Generalization) ・Progol :1995年Muggletonらにより開発 逆伴意(inverse entailment)に基づく ・FOIL :1990年Quinlanにより開発 ・GKS :1995年溝口により開発 など 117 Progol とは? ・1995年Muggletonにより開発されたILP システム ・C (Prolog)で記述されている。 ・逆伴意(inverse entailment)の考えを採用 118 伴意(entailment)とは? ・伴意 = 論理的帰結 ・記号 ⊨ を使う A ⊨ B ・BはAの伴意である ・BはAの論理的帰結である ・背景知識+仮説 ⇒ 例 記号を使って表すと B(背景知識) ∧ H(仮説) ⊨ E(例) 119 逆伴意(inverse entailment)とは? 伴意:B(背景知識) ∧ H(仮説) ⊨ E(例) 演繹定理より H(仮説) ⊨ B(背景知識) → E(例) 逆伴意: 伴意を逆向きに読む 背景知識と例から仮説を得る 120 Progolの仮説生成プロセス 逆伴意に基づき最も特殊な節(最弱仮説)を構成 最弱仮説を包摂する空間(最弱仮説空間) において、最良優先探索 最良な仮説の発見 121 仮説と最弱仮説の関係 仮説 一般的 探索空間が 縮小される! 正例 仮説 特殊化 最弱仮説 仮説 特殊化 正例 最弱仮説 特殊化 特殊 正例 ここが歳弱化節とすると... 122 最弱仮説の生成 ・B ¬ Eから最弱仮説を演繹的に計算可能 H(仮説) ⊨ ¬(B → E) B(背景知識) → E(例) 対偶をとって ⊨ ¬H B¬E ⊨ ¬ Hは¬ bot(B,E) の部分連言() ¬H すべてのモデルで真な基底 リテラルの連言():bot(B,E) B¬E ⊨ ¬ bot(B,E) 123 証明:¬ 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 124 ¬ Hは¬ bot(B,E)の部分連言() B ¬ E ⊨ ¬ bot(B,E) ⊨ ¬H 対偶をとって H ⊨ bot(B,E) 最弱仮説MSH B ¬ Eから最弱仮説を演繹的に計算可能 125 正例: 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) 126 母 洋平 海平 妹 波平 舟 ワカメ カツオ サザエ マスオ タラオ 127 正例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(洋平,波) 128 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(洋平,波平) 129 最弱仮説から仮説を求める 仮説 一般的 H(仮説) ⊨ MSH(最弱仮説) 最弱仮説を伴意する 最良な仮説を求める 伴意を機械的 に行うのは困難 伴意を包摂で近似し、 仮説空間を探索しよう 特殊 最弱仮説 130 Progolの仮説生成プロセス 逆伴意に基づき最も特殊な節(最弱仮説)を構成 最弱仮説を包摂する空間(最弱仮説空間) において、最良優先探索 最良な仮説をみつける 131 A*-like 探索 ・Progolにおける探索方法 <=改善の余地あり! ・最弱仮説空間(最弱仮説を包摂する空間)を 探索し、最良仮説を得る ・A*探索が元になっている 132 A* 探索 ・グラフにおける最良優先探索 ・評価関数 f(n) を最小にするパスをみつける。 f(n)=g(n)+h(n) : n経由の最短解の見積りコスト g(n):出発接点から接点nまでの経路のコスト h(n):ヒューリスティック関数 nからゴールまでの見積りコスト 133 S 14 B I 10 10 8 18 A 5 E H 9 10 C 14 7 G 6 D 7 F 134 ヒューリスティック関数(ゴールとの直線距離) S: A: B: C: D: E: F: H: I : G: 42 35 28 30 23 19 16 10 18 0 S B A f=14+28=42 f=10+35=45 S f=24+36=60 f=36 E f=22+19=41 I f=24+18=42 135 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 136 S 14 B I 10 10 8 21 A 18 E H 9 10 C 14 7 G 13 D 12 F 137 A*-like 探索グラフの生成 ・探索空間・・・最弱仮説(MSH)を包摂する空間 ・(empty set)からはじまるグラフを作り、そのグラフ について最良優先探索を行う。 138 MSH(最弱仮説) =gf(波平,タラオ):- f(波平,サザエ), m(舟,サザエ), f(波平,カツオ), f(波平,ワカメ), m(サザエ,タラオ),f(洋平,波平), p(波平,サザエ), p(舟,サザエ), p(波平,カツオ), p(波平,ワカメ), p(サザエ,タラオ),p(洋平,波平) 139 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) 140 グラフ内A*-like探索 ・評価関数として記述長最小原理を使う。 ・compression gainが最も大きいものが最良 compression gain= {説明される正事例の数} -({仮説のリテラル長}+ {説明される負事例の数}) {仮説のリテラル長}= {その時点の仮説のリテラル長}+{追加されるリテラル長} g(n) = {仮説のリテラル長}+{説明される負事例} 141 ・{追加されるリテラルの最小値}を ヒューリスティック関数で与える 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)} が最大になる仮説を見つける ・全解探索(仮説空間すべて考慮) 142 例 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 ・ ・ ・ ・ ・ ・ ー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 143 実世界での応用 ・突然変異性物質の判別問題(King) 事例:突然変異を有する化合物 背景知識:化合物の原子と結合情報 仮説:化合物の突然変異性に関するルール ・データベースからの知識発見(嶋津,古川) 電子メール分類システム ・暗黙知の獲得(古川) 理想的な弓の動かし方 144 まとめ ・Progolにおける仮説生成 逆伴意に基づき,背景知識と正例から最弱仮説 を生成 最弱仮説を包摂する木においてA*-like探索 ・Progolの利点 探索空間が縮小される 145 146 背景知識 ・既に持っている知識 ・背景知識があるとより正確な理論が 得られる ・背景知識として、事実とルールが利用 可能 147 背景知識なし 正例: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) 148 特殊な節とは? ・節には半順序関係がある 一般的 一般的:多くの例を説明する 特殊:少ない例しか説明しない p(A,B) > p(A,A). 一般的 特殊 p(A,B) > p(A,B):-q(A,B) p(A,B) > p(桂子,B) 特殊 149 記述長最小原理 ・学習の記述量・・・機械学習にとって重要な問題 ・記述量の多い仮説が多くの例を説明できるのは 当然 できるだけ少ない記述量で多くの例を説明はできないか? 記述長最小原理 150 包摂(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) 包摂 = 部分集合 + 逆代入 151 伴意と包摂の関係 A subsume(包摂する) B A ⊨ B これがなり立つ! 積極的に利用しよう 伴意を包摂で近似する 152 部分連言だと伴意される A=l1・・・ln B=l1・・・lnln+1 Bの解釈はAの解釈でもある B ⊨ A :BはAを伴意する 153 正例: 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) 154 引用はここまで。 155 ILPは機械学習の主要な手法 • 人工知能の分野にも多くのインパクトを与え ている。 • ILPも年々進化している。 • Logicも進化している! • 感性科学や脳科学もAIに関わって来ている。 新しいAIの手法を自分の力で考え出そう! 156 レポート課題 • 課題: 論文“Inverse entailment and Progol (Muggleton)”のAppendixes A.Definitions from logic (A1~A3)を和訳せよ。 • 提出方法 – 提出期限:平成24年2月8日(水)17:00 – 提出先:研A6階レポート提出ボックス – 書式:A4レポート用紙(表紙を付けること) 157
© Copyright 2025 ExpyDoc