知能システム論 ー アソシエーションルール -.

Slides:



Advertisements
Similar presentations
北海道大学 Hokkaido University 1 情報理論 講義資料 2016/06/22 情報エレクトロニクス学科共通科目・2年次・第 1 学期〔必修 科目〕 講義「情報理論」第 5 回 第 3 章 情報源のモデル [ 後半 ] 3.5 情報源のエントロピー.
Advertisements

0章 数学基礎.
第3回 論理式と論理代数 本講義のホームページ:
テキストデータベースからの 構文構造のマイニング
第6章 数え上げ理論と確率 B4 酒井 隆行.
det(tA)=Σ sgn(σ)aσ(1)1aσ(2)2・・・aσ(n)n
黒澤 馨 (茨城大学) 情報セキュリティ特論(4) 黒澤 馨 (茨城大学) 2017/3/4 confidential.
フロンティア法 - 組合せ問題の解を列挙索引化するZDD構築アルゴリズム
シーケンシャルパターンマイニングに基づくオブジェクト指向プログラムのための 欠陥検出手法
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
理学系研究科 情報科学専攻 データベース特論 II 10:15-12:15 新領域創成科学研究科 複雑理工学専攻 複雑計算論
データ構造とプログラミング技法 (第8回) ーデータの探索ー.
アルゴリズムイントロダクション第5章( ) 確率論的解析
2009/10/9 良いアルゴリズムとは 第2講: 平成21年10月9日 (金) 4限 E252教室 コンピュータアルゴリズム.
Approximation of k-Set Cover by Semi-Local Optimization
アクセス修飾子過剰性の変遷に着目したJavaプログラム部品の分析
論理式の表現を数学的に取り扱いやすくするために代数学の助けを借りる.
情報工学概論 (アルゴリズムとデータ構造)
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25
疑似頻出アイテム集合の 多項式遅延列挙アルゴリズム
データ構造とアルゴリズム 第6回の2 木 ~ データ構造(3)~.
最尤推定によるロジスティック回帰 対数尤度関数の最大化.
第4回 カルノー図による組合せ回路の簡単化 瀬戸 目標 ・AND-OR二段回路の実現コスト(面積、遅延)が出せる
ベイジアンネットワーク概説 3.6 構造の探索アルゴリズム
8.Intersecting Families
第20章 Flyweight ~同じものを共有して無駄をなくす~
5.5 The Linear Arboricity of Graphs (グラフの線形樹化数)
データ構造と アルゴリズム 第十一回 理工学部 情報システム工学科 新田直也.
論理回路 第7回
論理回路 第8回
大域的データフロー解析 流れグラフ 開始ブロック 基本ブロックをnodeとし、 基本ブロック間の制御関係をedgeとするグラフを、
プログラム実行履歴を用いたトランザクションファンクション抽出手法
Classification Problem
クラス分類問題 (Classification)
中学校2年生 数学科 図形の性質.
決定木とランダムフォレスト 和田 俊和.
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
5 図形と相似 1章 図形と相似 §4 平行線と線分の比         (5時間).
四角形ABCDのAB、BC、CD、DAの中点をそれぞれE、F、G、Hとする。 このとき、四角形EFGHは平行四辺形であることを証明しよう。
最小自乗法.
 2 文字の式 1章 文字を使った式 §1 数量を文字で表すこと         (3時間).
平行線と面積 平行な直線と面積の 関係を考えます。.
Anja von Heydebreck et al. 発表:上嶋裕樹
東北大学 大学院情報科学研究科 応用情報科学専攻 田中 和之(Kazuyuki Tanaka)
市場調査の手順 問題の設定 調査方法の決定 データ収集方法の決定 データ収集の実行 データ分析と解釈 報告書の作成 標本デザイン、データ収集
中3数 三平方の定理の利用 内 容 2つの三角定規の3辺の比 平面図形への利用 座標平面上の2点間の距離を求める。
5 図形と合同 1章 三角形 §1 二等辺三角形         (4時間).
決定木 Decision Tree DT 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
Q q 情報セキュリティ 第8回:2005年6月3日(金) q q.
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
GPGPUによる 飽和高価値 アイテム集合マイニング
分子生物情報学(3) 確率モデル(隠れマルコフモデル)に 基づく配列解析
不確実データベースからの 負の相関ルールの抽出
プログラミング言語論 第9回 情報工学科 木村昌臣 篠埜 功.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
サポートベクターマシン Support Vector Machine SVM
重み付き投票ゲームにおける 投票力指数の計算の高速化
行列式 方程式の解 Cramerの公式 余因数展開.
データ解析 静岡大学工学部 安藤和敏
5 図形と合同 2章 平行四辺形 §1 平行四辺形         (5時間).
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
計算の理論 I 反復補題 火曜3校時 大月 美佳 平成16年7月13日 佐賀大学知能情報システム学科.
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
卒業研究 Treedecompositionを生成するヒューリスティックアルゴリズムの幅に関する評価実験
卒業研究 木分解ヒューリスティック アルゴリズムの性能評価実験 ~アルゴリズムの改良の考察と そのプログラム作成~
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

知能システム論 ー アソシエーションルール -

例題 スーパーマーケットの 商品購買データ 数千の商品 顧客ID butter bread milk salad sugar … A 1 0 0 1 0 B 0 1 1 0 1 C 0 0 1 0 0 数万 から 数百万 顧客 (1: 購入 0: 未購入) 1顧客平均20個購入すると、1がまばらに出現し、無駄 顧客ID アイテム集合 A {butter, salad} B {bread, milk, sugar} C {milk} : : 購入した商品の 集合だけを 保持した簡潔な表

例題 WEBページに出現するキーワード URL アイテム集合(キーワード集合) http://www.honda.co.jp/ {automobile, navigation, …} http://www.nikkei.co.jp/ {stock, economy, …} http://www.google.com/ {search, engine, …} : : 例題 Internet Bookstore での購買履歴 顧客ID アイテム集合(本の集合) A {complier-text, database-text} B {comic, novel} C {cooking, gardening} : :

例題  遺伝子の組織中での出現データ 組織 アイテム集合(遺伝子mRNA) 小脳 {gene1, gene341, gene562, …} 海馬 {gene3, gene43, gene243, …} 心臓 {gene1, gene2, gene7, gene10, …} 肝臓 {gene3, gene6, gene14, …}  : : ヒトの遺伝子数は4万弱と予想されているが すべての臓器で働いているのではなく、 1つの組織で活発に働いているのは千程度と言われている

アソシエーションルールの例  butter を購入した顧客は milk も購入する確率が高い  soviet と grandmaster が出現する WEB ページには  chess が出現する確率が高い  (ヒント IBM Deep Blue vs Kasparov)  Java の本を購入する顧客は XML の本も購入する確率が高い Gene A が出現する細胞では Gene B が出現する確率が高い

I = {i1, i2, …, im} ij は記号列でアイテムと呼ぶ アイテム集合とは I の部分集合であり、唯一の識別子が対応 用語の定義  I = {i1, i2, …, im} ij は記号列でアイテムと呼ぶ  アイテム集合とは I の部分集合であり、唯一の識別子が対応  D をアイテム集合の集まり 顧客ID アイテム集合 1 {butter, salad} 2 {bread, milk, salad} {milk} {butter, salad} : : I = {butter, bread, milk, salad, …} D = { {butter, salad}, {bread, milk}, {milk}, {butter, salad}, : } スーパーマーケットの商品購買データ

 アソシエーションルールとは  X ⇒ Y  の形をしており、 X と Y はI の空でない部分集合であり、  共通部分がない    ( φ≠X⊆ I, φ≠Y⊆ I, X∩Y=φ)  例  {butter} ⇒ {milk}  {soviet, grandmaster} ⇒ {chess}  {gene A} ⇒ {gene B}

 I の部分集合 J のサポート Pr(J) とは、  D の中で J を含むアイテム集合の割合   X ⇒ Y のサポートとは、X∪Y のサポート   X ⇒ Y の確信度とは、X を含むアイテム集合が Y を含む割合  すなわち Pr(X∪Y) / Pr(X) D = { {a,b,c,d,e} {a,b, d,e} {a, c, e} {a, e} { b,c, e} { b, e} { c,d,e} { d,e} } Pr( {a} ) = 4/8=0.5 Pr( {b} ) = 4/8=0.5 Pr( {a,b} ) = 2/8=0.25 Pr( {a,b,d} ) = 2/8=0.25 {a} ⇒ {b} サポート 0.25 確信度  0.5 {a,b}⇒ {d} サポート 0.25 確信度  1

アソシエーションルール の評価基準 X ⇒ Y が興味深い (interesting) とは、たとえば  サポートが 与えた下限値 min_sup 以上である Pr(X∪Y) ≧ min_sup  確信度が 与えた下限値 min_conf 以上である Pr(X∪Y) / Pr(X) ≧ min_conf 例 min_sup = 0.25, min_conf = 0.75 のとき {a} ⇒ {b} サポート 0.25 確信度  0.5 は興味深くないが {a,b}⇒ {d} サポート 0.25 確信度  1 は興味深い ※ 確信度の使用には批判が多い

興味深いアソシエーションルールを枚挙するアルゴリズム Apriori ステップ1 Pr(Z) ≧ min_sup となる アイテム集合 Z を枚挙 ステップ2  Z = X ∪ Y となる互いに素で空でない X と Y について   Pr(X∪Y) / Pr(X) ≧ min_conf ならば、 X ⇒ Y は興味深いアソシエーションルールである   (注意  Pr(X∪Y) = Pr(Z) ≧ min_sup ) ステップ1 ステップ2 min_sup = 0.25 min_conf=0.75 Pr( {a} ) = 0.5 Pr( {b} ) = 0.5 Pr( {a,b} ) = 0.25 {a} ⇒ {b} Pr({a,b}) / Pr({a}) =0.5 Pr( {a,b,d} ) = 0.25 {a,b} ⇒ {d} Pr({a,b,d}) / Pr({a,b}) = 1

ステップ1の実現 Lk = {Z | Z は k 個のアイテムを含み, Pr(Z) ≧ min_sup} k=1,2,…の順番に Lk を計算し, ∪Lk を答えとする 観察  L2 = { {a,d}, {b,c}, {b,d}, {c,d} }  単調性 「U ⊆ W ならば Pr(U) ≧Pr(W)」 に注意 例   Pr( {a,c} ) ≧ Pr( {a,c,d} )  {a,c} は L2 の元でないので、min_sup > Pr( {a,c} ) {a,c} の任意の superset、例えば {a,c,d} も min_sup > Pr( {a,c,d} )   であり、 {a,c,d} は L3 の元ではない  Lk に含まれないアイテム集合の superset は   Lk+1 にも含まれない

L2 = { {a,d}, {b,c}, {b,d}, {c,d} } {a,b,d} {a,c,d} {b,c,d} 枝刈り {a,b} {a,c} {a,d} {b,c} {b,d} {c,d} {a} {b} {c} {d} {} L2 = { {a,d}, {b,c}, {b,d}, {c,d} }

Lk の元の候補の集合 Ck を、 Lk-1 から生成する手続き Ck := candidate-generator(Lk-1) ;  Lk に含まれるアイテム集合の superset は   Lk+1 に含まれる可能性がある  L2 = { {a,d}, {b,c}, {b,d}, {c,d} }  {a,d} と {b, d} の和集合 {a,b,d} {a,b} が L2 に含まれないので除外  {b,c} と {b,d} の和集合 {b,c,d} {c,d} も L2に含まれる  {b,c,d} は L3 の元の候補として C3 に登録  k-2 個のアイテムを共有する Lk-1 の元 {i1, … , ik-2, ik-1} と {i1, … , ik-2, ik}  から和集合 {i1, … , ik-2, ik-1 , ik} を生成。    k-1 個のアイテムを含む部分集合がすべて Lk-1 の元 とならば Ck に登録。    ある部分集合 I’ が Lk-1 の元 でない場合 Pr({i1, … , ik-2, ik-1 ,i k}) ≦ Pr(I’) < min_sup

ステップ1の実現 L1 を求める for( k:=2; Lk-1≠φ; k++) do begin Ck := candidate-generator(Lk-1) ; forall t ∈D do begin forall c ∈ Ck such that c ⊆ t do begin アイテム集合 c に含まれる元の数 c.count を1だけ増やす ( c.count ++; ) end Lk := { c ∈Ck  | c.count / |D| ≧ min_sup } return ∪{Li | i=1, …, k-1};

実行例 L1 = { {1}, {2}, {3}, {5}} Pr({1})=0.5 Pr({4})=0.25 D = { {1, 3,4} Pr({2})=Pr({3})=Pr({5})=0.75 C2 = { {1,2}, {1,3}, {1,5}, {2,3}, {2,5}, {3,5} } Pr({1,2})=Pr({1,5})=0.25 Pr({1,3})=Pr({2,3})=Pr({3,5})=0.5 Pr({2,5})=0.75 L2= { {1,3}, {2,3}, {2,5}, {3,5} } C3 = { {2,3,5} } Pr({2,3,5}) = 0.5 L3 = { {2,3,5} } D = { {1, 3,4} { 2,3, 5} {1,2,3, 5} { 2, 5} } min_sup = 0.5

 データベースが主記憶に収まらず2次記憶装置に置かれている  場合、主記憶と2次記憶間のデータ転送速度がボトルネック     はじめて Lk=φ となる k を k* ならば、 k* 回データベースを走査   現実には k* は高々 10 程度  現実には Lk の大きさはデータベースのサイズより  はるかに小さく、主記憶上に格納できる  主記憶と2次記憶間のデータ転送速度を配慮した  バランスのとれた実装方法

アソシエーションルールと クラス分類問題の接点

Pr({a}) × Pr({e}) = Pr( {a,e} ) = 0.5 統計学からの批判: 確信度は意味があるか? D = { {a,b,c,d,e} {a,b, d,e} {a, c, e} {a, e} { b,c, e} { b, e} { c,d,e} { d,e} } ルール サポート 確信度 {a} ⇒ {b} 0.25 0.5 {a,b} ⇒{d} 0.25 1 {a} ⇒ {e} 0.5 1 {a} ⇒ {e} が最も価値あるルールか? Pr({a}) × Pr({e}) = Pr( {a,e} ) = 0.5 統計学的には {a} と {e} は独立

I ⇒ C は深さ1の決定木、C を含むアイテム集合を「正」とみなす 決定木とアソシエーションルールの関係 I ⇒ C は深さ1の決定木、C を含むアイテム集合を「正」とみなす アイテム集合の数  |D| = n 正のアイテム集合の割合 p0 = m / n I I を含むアイテム集合 I を含まないアイテム集合 n1 = x(I) p1 = y(I) / x(I) n2 = n – x(I) p2 = (m – y(I)) / (n – x(I)) Entropy Gain Ent(I) = Ent(x(I), y(I)) = ent(p0) - (n1/n) ent(p1) - (n2 /n) ent(p2) I ⇒ C の形をしたアソシエーションルールの中で Ent(I) を最大化する  I (もしくは n 番目まで)を効率的に計算することは可能か? NP 困難  枝刈り法の考察へ

{a,b,c,d} {a,b,c} {a,b} {a} Pr(I) サポートの場合 I Ent(I) I {a} {a,b} {a,b,c} サポートの場合  {a} {a,b} {a,b,c} {a,b,c,d} I {a} {a,b} {a,b,c} {a,b,c,d} Ent(I) I {a} {a,b} {a,b,c} {a,b,c,d}

y=x y (n, m) (x(I), y(I)) (y(I), y(I)) J 平行四辺形 の内部へ I (x(I) - y(I), 0) x Ent(J) ≦ max{ Ent (y(I), y(I)), Ent (x(I) - y(I), 0) } ≡ u(I)  Ent(x, y) は m/n = y/x のとき最小  Ent(x, y) は凸関数 任意の点 v1, v2 と 0≦λ≦1について Ent(λv1+(1-λ)v2 ) ≦ λEnt(v1) + (1-λ) Ent(v2)

{a,b,c,d} {a,b,c} {a,c} {a,b} {a} Ent(I) Ent({a,c}) u({a,b}) I いかなる J (⊇{a,b}) についても Ent(J) が Ent({a,c}) を上回らない Ent(J) ≦ u({a,b}) ≦ Ent({a,c}) {a,b} の superset 全体を枝刈り

Ent(I) を最大化する I を計算するためApriori を拡張 L1 := 1個のアイテムを含むアイテム集合の集まり for( k := 2; Lk-1≠φ; k++) do begin  Ck := candidate-generator’(Lk-1) ;  各 I ∈ Ck について Ent(I) と u(I) を計算  Ent(I) の最大値が t を超えるなら t に代入  u(I) ≧ t となる I ∈ Ck には、ある superset J が存在して Ent(J) が t を超える可能性が残っている  Lk := {I ∈ Ck | u(I) ≧ t } end 最大値 t に対応するアイテム集合を出力

Ck := candidate-generator’(Lk-1)  k-2 個のアイテムを共有する Lk-1 の元 {i1, … , ik-2, ik-1} と {i1, … , ik-2,    i k}  から和集合 {i1, … , ik-2, ik-1 ,i k}  を生成  k-1 個のアイテムを含む部分集合がすべて Lk-1 の元 ならば、  Ck に登録  ある部分集合 I’ が Lk-1 の元 でない場合、 Ent({i1, … , ik-2, ik-1 ,i k}) ≦ u (I’) < t  {i1, … , ik-2, ik-1 ,i k} の superset を調べても t を超えない