SlideShare a Scribd company logo
1 of 10
Download to read offline
The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008

                                                                                                                             3M1-1
   頻出パタヌン発芋アルゎリズム入門  アむテム集合からグラフたで 
                       An Introduction to Frequent Pattern Mining – Itemsets to Graphs -

                             宇野 毅明*1                                                       有村 博玀*2
                              Takeaki Uno                                                  Hiroki Arimura

     *1                                                                  *2
          囜立情報孊研究所・総合研究倧孊院倧孊                                                  北海道倧孊倧孊院情報科孊研究科
                   National Institute of Informatics,                         Hokkaido University, Graduate School for
            The Graduate University for Advanced Studies                        Information Science and Technology

     This paper provides a brief survey of efficient algorithms for the frequent itemset mining (FIM) problem, which is one of the
     most popular and basic problems in data mining. Firstly, we give the descriptions of two well-known algorithms for the FIM
     problem, called Apriori and Backtrack, which are based on breadth-first search and depth-first search over the space of
     frequent itemsets, respectively. Then, we discuss advanced techniques to speed-up the algorithms for the FIM problem,
     namely, database reduction, frequent itemset trees, down-project, occurrence-deliver, recursive database reduction, which
     improve the key operations of FIM computation such as database access and frequency computation. We also explain how to
     extend Backtrack algorithm for semi-structured data including trees and graphs.



1. はじめに                                                                         A: 1,2,5,6,7,9        ぀以䞊に含たれる
デヌタマむニングは倧量のデヌタから有甚な芏則性やパタヌ                                                    B: 2,3,4,5            アむテム集合
ンを芋぀けるための効率よい手法に関する研究であるデヌタ
                                                                                C: 1,2,7,8,9          {1} {2} {7} {9}
マむニング研究は1994 幎のAgrawalらの結合芏則発芋に関す
る研究を契機ずしお急速に発展したこの結合芏則発芋の鍵                                                    D: 1,7,9              {1,7} {1,9}
ずなる基本的な技術が頻出アむテム集合発芋である この 10                                                  E: 2,3,7,9            {2,7} {2,9} {7,9}
幎間で結合芏則発芋にずどたらず深さ優先探玢法の提案や
飜和集合発芋構造デヌタぞの拡匵などさたざたな圢で盛ん
な研究が続いおおりデヌタマむニングの䞻芁なトピックの䞀぀
                                                                         図 1 トランザクションデヌタベヌスず頻出集合
ずなっおいる
  本レクチャヌでは頻出集合発芋アルゎリズムの最近の進展                                          ョン(transaction)であるデヌタベヌスのこずでありトランザクショ
に぀いお解説する特にアルゎリズム研究の立堎からその基                                          ンずはアむテム(item)の集合である蚀い換えればアむテムの
本的な構造ず実際のデヌタのための高速な実装に぀いお解                                            集合∑={1,
,n}に察しおトランザクション は∑の郚分集合で
説する本解説は筆者らによる実装コンテストFIMI'04 での優                                      ありトランザクションデヌタベヌスはトランザクションの集合であ
勝プログラムLCMの開発経隓に基づいたものである珟圚                                           るトランザクションデヌタベヌスには同䞀のトランザクションが
LCMを含む各皮の頻出集合発芋アルゎリズムが公開され利                                          耇数含たれおも良い∑の郚分集合をここでは アむテム集合
甚されおいる本解説がこれらのアルゎリズムを実際の問題に                                           (itemset)ずよぶ
適甚する堎合に参考になれば幞いである                                                       図 1 の巊にトランザクションデヌタベヌスの䟋があるここに
   本皿の構成は次のずおりである2 節で問題の定矩を䞎え                                        アむテムの集合は{1,2,3,4,5,6,7,8,9}でありトランザクションの集
3 節でアプリオリ法ず深さ優先探玢法の二぀の基本的手法を䞎                                          合は{A, B, C, D, E, F}である䟋えばスヌパヌ等の売り䞊げ
える4 節では高速化技術に぀いお述べ5 節では実デヌタ䞊                                         デヌタは各レコヌドが「1 人のお客さんがどの商品を買った
での性胜比范6 節では応甚に぀いお7 節では朚構造デヌタ                                         か」ずいう蚘録になっおいるのでスヌパヌの党商品の集合をア
からの頻出パタヌン発芋ぞの拡匵に぀いお述べ8 節でたずめ                                          むテム集合ず思えばトランザクションデヌタベヌスになっおいる
るなお本皿は人工知胜孊䌚誌のレクチャヌシリヌズ「知胜                                             このほかアンケヌト結果のデヌタも぀のレコヌドがある
コンピュヌティングずその呚蟺」[西田 07]の第 2 回レクチャヌ[宇                                    人がチェックを入れた項目の集合になっおいるず考えればよい
野 07]の䞀郚分を基に加筆修正したものである他の回のレク                                         しそれぞれの項目に぀いおからの点数を䞎えるようなもの
チャヌずも合わせおご芧いただければ幞いである                                                であれば「質問ず回答の組」Q1 に 5 が぀いおいる等がアむ
                                                                       テムであるず考えるこずでトランザクションデヌタベヌスずみな
                                                                       せるこのほか実隓デヌタ等もこの範疇に入り非垞に倚くの
2. 頻出パタヌン                                                              デヌタベヌスがトランザクションデヌタベヌスであるずみなせる

2.1 トランザクションデヌタベヌス                                                     2.2 頻出アむテム集合を䜿ったデヌタベヌス分析
  今  手 元 に ト ラ ン ザ ク シ ョ ン デ ヌ タ ベ ヌ ス (transaction                    さおこのデヌタを解析しようずするずどのような芖点がある
database)があるずするこれは各レコヌド(record)がトランザクシ                               だろうか芖点ずしお最も倚く含たれるアむテムは䜕かトランザ
                                                                       クションの数はいく぀かトランザクションの平均的な倧きさはど
連絡先 有村博玀北海道倧孊 倧孊院情報科孊研究科                                             の皋床かあるいは倧きさの分散はどの皋床かずいったものが
〒060-0814 札幌垂北区北 14 条西 9 䞁目
TEL/FAX: 011-706-7680, E-mail: arim@ist.hokudai.ac.jp

                                                                  -1-
The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008

思い぀くだろうこれらはいわばデヌタを党䜓的に捉えお特                                 出すためΞを小さめに蚭定するこずが望たしいここにはトレ
城を芋出す手段だず蚀える                                                 ヌドオフがあるΞを䞊手に蚭定するあるいは頻出床の高い
  では逆にデヌタの局所的な特城を捉えるこずはできないだ                                 ものから k 個頻出集合を芋぀けるこずで解の数を爆発させず
ろうか局所的ずいうず぀぀のレコヌドを芋る方法が考えら                                に有甚な知識を取り出すこずが重芁である
れるがこれでは各レコヌドの個性に解析が匕きずられおしたう
たたトランザクションの倧きさどのアむテムを含むかずいった                               2.4 構造デヌタ
特城では局所的な個性を語るには匱すぎるその意味では                                    XMLデヌタ時系列デヌタ文字列デヌタ等デヌタベヌス
「どのようなアむテム集合が倚くのトランザクションに含たれるか」                               が構造を持぀堎合アむテムの集合だけでなく構造を付加し
ずいう点に泚目するこずは䞡方の芁求を満たしおおり郜合が                                 たようなパタヌンを考えるこずができる倚くのレコヌドに含たれ
良いたた倚くのレコヌドに含たれる組合せに泚目するこずで                                るパタヌンは頻出パタヌン(frequent pattern)ずよばれ頻出集合
局所的だが党䜓にある皋床共通する構造を芋぀けるこずができ                                  ず同じようにモデル化するこずができるデヌタベヌスによっおは
るデヌタの䞭から特殊だが顕著な䟋を芋぀けるのには適し                                  構造が持぀意味がずおも倧きいものもありこのような堎合には
おいるだろう                                                       構造を持぀パタヌンを芋぀けるこずに倧きな意矩がある頻出
  このようにデヌタベヌスの䞭に良く珟れるアむテム集合を頻                                パタヌンを芋぀ける問題は頻出パタヌン発芋frequent pattern
出アむテム集合 (frequent itemset)あるいは単に頻出集合ずよ                       miningずよばれ倚くの研究がある7 節で順序朚パタヌンの
ぶ正確には最小サポヌトずよばれる閟倀Ξを甚いおΞ個                                  族に察する頻出パタヌン発芋に぀いお述べる
以䞊のトランザクションに含たれるようなアむテム集合ずしお定矩
される図 1 では右偎に瀺した集合はどれも少なくずも぀以
䞊のトランザクションに含たれるため最小サポヌトに察する頻                                3. 頻出集合列挙アルゎリズム
出集合ずなっおいるアむテム集合Xに察しおそれを含むトラン
ザクションを出珟(occurrence)ずよぶたた出珟の集合を出珟                           3.1 蚈算時間の評䟡
集合(occurrence set)出珟の数を頻出床(frequency)あるいは                     実甚䞊頻出集合発芋を甚いるような堎合入力するデヌタ
サポヌト(support)ずいいそれぞれOcc(X) ずfrq(X) ず衚蚘する                    ベヌスは巚倧であるこずが倚くたた出力する解の数も倧きい
図 1 の䟋ではアむテム集合{2,5}の出珟は 1 行目ず 2 行目のト                         そのため蚈算時間が爆発的に増加する解法は珟実的には䜿
ランザクションである                                                   甚できない珟実的な時間内に求解を終了させるためにはア
  頻出集合の発芋は1993 幎に Agrawal, Imielinski ,Srikant               ルゎリズム的な技術が欠かせない
らによっお結合芏則の発芋に関連しお提案されたのが最初で                                    䞀般に頻出集合列挙問題のような倚くの解を列挙する列
ある [AIS 93]                                                  挙アルゎリズム(enumeration algorithm)の蚈算時間は問題を
                                                              入力しお初期化する郚分ず実際に求解を行っお解を出力する
                                                              郚分ずに分かれる入力・初期化に関しおはどの実装・アルゎリ
2.3 頻出アむテム集合発芋問題                                              ズムでもほが線圢時間であるボトルネックはファむルの読み蟌
  頻出集合は䞊述のようにデヌタベヌスの局所的・特異的だ                                 み郚分でありアルゎリズムの技術はあたり関係がない
が党䜓に共通する構造が芋られるので知識発芋の分野で重                                     蚈算時間に倉化が出るのは解の数が倉化したずきである
宝されおいる                                                       䞀般的にアルゎリズムの求解時間は入力の倧きさに察しおのみ
  䟋えば頻出集合に含たれるアむテム同士は共起する確率                                 評䟡されるがこのように解を列挙するアルゎリズムの堎合出
が高いず考えられるためアむテム間の関係を芋るこずができる                                 力の倧きさすなわちこの堎合は解の数に察する評䟡も重芁
し「トランザクションが○ず△を含むなら□を含むこずが倚い」                               ずなるそのため蚈算時間が[入力の倧きさ出力の倧きさ]の
ずいったルヌルを発芋する堎面で甚いられる                                         倚項匏時間ずなっおいるアルゎリズムは出力倚項匏時間(output
  たた正䟋ず負䟋からなるデヌタがあるずきに正䟋に倚く含                                polynomial)ずよばれ蚈算効率の぀の指暙ずなっおいるたた
たれるアむテム集合を芋぀けるこずで正䟋の倚くが共通しお持                                 より匷い条件ずしお぀の解を出力しおから次の解を出力する
ち負䟋のデヌタには芋られない性質を捕らえようずいうアプ                                 たでの時間が入力ずそれたでの出力の倧きさの倚項匏になっ
ロヌチもあるこれは 6.5 節の重み぀きトランザクションで扱う                             おいるずき逐次倚項匏(incremental polynomial)ずよばれ特に
  さらに頻出集合は倚くのレコヌドに共通しお含たれるため                                これが出力に䟝存せず入力のみの倚項匏時間ずなっおいるず
゚ラヌや異垞倀等に振り回されるこずなく安定しおいるその                                 き倚項匏遅延(polynomial delay)ずよばれる
ため党おの頻出集合を求めそれをデヌタベヌスの統蚈量ず                                    アルゎリズムの倚項匏性は問題が構造を持぀かどうかの重
みなすこずでデヌタベヌス間の比范を行うこずもできる[ACP                                芁な指暙であるこずから列挙型のアルゎリズムの倚項匏性もさ
06]                                                          かんに議論されおいるグラフのパス党匵朚マッチングクリ
  通垞頻出集合はある皮の知識やルヌルの候補であるため                                 ヌクずいった構造シヌク゚ンス朚などのパタヌンは倚項匏時
぀だけ芋぀けおもあたり意味がないたた統蚈量ずしお甚い                                 間で列挙できるこずが知られおいる逆に倚面䜓の頂点や機
る堎合は党おを芋぀ける必芁があるそのため列挙的なアプロ                                  械孊習の分野で著名な極小ヒッティングセット列挙あるいはハ
ヌチが必須である䞎えられたトランザクションデヌタベヌスず                                 むパヌグラフ双察化ずいった問題頻出するグラフパタヌンを発
閟倀Ξに察しお頻出集合を党お芋぀ける問題は頻出集合発芋                                   芋する問題等は出力倚項匏時間で解けるかどうかが知られお
問 題 (frequent itemset mining)  あ る い は é » 出 集 合 の 列 挙         いない
(enumeration)ずよばれる頻出床はサポヌト(support)ずもよばれ                       実甚的には列挙アルゎリズムの倚項匏性は効率良さの必
るため閟倀Ξは最小サポヌト(minimum support)ずよばれる                         芁十分条件だがそれだけではあたり意味がない列挙問題は
  頻出集合はΞの倧きさによりその数が倉化する蚈算の立堎                                 非垞に倚くの解を持぀ため出力の乗や乗の時間がかかる
からはΞが倧きければ解ずなる頻出集合の数は小さく有利                                  アルゎリズムは到底動かないのである倚項匏遅延であれば
であるがモデルの立堎からは有甚な知識をもらさず芋぀け                                  解の数に察しお線圢にしか蚈算時間が増えず実甚的である


                                                          -2-
The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008


                          1,2,3,                                 D1= { {1}, {2}, {7}, {9} }
                                                                 D2 = { {1,2}, {1,7},{1,9},{2,7},{2,9}, {7,9} }
          1,2,        1,2,       1,3,    2,3,
                                                                      { {1,7},{1,9},{2,7},{2,9}, {7,9} }
                                                                                                              1,2,5,6,7,9
                                                                 D3= { {1,2,7}, {1,2,9},{1,7,9},{2,7,9} }
        1,2   1,3       1,4      2,3    2,4     3,4
                                                                                                              2,3,4,5
                                                                      { {1,7,9} {2,7,9}
              1         2          3      4                                                                   1,2,7,8,9
                                                                 D4 = { {1,2,7,9} }
                                                                                                              1,7,9
                             φ                                                                                2,3,7,9
   図   アむテム集合が䜜る束ず頻出集合の領域                                               図      Ξ=3 でのアプリオリの実行䟋
が入力に察する蚈算時間がより倧きいず巚倧なデヌタベヌ
スに察しおは動かなくなるたた実甚的には党䜓の蚈算時間                                    このアルゎリズムではk回目のルヌプが始たるずきDk は倧
が短ければ解の間の蚈算時間は長くおも良くそういった意味                                   きさが k である頻出集合の集合になっおいるそしおステップ
では解぀あたりの蚈算時間が入力の䜎い次数のオヌダヌに                                   3 でDkの集合぀を組合わせおできる倧きさk+1 のアむテム集合
なっおいるこずが実甚的に効率良いアルゎリズムの条件ずなる                                 を党おDk+1 に挿入する頻出集合の単調性から倧きさがk+1
 興味深いこずに今たでに知られおいる倚項匏時間の列挙ア                                   の任意の頻出集合は必ずDk+1に含たれるそのためステップ
ルゎリズムはほが党おこの条件を満たす加えお埌に述べる                                  4 でDk+1 から頻出でないアむテム集合を取り陀くこずで倧きさ
末広がり性を考慮した実装を行うこずで解぀あたりの蚈算時                                  k+1 の頻出集合の集合が埗られる アプリオリは 1994 幎の
間が定数に近くなる぀たり出力倚項匏時間の解法が存圚す                                   AgrawalずSrikant らの論文 [AS 94]で最初に䞎えられたこれず
れば䞀工倫加えるこずで効率良い実装が埗られるず考えおよ                                   独立にMannila ず Toivonen らも同じアルゎリズムを䞎えおいる
い                                                             [AMST 96]
 メモリの䜿甚量も列挙アルゎリズムでは倧きな問題である                                     アプリオリのステップ 4 で Dk+1 の各アむテム集合の頻出床
解が倚いため発芋した解を党おメモリに蓄えるアルゎリズムは                                 を蚈算する際に次のアルゎリズムを䜿うず効率的である
倚倧なメモリを消費するこずずなる発芋した解をメモリに保存す
る必芁があるかないかずいう点がメモリの点での蚈算効率に                                    1. for each S∈Dk+1 do frq(S) := 0
関する重芁なポむントである                                                   2. for each transaction t∈T do
                                                                 3. for each S∈Dk+1 do
3.2 アプリオリ法.                                                             if S⊆t then frq(S) := frq(S)+1
                                                                 4. end for
 あるトランザクションtが頻出集合Xを含むならばtはXの任意
の郚分集合をも含むこのこずはXの郚分集合の出珟集合は                                    たずステップ 1 で党おのアむテム集合 S に぀いお frq(S)を 0
Xの出珟集合を含み頻出床はXより同じか倧きくなるずいうこず                                 に蚭定しステップ 2 で぀ず぀トランザクションを遞びそれが
を瀺すそのため頻出集合の族は単調性を満たすこれは                                   含むアむテム集合 S に察しお frq(S)を増加させる党おのトラ
図 2 で瀺すようなアむテム集合の束(郚分集合間の包含関係を                                 ンザクションに察しおこの凊理をするずfrq(S)は S の頻出床ずな
衚したグラフ)の䞊で頻出集合は䞋郚に連結に存圚しおいるず                                  る
いうこずである                                                        アプリオリの蚈算時間は(候補の総数)×(デヌタベヌスの倧
 そのため空集合から出発しアむテムを぀ず぀远加しおい                                  きさ)に比䟋し候補の総数は頻出アむテム集合の数の n 倍(n
くこずで任意の頻出集合を埗るこずができるこの操䜜を網矅的                                  はアむテムの数)を超えないこずを考えるず頻出集合぀あたり
に行うこずでアむテム束䞊の探玢を行えば党おの頻出集合が                                   最悪でも(デヌタベヌスの倧きさ)×n に比䟋する時間ずなるこず
芋぀かるこの探玢を幅優先的に行うものがアプリオリ(apriori)                            がわかる本皿ではデヌタベヌスの倧きさずはデヌタベヌスの
深さ優先的に行うものがバックトラック法(backtracking)である                          各トランザクションの倧きさを合蚈したものずする頻出集合を
 アプリオリはずおも有名な手法であり耳にされたこずのある読                                 党おメモリに保持する必芁があるためメモリ䜿甚量は芋぀ける
者も倚いこずず思う空集合から出発し倧きさがの頻出集合を                                 頻出集合の数に比䟋するアプリオリは候補を生成する時間
党お芋぀けそれらにアむテムを 1 ぀远加するこずで倧きさ 2 の                              が入力の倚項匏時間ずならないため倚項匏遅延ずはならない
頻出集合を芋぀けるずいうように頻出集合を倧きさ順で幅                                     アプリオリの特城はデヌタベヌスぞのアクセス数の少なさ
優先的に芋぀け出すアルゎリズムであるアプリオリのアルゎリ                                  である䞊蚘の頻出床蚈算方法はトランザクションを䞀回スキ
ズムを以䞋に瀺す                                                      ャンするこずで党おの候補の頻出床を蚈算するこずができるそ
 アプリオリ                                                         のためもしデヌタベヌスが巚倧でメモリに入らないような堎合
 1. D1=倧きさ 1 の頻出集合の集合, k:=1                                    でもデヌタベヌスを(頻出集合の倧きさの最倧)回だけしかスキ
 2. while Dk≠φ                                                 ャンしない
 3. 倧きさがk+1 でありDk の 2 ぀のアむテム集合の和集合ず                              図 3 でアプリオリの実行䟋を芋おみようこの図はアプリオ
     なっおいるものを党おDk+1 に挿入する                                      リの実行に䌎い各Dk がどう蚈算されるかを瀺しおいるアプリ
 4. frq(S)<Ξ ずなるSを党おDk+1から取り陀く                                 オリはたず倧きさ 1 の頻出集合を党お求めその集合をD1ずす
 5. k := k+1                                                   るこれが 1 行目の集合である次にD1の぀のアむテム集合の
 6. end while                                                  和集合で倧きさが 2 のものを党おD2に挿入するそれが 2 行目


                                                           -3-
The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008


   頻出集合                                                               1,2,5,6,7,9        1,2,7,9
                                                                                                            1,2,7,9 ×2
                                                                      2,3,4,5            2
   φ {1} {2} {7}                             7    9                                                         2
                                                                      1,2,7,8,9          1,2,7,9
                                                                                                            1,7,9
   {9} {1,7} {1,9}                 1         9                        1,7,9              1,7,9
                                                                                                            2,7,9 ×2
   {2,7} {2,9}                                                        2,3,7,9            2,7,9
                                   2       7      9                   2,7,9              2,7,9
   {7,9} {1,7,9}           φ
                                   7       9
   {2,7,9}                                                                          図5   デヌタベヌス瞮玄
                                   9     9
                   図4    頻出パタヌン朚                                  えばアむテム集合{1,3,5}の末尟は 5 であるそしお各アむテ
                                                                  ム集合Xを生成する際にはtail(X)を最埌に远加するずいう生
                                                                  成ルヌルを定めよう぀たりXは末尟を含たない集合X −
の集合であるここから頻出床が 3 未満のものを党お取り陀くず                                  tail(X)からのみ生成するずいうこずであるこのようにすればX
3 行目の集合が埗られる以䞋同様にしおD3D4ず求めるD4                                 が耇数のアむテム集合から生成されるこずがなくなりX − tail(X)
は頻出集合を぀も含たないため空集合ずなりここでルヌプ                                     も 1 床しか生成されないためXも 1 床しか生成されないこの
が終了しおアルゎリズムは終了する                                                よ う に  X を X - tail(X) か ら 生 成 す る 方 法 を 末 å°Ÿ 拡 匵 (tail
                                                                  extension)ずよぶ
3.3 プルヌニング
                                                                     䟋ずしお{1,3,5,6}は{1,3,5}の末尟拡匵だが{1,2,3,5}はそ
 アプリオリの高速化する方法ずしおプルヌニング(pruning)が                                うでないアむテム集合 X から末尟拡匵をしおアむテム集合 Y
あるXをDk+1 のアむテム集合ずするもしXの倧きさkの郚分集                                 が埗られたずきtail(X)<tail(Y)が成り立぀぀たりY は必ず
合でDkに含たれないものがあればXは頻出集合でないアむテ                                     tail(X)より倧きなアむテムを远加しお埗られるたたtail(X)より
ム集合を含むずいうこずがわかるよっおXは頻出集合ずなるこ                                    倧きなアむテムを远加したものは必ず X の末尟拡匵になっおい
ずはないこの怜査をDk+1 の党おのアむテム集合に察しお行え                                   る
ば頻出床の怜査察象を少なくするこずができる䟋えば図                                        以䞊から次のアルゎリズムバックトラックが埗られるバックト
でD3に最初に含たれおいる{1,2,7}はD2に含たれないアむテム                                ラック(φ)を呌び出すこずで党おの頻出集合が列挙される
集合{1,2}を含んでいるこのこずから{1,2,7}は頻出集合では
ないず頻出床の蚈算をする前に結論付けられるのでただち                                         バックトラック(X)
にD3から取り陀くこずができる                                                    1. output X
3.4 頻出パタヌン朚                                                         2. for each i>tail(X) do
                                                                    3. if frq(X∪{i})≧ξ then call バックトラック(X∪{i})
  アプリオリは各Dkをメモリに保持する必芁があるこれをト
ラむ (trieあるいはprefix tree)のような朚構造で保持する本来ト
                                                                    バックトラック法の長所は既に発芋した解をメモリに保存しお
ラむは文字列を栌玍するものであるので各頻出集合を添え字
                                                                  おく必芁がないため基本的に入力したデヌタベヌスを保持す
順に゜ヌトした列を文字列ずみなし栌玍する任意の頻出集合
                                                                  るだけのメモリがあれば動く点である蚈算量はアプリオリず同じ
から぀アむテムを取り陀いたものは頻出集合であるずいう単
                                                                  で぀あたり(デヌタベヌスの倧きさ)×n に比䟋する時間がか
調性からメモリの䜿甚量は頻出集合の数に比䟋する量になる
                                                                  かるたた各反埩で解を必ず぀出力するため倚項匏遅延ず
このように頻出集合を保持するためのトラむ型の朚構造を頻出
                                                                  なるしかしもしデヌタベヌスがメモリに入りきらないような堎合
パタヌン朚(frequent pattern treeあるいはFP-tree)ずよぶ
                                                                  各反埩でデヌタベヌスをスキャンするこずになるため少なくずも
  図 4 に䟋を瀺した根から始たり任意の頂点で終了するパ
                                                                  頻出集合の数だけデヌタベヌスのスキャンを行うこずずなり効
スに察しおそのパスを構成する頂点の集合が頻出集合になっ
                                                                  率が萜ちる
おいる埌述するようにトラむは入力したデヌタベヌスを効率
                                                                    図 5 は図 1 の頻出集合をバックトラック法で列挙した図であ
良く栌玍するのにも䜿われおいるFP-growth [HPY 00] は深
                                                                  るバックトラック法は空集合から出発しアむテムを 1 から順
さ優先型のアルゎリズムにおいおトランザクションデヌタベヌス
                                                                  に远加しおいくたず 1 を远加した際にfrq({1})≧3 が成り立
を組を衚す芁玠列のトラむずしお衚珟したものである ZBDD-
                                                                  ぀ので再垰呌び出しを行う{1}を匕数ずしお呌び出された反埩
growth [MA 07] はこのアむディアを拡匵しおデヌタベヌスを
                                                                  ではtail({1})=1 より倧きなアむテムを远加する2,
,6 たでは
ZBDD論理関数を衚す瞮玄された DAGで衚しおいる
                                                                  远加しおも頻出集合ずはならないため再垰呌び出しは行われ
3.5 バックトラック法                                                      ず7 を远加した際に frq({1,7})≧3 が成り立぀ため再垰呌び
                                                                  出しが行われる以埌同様に凊理が進められる{1,7}に関する
   アプリオリが幅優先的な探玢を行うのに察しバックトラック法
                                                                  再垰呌び出しが終了した埌{1}に関する反埩では次に 8 を
は深さ優先的な探玢を行うアむテムを぀ず぀远加するずい
                                                                  远加するこれは頻出ではないので再垰呌び出しを行わず
う方法で網矅的に頻出集合を生成するず倧きさkのアむテム集
                                                                  次に 9 を远加するこれは頻出ずなるため再垰呌び出しが行
合を 2k回生成しおしたう通垞グラフ探玢においおは重耇を
                                                                  われる
避けるために䞀床蚪れた頂点にマヌクを぀ける頻出集合列挙
                                                                    バックトラック法に基づくアルゎリズムは1998 幎から 2000 幎
の堎合にはこの䜜業は芋぀けた頻出集合をメモリに保存しお
                                                                  頃にかけお耇数の著者によっお提案された[BJ 98] は極倧
おくこずに盞圓するしかしこうせずずも簡単な方法で重耇は
                                                                  集合発芋のために末尟拡匵を甚いるアむディアを提案しおいる
回避できる
                                                                  [HPY 00MN 99, MS 00, ZPOL 97]は末尟拡匵を甚いた頻出
   アむテム集合Xに察しおその䞭の最倧のアむテムを 末尟
                                                                  集合発芋に぀いお述べおいる
(tail)ずよびtail(X)ず衚蚘するただしtail(φ)は∞ずする䟋


                                                              -4-
The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008


  A: 1,2,5,6,7,9                                                                                  1: A, C, D
                     *    1    2   5     6     7       9 A              A: 1,2,5,6,7,9            2: A,B,C,E,F,
  B: 2,3,4,5                                                                                      3: B, E
                                   7     8     9                        B: 2,3,4,5
                                                   C                                              4: B
  C: 1,2,7,8,9
                               7   9 D                                  C: 1,2,7,8,9              5: A, B
  D: 1,7,9                                                                                        6: A
                          2    3   4     5 B                            D: 1,7,9                  7: A,C,D,E,F
  E: 2,3,7,9                                                                                      8: C
                                   7     9 E                            E: 2,3,7,9
                                                                                                  9: A,C,D,E,F
                              7    9 F


     図6      トラむを甚いたデヌタベヌスの圧瞮                                             図7       デヌタの氎平配眮ず垂盎配眮


4. 高速化の技術
 前述のアプリオリバックトラックずもに蚈算量の䞊では出力                                  4.3 ダりンプロゞェクト
数䟝存のアルゎリズムであり出力数倚項匏時間を達成しおい                                      バックトラック法ず組み合わせお効果を発揮するのが次に述
るしかし実際にはデヌタベヌス党䜓をスキャンするずいう䜜                                   べるダりンプロゞェクト(down project)である
業は非垞に時間がかかり玠盎な実装ではずおも珟実的な時間                                      今あるアむテム集合 X にアむテム i を远加しお Y を䜜りそ
内に求解できないそのためいく぀かの高速化技法が提案さ                                    の頻出床を蚈算したいずするこのずきY を含むトランザクショ
れおいる                                                           ンは必ず X を含むのでY の出珟集合は X の出珟集合に含た
                                                                れるこずがわかるよっおY の頻出床はX の出珟集合のみか
4.1 デヌタベヌス瞮玄
                                                                ら求たるさらにY の出珟集合 Occ(Y)はX の出珟集合
 最初の技法はデヌタベヌス瞮玄ずよばれるものであるこれ                                   Occ(X)ずアむテム集合{i}の出珟集合 Occ({i})の共通郚分であ
は入力するデヌタベヌスからあらかじめ䞍芁な郚分を陀去                                    る぀たり任意の Y = X∪{i}に察しお次の等匏が成立する
するこずでデヌタベヌスを小さくし空間コストを䞋げるずずもに                                   Occ(Y) = Occ(X) ∩Occ({i}).
スキャンにかかる時間を短瞮するものである                                             この共通郚分をずる䜜業はデヌタベヌス党䜓をスキャンす
 アむテム i を含むトランザクションの数がΞ未満であるずきi                                るよりはるかに短時間でできるこの手法をダりンプロゞェクトず
を含む任意のアむテム集合の頻出床はΞ未満になり頻出集                                     よぶ
合ずならないよっお i は远加するアむテムの候補からはずしお                                   䟋えば図 5 で{1}に 5 を远加する際にはOcc({1})={A, C,
よくさらにはデヌタベヌスからアむテム i を党お陀去しおも蚈                                D}, Occ({5})={A, B}であるのでOcc({1})∩Occ({5})={A}ず
算結果に倉化はないたた党おのトランザクションに含たれる                                   なるダりンプロゞェクトを行う際にはトランザクションデヌタベ
アむテムは任意のアむテム集合に远加しおも頻出床を倉化さ                                    ヌスを各iに察するOcc({i})぀たり「各アむテムが含むトランザ
せないため同様に䞍芁であるこずがわかるこれらを取り陀くこ                                  クションの集合」ずしお保持するず郜合が良いこのデヌタの保
ずでデヌタベヌスを瞮小できるさらにもし同䞀のトランザク                                  持の仕方を垂盎配眮(vertical layout)ずよぶそれに察しお各ト
ションが k 個あればそれらは぀に䜵合し䜵合された数 k を                               ランザクションに察しおそれに含たれるアむテムを保持する方
重みのような圢で保存するこずができるこの぀の操䜜により                                  法をデヌタの氎平配眮 (horizontal layout)ずよぶ図 7 に䟋を瀺
珟実的なデヌタは特に最小サポヌトが倧きい堎合倧幅に瞮                                    した
小するこずができる                                                        ダりンプロゞェクトずデヌタの氎平配眮は1990 幎代終わり頃
 図に最小サポヌトを 3 ずしおデヌタを瞮玄した䟋を瀺した                                 にバックトラック型のアルゎリズム[MN 99, MS 00, ZPOL 97]ず
巊端のデヌタベヌスから 3 ぀未満のトランザクションにしか含た                                 共に導入されたたたFP-growth [HPY 00]もダりンプロゞェクト
れないものを陀いたものが真ん䞭のデヌタベヌスでありさらに                                   の倉皮ずいえるこのバックトラック型アルゎリズムずデヌタの氎
同䞀のトランザクションを䜵合したものが右である                                        平配眮を合わせお パタヌン成長法(pattern growth method)
                                                                [PHPCDH01] ず呌ぶこずもある
4.2 トラむを甚いたデヌタベヌスの圧瞮
 入力したデヌタベヌスを小さくするにはデヌタベヌス瞮玄                                       4.4. ビットマップ衚珟
のほかにも頻出パタヌン朚ず同様にしお図 6 のようにデヌタ                                  デヌタベヌスが密でありトランザクションが平均的にアむテ
ベヌスをトラむを甚いお朚構造ずしお保持する方法がある                                     ム集合の䜕割かのアむテムを含む堎合ビット挔算を䜿うこずで
 頻出床の小さいアむテムをデヌタベヌスから取り陀く点は同                                    ダりンプロゞェクトを効率化できる各Occ({i})およびOcc(X)を
じだが取り陀いお埗られるデヌタベヌスをトラむで栌玍するず                                  ビット列で保持しようするずOcc({i})∩Occ(X)は単なるビット
ころが異なるトラむで栌玍するこずで自動的に同䞀のトランザ                                  挔算のでトランザクション 32 個あるいは 64 個ず぀䞀床
クションは぀に瞮玄される頻出パタヌン朚ず同様各トランザ                                  に蚈算できるそのため非垞に高速化されるこの方法はビッ
クションは添え字順に゜ヌトしお栌玍するトラむによる圧瞮効率                                  トマップ(bitmap)ずよばれる
はアむテムに察する添え字の぀け方によるが䞀般に頻出床の
倧きいアむテムに小さな添え字を぀けるこずでトランザクション
の倚くの接頭蟞が共有され圧瞮効率が高くなる




                                                             -5-
The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008


                                                                   デヌタ
                                                                   の密床                                pumsb,      pumsb*,
                                                                                                      connect, chess
    1,2,5,6,7,9         2,7,9                                              Accidents
                                                                   密
    2,3,4,5             2
    1,2,7,8,9           2,7,9             2                                            Kosarak       BMS-WebView1,2

    1,7,9               2,7,9             2,7,9 ×                                     T40I10D100K   BMS-POS,      webdoc,
                                                                                                     retail, mushroom,
    2,3,5,7,9           2,7,9                                                                        T10I4D100K
                                                                   疎
    2,7,9
                                                                                                      頻出飜和集合数
                                                                                                      ÷頻出集合数
    図 8 再垰的デヌタベヌス瞮玄 アむテム集合
    {2}に察する条件付デヌタベヌス                                                         図9        FIMI デヌタセットの分類



                                                                   バックトラック法の各反埩では必ずtail(X)より倧きなアむテム
 4.5. 振り分け                                                       のみが远加されるそのため再垰的に呌び出された反埩の䞭
振り分け(occurrence-deliver)はダりンプロゞェクトをたずめお行う                        でも远加されるアむテムはtail(X)より倧きい぀たりXを受け
こずでさらに高速化する技法である [UAUA04, UKA 04]これ                             取る反埩およびそこで呌び出される反埩ではtail(X)より小さ
は異なるアむテムの皮類が非垞に倚い堎合など疎なデヌタ                                     いアむテムは䞍芁であるXの各出珟からtail(X)より小さなアむ
ベヌスにおけるバックトラック法の高速化においお有甚な技法                                     テムを党お陀去するずスキャンすべき郚分のみを持぀デヌタ
である                                                             ベ ヌ ス が で き る  こ れ を 条 件 付 デ ヌ タ ベ ヌ ス (conditional
 今アむテム集合 X にアむテム 1, 
, n 各々を加えお X より                           database)ずよぶ
぀倧きなアむテム集合を䜜成しその頻出床を党お蚈算するず                                      条件付デヌタベヌスの䞭では各アむテム集合の頻出床はも
いう操䜜を考えるこの䜜業はダりンプロゞェクトを䜿うずデ                                   ずもずのデヌタベヌスでの頻出床ず同じかたたは小さくなるそ
ヌタベヌス党䜓を 1 回スキャンするのず同じ時間がかかる                                    のため条件付デヌタベヌスをさらにデヌタベヌス瞮玄するず
 t を X の出珟ずするt がアむテム i を含むならたたそのずき                             より小さいデヌタベヌスが埗られる条件付デヌタベヌスを䜜
に限りX∪{i}は t に含たれるそこでtX に含たれるアむテ                              成しデヌタベヌス瞮玄を行うずいう䜜業を各反埩で行うず再
ム党おに぀いおt に含たれるずいうマヌクを぀けようこの䜜                                  垰的にスキャンすべきデヌタベヌスは小さくなるこれを再垰的
業をX の出珟党おに察しお行うずアむテム i に぀いたマヌク                                 デヌタベヌス瞮玄(recursive database reduction)ずよぶ図 8 に
の集合はX∪{i}の出珟集合になる                                              最小サポヌトが 3 であるずきアむテム集合{2}に察する条件付
 これが振り分けであり次のアルゎリズムずなる                                         デヌタベヌスずそれを再垰的に瞮玄したものを瀺した
                                                                   バックトラックのような列挙圢のアルゎリズムは䞀般に各反埩
 振り分け(X)                                                         で再垰呌び出しを耇数回行うそのため再垰呌び出しが䜜る
 1. for each t∈Occ(X) do                                         蚈算朚の構造は根の郚分が小さく葉の方ぞ進むほど頂点数
 2. for each i∈t, i>tail(X) do                                   が倚くなる末広がり的な構造を持぀぀たり深いレベルの反埩
 3.     i に t のマヌクを぀ける                                           での蚈算時間が党䜓の蚈算時間のほずんどの郚分を占めるよう
 4. end for                                                      になるそのため䞊蚘の手法のように反埩が深くなれば深く
                                                                 なるほど蚈算時間が瞮小されるような工倫を加えるこずで倧き
  振り分けは氎平配眮で蚘述されたデヌタベヌスからその                                    な蚈算時間の改善が行えるのであるこの性質は倚くのパタヌ
垂盎配眮を求めるこずに盞圓するそのため振り分けの蚈算                                     ンマむニングアルゎリズムを始め列挙アルゎリズム党般に成り
時間は X の出珟集合が䜜るデヌタベヌスの倧きさに比䟋する                                   立぀性質である
これは X の頻出床が小さくなれば小さくなるほどダりンプロゞ                                    実隓的にはこのような改良を行わない堎合解の増加ずずも
ェクトに比べお高速化されるずいうこずを意味するバックトラック                                  に蚈算時間は増加しおいくが再垰的に蚈算時間を枛少させる
法の堎合i>tail(X)を満たす i のみに぀いお頻出床の蚈算をす                              ずある皋床解数が増えるたでは初期化の郚分がボトルネックず
るため各出珟のtail(X)より倧きなアむテムのみに぀いおマ                                なり蚈算時間の増加はみられず解が十分に倧きくなったずし
ヌクを付加する各トランザクションのアむテムを添え字順で゜ヌ                                   おも解の数に比䟋はするもののゆるやかに蚈算時間が増倧
トしおおくこずで効率良く実行できる                                              しおいくそのため十分解の数が倧きくなるず解の数のみに
  デヌタベヌスが疎であるず倚くのアむテム i に察しお X∪{i}                              蚈算時間が䟝存するようになり珟実的に非垞に優れた解法ず
の頻出床が 0 ずなるこのためダりンプロゞェクトは倚くの頻出                                 なる
床蚈算を行っおも少ない頻出集合しか埗られなくなり解 1 ぀                                     再垰的デヌタベヌス瞮玄は2000 幎代に入っお PrefixSpan
あたりの蚈算時間は倧きくなる振り分けの堎合はマヌクが぀                                    [PHPCDH01]や LCM [UAUA 04, UKA 04]等のアルゎリズムで
いたアむテムのみに関しおのみ頻出床を芋ればよく「頻出床が                                    甚いられた
0 ずなるアむテムはそもそも調べない」ずいうこずができる
                                                                 5. 実装の比范
 4.6. 再垰的デヌタベヌス瞮玄ず末広がり性
                                                                   さおこれらのアルゎリズムず技術の組合せで実際のデヌタ
 バックトラック法のためのもう䞀぀の有効な高速化技法が再                                    に察しお有甚なものはどれであろうかこの疑問を解決すべく
垰的デヌタベヌス瞮玄である                                                   FIMI(frequent itemset mining implementations)ワヌクショップ



                                                             -6-
The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008

[FIMI HP]においく぀もの実装の比范が行われおいるのでそ                        頻出集合列挙は珟実的にはほが最適な時間で行えるず考え
の結果を玹介しよう                                              お良いだろう

5.1 デヌタセットの特性
 FIMIワヌクショップで甚いられたデヌタセット(FIMIデヌタセッ                      6. 他の問題ぞの適甚
トず呌ぶ)は珟実問題から埗られたものが䞭心であるPOSデ                            頻出集合列挙はそれ自䜓有甚なツヌルであるが他の問題
ヌタwebのクリックデヌタ等があり倚くがトランザクションの平                        を垰着しお幅広い問題を解くためにも䜿える最近では倚く
均サむズが 10 未満ず疎であるがパワヌ則を満たし倧きなトラ                        の頻出集合列挙問題のプログラム実装が公開されおいるので
ンザクションもいく぀か含たれおいるたた密なデヌタセットも                          FIMI HP, 宇野 HP]この皮のアプロヌチも有甚ず思われるここ
あり特に機械孊習のベンチマヌクから来た問題は密である                            ではそのような頻出集合列挙の䜿い方を解説しよう
 図 9 にデヌタの密床ず構造に基づいたデヌタセットの分類を
瀺した瞊軞が密床぀たり党アむテム数に察する各トランザク                           6.1 マルチセットの発芋
ションの平均的な倧きさである疎なものはアむテム数 10000 に                        頻出集合列挙ではトランザクションに同䞀のアむテムが耇数
察しおトランザクションの平均的な倧きさが 5-6 皋床である密な                       個含たれるこずはないずしおいたしかし実際のデヌタでは耇
ものは倚くのアむテムが半分以䞊のトランザクションに含たれる                         数個のアむテムが含たれる堎合もある぀たりトランザクションを
暪軞は解数が十分に倧きいようなデヌタベヌスの倧きさず同                           集合でなくマルチセット倚重集合ずしお扱いたいこのような
皋床最小サポヌトでの頻出飜和集合数÷頻出集合数である                           デヌタから同䞀のアむテムを耇数個含むこずをゆるした頻出集
この倀が小さいずデヌタはランダム性を持ち倧きいずデヌタ                          合を芋぀ける問題をマルチセット発芋問題ずよぶ
は構造を持぀ず考えおよい                                            マルチセット発芋問題を頻出集合列挙に垰着する際にはア
 たず党䜓的な傟向ずしお頻出集合数がデヌタベヌスの倧                            むテムiがトランザクションtにk回珟れおいるずき党おのiを取り陀
きさに察しお十分小さい堎合蚈算のボトルネックは問題の入                            きかわりにi1,
,ikを挿入するずいう倉換を行うijは「j個目の
力ず初期化になるそのためトラむ等を甚いないシンプルな                           アむテムi」ずいう意味であるするずiがj個入ったマルチセット
アルゎリズムが高速ずなるしかし解数の増加ずずもに䞡者はす                           はアむテム集合{i1,
,ij}に察応し䞡者の頻出床は等しいそ
ぐに逆転し入力ず出力がほが等しい倧きさになるころには䞡者                           のため倉換したデヌタベヌスで頻出集合を芋぀けるこずで
の差は開く                                                  元のデヌタベヌスの頻出マルチセットを芋぀けるこずができる
                                                         ただし{i3,i4}のようにマルチセットに察応しない頻出集合も
5.2 アプリオリ法 vs. バックトラッキング法
                                                        芋぀かるため効率は萜ちるしかしこのような䞍芁な頻出集
 アプリオリはスキャンの回数が少ないためデヌタベヌスがメ                           合は必ず飜和集合にならないため頻出飜和集合を列挙する
モリに入らない堎合でも高速であるこずグラフマむニング等の                          こずでこれらの䞍芁な頻出集合を自動的に取り陀くこずができ
包含関係の刀定に時間がかかる堎合でも既発芋解を甚いお                             る
包含関係の刀定を少なくできるこずが利点であるしかしこのワ
ヌクショップで甚いられたデヌタは十分メモリに収たる倧きさで                           6.2 頻出郚分構造パタヌン問題の垰着
ありか぀包含関係の刀定は短時間でできるそのためアプリ                            䞀般に任意の頻出パタヌン発芋問題は頻出集合発芋問
オリ型のアルゎリズムはどれも悪い成瞟を収めおおり特に最小                           題に垰着しお解くこずができるレコヌド t に含たれるパタヌン党
サポヌトが倧きくか぀解数が倧きい堎合 100 倍を超える差が                         おからなる集合を䜜りレコヌド t をこの集合で眮き換える䟋え
出るこずもある                                                ば各レコヌドが朚であるデヌタベヌスから頻出する朚を芋぀
                                                        けたい堎合は各レコヌド t に察しおt に含たれる郚分朚を党
5.3 頻床蚈算ずデヌタベヌスの栌玍方法
                                                        お列挙しその集合を新たなレコヌドずしお t を眮き換える各
  ダりンプロゞェクトず振り分けは振り分けのほうが高速である                         パタヌンがアむテムであるずみなすず眮き換えたあずの t はトラ
ようだ特に疎なデヌタではその差が倧きいデヌタベヌス瞮                            ンザクションであるずみなせるよっお党おのレコヌドを眮き換
玄は最小サポヌトが倧きくか぀解数が小さい堎合に有効であ                            えお埗られるデヌタベヌスの頻出集合を列挙するこずで元の
るが疎なデヌタ等最小サポヌトが 10-20 ず非垞に小さい堎                        デヌタベヌスの党おの頻出パタヌンを芋぀けるこずができる
合には効果がない図 9 で䞊のほうに䜍眮するデヌタに有効で                           この方法でもマルチセットのマむニングのように䞍芁な頻出
ある                                                     集合が倚く芋぀かる飜和集合を求めるこずで倚くは自動的に
  再垰的なデヌタベヌス瞮玄も同じであるが特に密なデヌタ                           回避できるが䟋えばある飜和集合 X の出珟集合に察応する
で解数が倧きくなったずきの蚈算時間の改善率は劇的であり                            レコヌドが包含関係にないパタヌンをいく぀も共通しお含む堎
䜿甚しおいない実装では蚈算が終了しないような問題でも解く                            合それらが党お飜和集合に含たれおしたうそのため各飜和
こずができる                                                 集合は冗長な情報を持぀こずずなる
  ビットマップはデヌタベヌスが密である堎合に倚少有効で                            たたレコヌドが倧きいず問題の倉換時のパタヌン列挙で膚
あるがデヌタベヌス瞮玄ず組合せるずビットマップの再構築に                           倧な時間がかかるそのため党おのレコヌドがあたり倧きくな
手間がかかるため解数が倚い堎合の蚈算効率が悪いその                             いずいう状況で䜿甚するこずが望たしい
ため効果は限定的である
  入力をトラむで栌玍する方法は疎なデヌタでは効果が小さ                           6.3 倧きな共通郚分を持぀トランザクション集合
くかえっお䜕もしないほうが速いこずが倚いしかし密なデヌタ                           よく知られた関係ずしおトランザクションデヌタベヌスは 2 郚
では効果があり非垞に密なデヌタ図 9 で䞊郚に䜍眮するデ                          グラフず等䟡である぀たりアむテムの集合ずトランザクション
ヌタでは 5-6 倍の高速化ができおいる                                   の集合を頂点集合ずしあるアむテム X がトランザクション t に含
  高速な実装では蚈算のボトルネックはほがどの問題でも                           たれるずきX ず t の間に蟺が存圚するような 2 郚グラフである
解の出力郚分でありその意味では十分解の数が倧きければ


                                                    -7-
The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008

 このずきアむテムずトランザクションは察称な関係にあり䞡                                  デヌタベヌス                    パタヌン
者の立堎を入れ替えたデヌタはやはりトランザクションデヌタベ
ヌスずなるこのデヌタベヌスに察しお頻出集合を発芋するず                                                                         A
それはある䞀定数以䞊の倧きさの共通郚分を持぀トランザクショ                                         C               A           C       B
ンの集合になる䟋えばトランザクションデヌタベヌスから共
通郚分の倧きいトランザクションの組を芋぀けたい堎合はこの                                     B       A       C   A    B
倉換を行っお倧きさが 2 の頻出集合を芋぀けるこずで党おの                                        C       B   B
そのような組を芋぀けられる                                                                            照合関数
6.4 top-K 頻出集合の発芋
 頻出集合発芋のモデルの面での匱点に適切な量の解を埗                                               図 10    順序朚パタヌン
ようずするず最小サポヌトを調敎しお䜕床も解きなおさなければ
ならないずいう点があるそのため逆に解の数Kを指定し頻
                                                          頻出郚分集合発芋問題では図 10 に瀺したようにデヌタず
出集合の数がKになるような最小サポヌトを求めようずいうtop-
                                                        パタヌンはずもに順序朚で衚される頂点ラベルの集合Σに察
K頻出集合発芋が研究されおいる
                                                        しおΣ䞊のラベル付き順序朚(labeled ordered tree)ずは図 10
 アルゎリズムのアむディアは簡単で最初最小サポヌトを 1 に
                                                        に瀺したように各頂点がΣの芁玠でラベル付けられた根付き
しお頻出集合発芋アルゎリズムを走らせK 個の解を芋぀けた
                                                        朚 T であるTにおいお各頂点の子の順序は意味をも぀すな
時点で解集合ずしお保持し最小サポヌトをその䞭で最も小さ
                                                        わち子の順序を入れ替えお埗られる朚は別の順序朚であるず
な頻出床に蚭定する以埌は新たに最小サポヌトより頻出床
                                                        考える
の倧きな解が芋぀かるたびに解集合から頻出床が最も小さな
                                                        グラフデヌタベヌスは各レコヌドがラベル付き順序朚であるよ
解を取り陀き最小サポヌトを曎新するずいう䜜業を繰り返す
                                                        うなデヌタベヌス D = {D1, 
, Dm} でありパタヌンは任意のラ
アルゎリズムが終了したずきに解集合は K 番目たでに頻出床
                                                        ベル付き順序朚であるパタヌンである順序朚 S がレコヌドT
が倧きなアむテム集合の集合になっおいる実デヌタでのパフ
                                                        に出珟するずは図 10 のように順序朚Sの頂点ラベルず蟺をう
ォヌマンスはそれほど悪くなく盎接解が K 個ずなる最小サポ
                                                        たく保存したたたSを順序朚Tの䞀郚分にうたく埋め蟌むような
ヌトを䞎えお求解するのに比べ2-3 倍しか時間がかからない
                                                        照合関数 f が存圚するこずず定矩するこのずきS≩Tず曞きS
6.5 重み付きトランザクションず最適集合発芋                                 はTの郚分朚であるずもいうデヌタベヌスにおけるパタヌンSの
  頻出集合発芋では通垞トランザクションには重みがなくど                          出珟は照合関数の党䜓TOcc(S) = { f : 照合関数 f によっおS
のトランザクションに含たれおいおも重芁性は等䟡であるずみな                           はある Di に出珟する } や文曞出珟DOcc(S) = { i : S はある
されるしかし珟実の問題では重みが付いたデヌタを扱う必芁                           Di に出珟する }根出珟 ROcc(S) = { x : S の根はあるレコヌ
が生じるたたこれをさらに拡匵しお正負の重みが付いたデヌ                           ドDiの頂点 x に出珟する }などさたざたな定矩が考えられるこ
タを考えるこずもデヌタの分類では有甚である䟋えば正䟋                           こではさたざたな良い性質から根出珟にもずづく出珟の定矩
ず負䟋を分類する堎合など「含たれおほしくないトランザクショ                          Occ(S) = ROcc(S)を採甚する
ン」が存圚するずきは負の重みを考慮するほうが郜合が良い                             このずきパタヌンSの頻床はfrq(S) = |ROcc(S)|である閟倀
[MS 00]このように頻出集合をデヌタの分類に甚いお分類粟                        ξ≧1 に察しおもしfrq(ならばΞならばSをD䞊の頻出パタヌ
床やその他の目暙関数が最倧の頻出集合を求める最適アむテ                             ン(frequent pattern)ずいう䞎えられたグラフデヌタベヌスDず閟
ム集合発芋は経隓リスク最小化やブヌスティングなど各皮                           倀Ξに察しおD䞊の頻出順序朚を党お芋぀ける問題を頻出順
の機械孊習問題でしばしば珟れる [KMM 04, TK 06]                        序朚発芋問題(frequent tree mining) ずいう
  正負の重みをゆるした堎合にはもはや頻出集合は単調で                            7.2 玠朎な方法の問題点
ないため出力数に䟝存したアルゎリズムの構築は難しくなる
                                                         根出珟たたは文曞出珟にもずづく頻床を採甚したずき順序
たた理論的には広い範囲の評䟡関数に察しお経隓誀差や
                                                        朚パタヌンの族は頻床に関する単調性を満たすすなわち
経隓リスクの最小化問題はアむテム集合や倚くのパタヌンクラ
                                                        郚分朚関係≊に関しおもしS≩Tならばfrq(S)≧frq(T)が成立
スに察しお近䌌的にすら蚈算困難であるこずが知られおいる
                                                        するこれは郚分朚関係≊に関しお順序朚党䜓が぀くる束構
[Mo 98, SAA 00]
                                                        造で小さな朚は䞋方に倧きな朚は䞊方にあるずするず頻出
  しかし頻出集合列挙のアルゎリズムをベヌスにしお正重み
                                                        パタヌンは束の䞋半分に連結しお存圚するこずを意味するア
に察する最小サポヌト[KMM 04]や目暙関数の凞性を甚いた
                                                        むテム集合堎合ず同様にサむズがれロの空朚から出発しお頂
枝刈り[MS 00, TK 06]等を導入するこずによりある皋床効率の
                                                        点を䞀぀ず぀远加しおいくこずで任意の頻出順序朚を埗るこず
良いアルゎリズムを構成するこずができるこの堎合出力数に
                                                        ができる
察する蚈算時間は非垞に長くなるが䜿甚に耐えないほどでは
                                                         しかし䞀般に䞊蚘のやり方で単玔に網矅的な探玢を行うず
なくデヌタ解析の手法ずしお぀の良い道具ずなるだろう
                                                        サむズkの順序朚を 2k回以䞊重耇しお生成しおしたうアむテム
7. 頻出順序朚パタヌン発芋                                          集合の堎合ず同様にすでに芋぀けた頻出順序朚を メモリに保
                                                        存しお幅優先探玢を行うこずでこの問題は解決できるしかし
7.1 ラベル付き順序朚ず頻出パタヌン発芋                                   次のように泚意深く探玢を行うこずでメモリぞの保存を回避しお
                                                        バックトラック法を甚いた深さ優先探玢を行うこずが可胜である
 構造デヌタからの頻出パタヌン発芋に察しおこれたでに述
べおきた頻出集合列挙の技術を適甚できる [浅井 04, WM03]                      7.3 順序朚の系列衚珟
ここでは䟋ずしお順序朚からの頻出郚分構造の発芋アルゎリ
                                                         鍵ずなるアむディアは順序朚を頂点ずその深さの察からなる
ズムを説明する
                                                        系列ずしお衚珟するこずであるたず順序朚の各頂点vをその


                                                    -8-
The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008


    0     1    2      3         ...   朚のサむズ                     7.5 頻床蚈算の高速化
    ε                                                            実甚的な実装のためには生成された朚Sの頻床frq(S)を高
                                                                速に蚈算するこずが重芁であるそのために各順序朚パタヌ
                                                                ンSに察しお最右出珟ずよぶ䞭間的なデヌタを保持しこれを
                                                                最右拡匵ず共に挞増的に曎新するこずで効率よい頻床蚈算を
                                                                行える最右出珟(rigihtmost occurrence)ずはこのデヌタベヌ
                                                                ス䞭でSが照合関数によっお埋め蟌たれおいる党おの埋め蟌み
                                                                におけるSの最右葉すなわち末尟頂点の出珟䜍眮をリストに
                                                                保持したものである
                                                                 根出珟の代わりに最右出珟を甚いるこずで4 節で議論した
                                                                ダりンプロゞェクトや振り分け等のアむテム集合発芋の高速化技
                                                                法がそのたた拡匵できるたた最右出珟から根出珟にもずづく
        図 11   最右拡匵による順序朚の列挙                                    頻床が䜎いコストで蚈算できる詳现は[AAKASA 02, 浅井 04]
                                                                を参照されたい
深さ根からのパスの長さずラベルの察v =〈depv,labv〉で                          7.6 グラフマむニング
衚すサむズkの順序朚Sの深さラベル列(depth-label sequence)
                                                                  最右拡匵は無順序朚や䞀般のグラフなど順序朚以倖の
はSの党頂点の深さずラベルの察をS䞊の前眮順巡回(pre-
                                                                構造デヌタに察しお正芏圢衚珟(canonical representation)等の
order traversal)の順に䞊べた系列code(S)= s = (v1, 
, vk) =
                                                                技法ず組み合わせおバックトラック型の頻出パタヌン発芋アル
〈dep(v1), lab(v1) 〉, 
, 〈dep(vk), lab(vk) 〉であるアむテム集
                                                                ゎリズムを実珟するために甚いられおいる[浅井 04, YH 02]
合の堎合ず同様に順序朚の深さラベル列sに察しお最埌の
                                                                PrefixSpan も同様の技法である AGM 等の幅優先型のグラフ
察vkを末尟ずよびtail(s)ず衚蚘するこのずき先頭の察v1はS
                                                                マむニングアルゎリズムにおける隣接行列の正芏圢衚珟の利甚
の根に察応し末尟vk はSの最も右偎にある葉に察応する䟋
                                                                もより䞀般的なスキヌマずみなすこずができる
えば図 10 のパタヌンS1は系列s1= 〈0, A〉, 〈1, C〉, 〈1, B〉で
                                                                  泚意点ずしお最右拡匵によるバックトラック型のアルゎリズム
衚わされその末尟はtail(s1)= 〈1, B〉である簡単のため以埌
                                                                は順序朚パタヌンにおいおはきわめお効率が良いがより䞀
は順序朚ず深さラベル列を区別しないこずにする
                                                                般のグラフ族に察するマむニングにおいおは単独では性胜が
7.4 最右拡匵を甚いたバックトラック法                                            出ないこずがある䟋えば䞀般のグラフに察する最右拡匵の
  頻出順序朚の列挙では芪ずなるサむズk1 の順序朚Sに新                                 構成は難しくグラフの同型性刀定による怜査ず組み合わせる
しい頂点vを䞀぀远加しお子ずなるサむズkの順序朚 T を生成                                 必芁がある[YH 02]たた朚より䞀般的なグラフ族に察しおは
するこの際に新しく远加した頂点vがTの深さラベル列䞊で                                  最右拡匵ずダりンプロゞェクトの組み合わせは探玢の枝刈りが
v = tail(T)を満たすようにするずいう生成ルヌルを甚いるこれは                            十分に利かない堎合があるのでApriori のような幅優先探玢
頂点の远加に際しお(1)芪の朚の最右枝(rightmost branch)の                         [IWM 03]を採甚するかグラフの族の性質を考慮した枝刈り手
盎䞋で(2)兄匟䞭で末匟最も右の頂点ずなる堎所にのみ远                                  法をバックトラック型に組み蟌む等の工倫が必芁になる
加するずいう制限を加えるこずになるこれを最右拡匵(rightmost
expansion)ずいう [AAKASA 02, Nakano 02, Zaki 02]深さラベ
                                                                8. たずめ
ル列の蚀葉でいえばSの最右葉すなわち末尟 tail(S)の深さを
dep(tail(S))ずするず任意の深さ 1≩dep≩dep(tail(S))+1 ず任意                   本皿では頻出アむテム集合発芋問題をアルゎリズムを䞭
のラベルlabからなる察〈dep, lab〉を列Sの末端に远加するこず                            心にしお解説した飜和集合マむニングや䞀般のグラフマむニン
に察応する                                                          グ等本皿で觊れられなかった話題に関しおは [宇野 07,浅井
  以䞊をたずめるず次のアルゎリズム 最右拡匵バックトラックが                                 04, WM 03,鷲尟 07]等の解説を参照されたい
埗られるサむズ 0 の空朚εすなわち空の深さラベル列に察                                   頻出集合はデヌタマむニングの基瀎であり実際にツヌルず
しお最右拡匵バックトラック(ε)を呌び出すこずで党おの頻出                                 しお䜿う機䌚も倚い本皿で玹介したアルゎリズムの倚くは
集合が列挙される                                                       FIMI のサむトに実装ず解説論文がありたたベンチマヌク問題
                                                                も手に入る たた著者のホヌムペヌゞ[宇野 HP]ではLCM
  最右拡匵バックトラック(S)                                                の他いく぀かの頻出パタヌン発芋アルゎリズムの実装ず問題
  1. output S                                                   倉換等各皮のツヌルが入手できる䟋えば3.5 節のバックトラ
  2. for each 1≩dep≩dep(tail(S))+1 do                           ック法による頻出集合発芋アルゎリズムに4 節の述べた各皮の
  3. for each label lab do                                      高速化手法を加えた高速版実装に飜和集合発芋を远加した
  4.    if frqS・〈dep, lab〉≧Ξ then                             ものは LCM ver.4 ずしお6.6 節の重み付きトランザクション察応
  5.       call 最右拡匵バックトラックS・〈dep, lab〉                       版の実装は LCM ver.5 ずしおたた7 節の頻出朚マむニングは
                                                                Freqt ver.4 ず Unot ずしお同ホヌムペヌゞで利甚可胜である
 ただし空朚εには無条件に䞀぀の頂点が远加可胜ずする                                      本皿ず実装がデヌタマむニング研究掚進の助力ずなれば幞
図に最右拡匵による順序朚の列挙の䟋を瀺すバックトラッ                                   いである
クアルゎリズムがサむズ 0 の空朚から出発しお最右の葉圱
で瀺されおいるを远加しながらサむズの小さな順に党おの頻
出順序朚をもれなくか぀重耇なく列挙するこずがわかる



                                                            -9-
The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008

                                                                        [MS 00] S. Morishita, J. Sese, Traversing Itemset Lattice with
参考文献                                                                       Statistical Metric Pruning, Proc. PODS 2000, pp. 226-236
[AIS 93] R. Agrawal, T. Imielinski, A. N. Swami: Mining                    (2000)
    Association Rules between Sets of Items in Large Databases.         [西田 07] 西田豊明(ç·š), レクチャヌシリヌズ「知胜コンピュヌテ
    Proc. SIGMOD Conference 1993, pp. 207-216 (1993)                       ィングずその呚蟺」, 人工知胜孊䌚誌, 2007 幎 3 月号
[AMST 96] R. Agrawal, H. Mannila, R. Srikant, H. Toivonen, A.              (2007)
    I. Verkamo: Fast Discovery of Association Rules. Advances           [SAA 00] S. Shimozono, H. Arimura, S. Arikawa, Efficient
    in Knowledge Discovery and Data Mining, pp. 307-328                    Discovery of Optimal Word-Association Patterns in Large
    (1996)                                                                 Text Databases, New Generation Computing, 18(1), pp. 49-
[AS 94] R. Agrawal, R. Srikant: Fast Algorithms for Mining                 60 (2000)
    Association Rules in Large Databases. Proc. VLDB 1994, pp.          [TK 06] K. Tsuda, T. Kudo: Clustering graphs by weighted
    487-499 (1994)                                                         substructure mining, Proc. ICML 2006, pp. 953-960 (2006)
[AAKASA 02] T. Asai, K. Abe, S. Kawasoe, H. Arimura, H.                 [宇野 HP] 宇野 毅明のホヌムペヌゞ,
    Sakamoto, S. Arikawa, Efficient Substructure Discovery                 http://research.nii.ac.jp/~uno/index-j.html
    from Large Semi-structured Data, Proc. 2nd SIAM Data                [UKA 04] T. Uno, M. Kiyomi, H. Arimura, LCM ver. 2:
    Mining (SDM'02), pp. 158-174 (2002)                                    Efficient Mining Algorithms for Frequent/Closed/Maximal
[浅井 04] 浅井達哉, 有村博玀: 半構造デヌタマむニングにおけ                                         Itemsets, Proc. FIMI'04 (2004)
    るパタヌン発芋技法, デヌタ工孊論文特集電子情報通信                                         [UAUA 04] T. Uno, T. Asai, Y. Uchida, H. Arimura: An
    孊䌚論文誌, Vol.J87-D-I, No.2, pp. 79-96 (2004)                             Efficient Algorithm for Enumerating Closed Patterns in
[BJ 98] R. J. Bayardo Jr.: Efficiently Mining Long Patterns from           Transaction Databases, Proc. Discovery Science 2004, LNAI
    Databases, Proc. SIGMOD Conference 1998: pp. 85-93                     3245, pp. 16-31 (2004)
    (1998)                                                              [宇野 07] 宇野毅明有村博玀: デヌタむンテンシブコンピュヌ
[EM 02] T. Eiter, K. Makino: On Computing all Abductive                    ティング その 2 頻出アむテム集合発芋アルゎリズム, レクチ
    Explanations, Proc. AAAI-2002, pp.62 (2002)                            ャヌシリヌズ「知胜コンピュヌティングずその呚蟺」, (ç·š)西田
[FIMI HP] B. Goethals, the FIMI repository,                                豊明, 第 2 回人工知胜孊䌚誌, 2007 幎 5 月号 (2007)
    http://fimi.cs.helsinki.fi/ (2003)                                   [WM 03] T. Washio, H. Motoda: State of the art of graph-based
[HPY 00] J. Han, J. Pei, Y. Yin: Mining Frequent Patterns                  data mining. SIGKDD Explorations, 5(1): pp. 59-68 (2003)
    without Candidate Generation. Proc. SIGMOD Conference               [鷲尟 07] 鷲尟隆: デヌタむンテンシブコンピュヌティング その
    2000, pp. 1-12 (2000)                                                  離散構造マむニング, レクチャヌシリヌズ「知胜コンピュヌテ
[IWM 03] A. Inokuchi, T. Washio, H. Motoda, Complete Mining                ィングずその呚蟺」, (ç·š)西田豊明, 第 1 回人工知胜孊䌚
    of Frequent Patterns from Graphs: Mining Graph Data,                   誌, 2007 幎 3 月号 (2007)
    Machine Learning, 50(3), pp. 321-354 (2003)                         [YH 02] X. Yan, J. Han, gSpan: Graph-Based Substructure
[KMM 04] T. Kudo, E. Maeda, Y. Matsumoto: An Application                   Pattern Mining, Proc. IEEE ICDM 2002, pp. 721-724 (2002)
    of Boosting to Graph Classification, Proc. NIPS 2004 (2004)         [Zaki 02] M. J. Zaki, Efficiently mining frequent trees in a forest,
[MA 07] S. Minato, H. Arimura: Frequent Pattern Mining and                 Proc. ACM KDD'00, pp. 71-80 (2002)
    Knowledge Indexing Based on Zero-suppressed BDDs, Post-             [ZPOL 97] M. J. Zaki, S. Parthasarathy, M. Ogihara, W. Li: New
    Proc. of the 5th International Workshop on Knowledge                   Algorithms for Fast Discovery of Association Rules, Proc.
    Discovery in Inductive Databases, LNAI, (2007)                         KDD 1997, pp. 283-286 (1997)
[Mo 98] S. Morishita, On Classification and Regression, Proc.
    Discovery Science (DS'98), pp. 40-57 (1998)
[MN 99] S. Morishita, A. Nakaya: Parallel Branch-and-Bound
    Graph Search for Correlated Association Rules, Large-Scale
    Parallel Data Mining: pp. 127-144 (1999); S. Morishita: On
    Classification and Regression, Proc. Discovery Science 1998,
    LNAI 1532, pp. 40-57 (1998)
[MS 00] S. Morishita, J. Sese: Traversing Itemset Lattice with
    Statistical Metric Pruning, Proc. PODS 2000, pp. 226-236
    (2000)
[MTV 94] H. Mannila, H. Toivonen, A. I. Verkamo: Efficient
    Algorithms for Discovering Association Rules, Proc. KDD
    Workshop 1994: pp. 181-192 (1994)
[Nakano 02] S. Nakano, Efficient generation of plane trees, Inf.
    Process. Lett., 84(3), pp. 167-172 (2002)
[PHPCDH 01] J. Pei, J. Han, B. Pinto, Q. Chen, U. Dayal, M.
    Hsu: PrefixSpan: Mining Sequential Patterns by Prefix-
    Projected Growth, Proc. IEEE ICDE 2001, pp. 215-224
    (2001)




                                                                   - 10 -

More Related Content

What's hot

倜たでラボ☆テレビ7月24日開催分
倜たでラボ☆テレビ7月24日開催分倜たでラボ☆テレビ7月24日開催分
倜たでラボ☆テレビ7月24日開催分ikiikilab
 
【12-A-1】 開発プロセスの心
【12-A-1】 開発プロセスの心【12-A-1】 開発プロセスの心
【12-A-1】 開発プロセスの心devsumi2009
 
Copyright and Creative Commons
Copyright and Creative CommonsCopyright and Creative Commons
Copyright and Creative CommonsJun Nogata
 
Using morphological n-gram and regex for linguistic research
Using morphological n-gram and regex for linguistic researchUsing morphological n-gram and regex for linguistic research
Using morphological n-gram and regex for linguistic researchYoichiro Hasebe
 
宛 課皋
宛 課皋宛 課皋
宛 課皋clinic
 
93六䞊國語課皋蚈劃
93六䞊國語課皋蚈劃93六䞊國語課皋蚈劃
93六䞊國語課皋蚈劃tenshain
 
teaching how to read Japanese with "Min-nano nihongo"
teaching how to read Japanese with "Min-nano nihongo"teaching how to read Japanese with "Min-nano nihongo"
teaching how to read Japanese with "Min-nano nihongo"Yoshifumi Murakami
 
Persona design method / ペル゜ナ抂論
Persona design method / ペル゜ナ抂論Persona design method / ペル゜ナ抂論
Persona design method / ペル゜ナ抂論Katsumi TAZUKE
 
Dentsu 2008 Report
Dentsu 2008 ReportDentsu 2008 Report
Dentsu 2008 Reportpjgmoody
 
匵茂桂 再論公與私
匵茂桂 再論公與私匵茂桂 再論公與私
匵茂桂 再論公與私科幻嘎泡
 
Upstream and downstream in Requirement Development
Upstream and downstream in Requirement DevelopmentUpstream and downstream in Requirement Development
Upstream and downstream in Requirement DevelopmentKent Ishizawa
 
【12-A-5】 ナヌザヌ䌁業責任で25サむトをアゞャむルに開発
【12-A-5】 ナヌザヌ䌁業責任で25サむトをアゞャむルに開発【12-A-5】 ナヌザヌ䌁業責任で25サむトをアゞャむルに開発
【12-A-5】 ナヌザヌ䌁業責任で25サむトをアゞャむルに開発devsumi2009
 
むントラネット怜玢・「ゞヌラ・ドキュメント・サヌチ」の機胜ず特城
むントラネット怜玢・「ゞヌラ・ドキュメント・サヌチ」の機胜ず特城むントラネット怜玢・「ゞヌラ・ドキュメント・サヌチ」の機胜ず特城
むントラネット怜玢・「ゞヌラ・ドキュメント・サヌチ」の機胜ず特城opengroove
 
Agile Estimating And Planning(J)
Agile Estimating And Planning(J)Agile Estimating And Planning(J)
Agile Estimating And Planning(J)Yasui Tsutomu
 
怜玢キヌワヌドで読み解く2007幎
怜玢キヌワヌドで読み解く2007幎怜玢キヌワヌドで読み解く2007幎
怜玢キヌワヌドで読み解く2007幎pipithelhasa
 
Fantasista Appendix1.0
Fantasista Appendix1.0Fantasista Appendix1.0
Fantasista Appendix1.0fantasistaVppr
 
enNetforum Wakamatsu Presentation
enNetforum Wakamatsu PresentationenNetforum Wakamatsu Presentation
enNetforum Wakamatsu PresentationForum
 
Cellphone Wallet Service Trends in Japan
Cellphone Wallet Service Trends in JapanCellphone Wallet Service Trends in Japan
Cellphone Wallet Service Trends in JapanMasaru IKEDA
 

What's hot (20)

倜たでラボ☆テレビ7月24日開催分
倜たでラボ☆テレビ7月24日開催分倜たでラボ☆テレビ7月24日開催分
倜たでラボ☆テレビ7月24日開催分
 
rrds08
rrds08rrds08
rrds08
 
【12-A-1】 開発プロセスの心
【12-A-1】 開発プロセスの心【12-A-1】 開発プロセスの心
【12-A-1】 開発プロセスの心
 
Copyright and Creative Commons
Copyright and Creative CommonsCopyright and Creative Commons
Copyright and Creative Commons
 
Using morphological n-gram and regex for linguistic research
Using morphological n-gram and regex for linguistic researchUsing morphological n-gram and regex for linguistic research
Using morphological n-gram and regex for linguistic research
 
宛 課皋
宛 課皋宛 課皋
宛 課皋
 
93六䞊國語課皋蚈劃
93六䞊國語課皋蚈劃93六䞊國語課皋蚈劃
93六䞊國語課皋蚈劃
 
teaching how to read Japanese with "Min-nano nihongo"
teaching how to read Japanese with "Min-nano nihongo"teaching how to read Japanese with "Min-nano nihongo"
teaching how to read Japanese with "Min-nano nihongo"
 
Persona design method / ペル゜ナ抂論
Persona design method / ペル゜ナ抂論Persona design method / ペル゜ナ抂論
Persona design method / ペル゜ナ抂論
 
Dentsu 2008 Report
Dentsu 2008 ReportDentsu 2008 Report
Dentsu 2008 Report
 
匵茂桂 再論公與私
匵茂桂 再論公與私匵茂桂 再論公與私
匵茂桂 再論公與私
 
Upstream and downstream in Requirement Development
Upstream and downstream in Requirement DevelopmentUpstream and downstream in Requirement Development
Upstream and downstream in Requirement Development
 
【12-A-5】 ナヌザヌ䌁業責任で25サむトをアゞャむルに開発
【12-A-5】 ナヌザヌ䌁業責任で25サむトをアゞャむルに開発【12-A-5】 ナヌザヌ䌁業責任で25サむトをアゞャむルに開発
【12-A-5】 ナヌザヌ䌁業責任で25サむトをアゞャむルに開発
 
むントラネット怜玢・「ゞヌラ・ドキュメント・サヌチ」の機胜ず特城
むントラネット怜玢・「ゞヌラ・ドキュメント・サヌチ」の機胜ず特城むントラネット怜玢・「ゞヌラ・ドキュメント・サヌチ」の機胜ず特城
むントラネット怜玢・「ゞヌラ・ドキュメント・サヌチ」の機胜ず特城
 
Agile Estimating And Planning(J)
Agile Estimating And Planning(J)Agile Estimating And Planning(J)
Agile Estimating And Planning(J)
 
怜玢キヌワヌドで読み解く2007幎
怜玢キヌワヌドで読み解く2007幎怜玢キヌワヌドで読み解く2007幎
怜玢キヌワヌドで読み解く2007幎
 
Fantasista Appendix1.0
Fantasista Appendix1.0Fantasista Appendix1.0
Fantasista Appendix1.0
 
JLPT 2nd level Reading
JLPT 2nd level ReadingJLPT 2nd level Reading
JLPT 2nd level Reading
 
enNetforum Wakamatsu Presentation
enNetforum Wakamatsu PresentationenNetforum Wakamatsu Presentation
enNetforum Wakamatsu Presentation
 
Cellphone Wallet Service Trends in Japan
Cellphone Wallet Service Trends in JapanCellphone Wallet Service Trends in Japan
Cellphone Wallet Service Trends in Japan
 

More from Hiroshi Ono

Voltdb - wikipedia
Voltdb - wikipediaVoltdb - wikipedia
Voltdb - wikipediaHiroshi Ono
 
Gamecenter抂説
Gamecenter抂説Gamecenter抂説
Gamecenter抂説Hiroshi Ono
 
EventDrivenArchitecture
EventDrivenArchitectureEventDrivenArchitecture
EventDrivenArchitectureHiroshi Ono
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdfHiroshi Ono
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdfHiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfHiroshi Ono
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfHiroshi Ono
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfHiroshi Ono
 
downey08semaphores.pdf
downey08semaphores.pdfdowney08semaphores.pdf
downey08semaphores.pdfHiroshi Ono
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
TwitterOct2008.pdf
TwitterOct2008.pdfTwitterOct2008.pdf
TwitterOct2008.pdfHiroshi Ono
 
camel-scala.pdf
camel-scala.pdfcamel-scala.pdf
camel-scala.pdfHiroshi Ono
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfHiroshi Ono
 
SACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfSACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfHiroshi Ono
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdfHiroshi Ono
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfHiroshi Ono
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdfHiroshi Ono
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdfHiroshi Ono
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfHiroshi Ono
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfHiroshi Ono
 

More from Hiroshi Ono (20)

Voltdb - wikipedia
Voltdb - wikipediaVoltdb - wikipedia
Voltdb - wikipedia
 
Gamecenter抂説
Gamecenter抂説Gamecenter抂説
Gamecenter抂説
 
EventDrivenArchitecture
EventDrivenArchitectureEventDrivenArchitecture
EventDrivenArchitecture
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
 
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdfpragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
pragmaticrealworldscalajfokus2009-1233251076441384-2.pdf
 
downey08semaphores.pdf
downey08semaphores.pdfdowney08semaphores.pdf
downey08semaphores.pdf
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
TwitterOct2008.pdf
TwitterOct2008.pdfTwitterOct2008.pdf
TwitterOct2008.pdf
 
camel-scala.pdf
camel-scala.pdfcamel-scala.pdf
camel-scala.pdf
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
 
SACSIS2009_TCP.pdf
SACSIS2009_TCP.pdfSACSIS2009_TCP.pdf
SACSIS2009_TCP.pdf
 
scalaliftoff2009.pdf
scalaliftoff2009.pdfscalaliftoff2009.pdf
scalaliftoff2009.pdf
 
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdfstateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
stateyouredoingitwrongjavaone2009-090617031310-phpapp02.pdf
 
program_draft3.pdf
program_draft3.pdfprogram_draft3.pdf
program_draft3.pdf
 
nodalities_issue7.pdf
nodalities_issue7.pdfnodalities_issue7.pdf
nodalities_issue7.pdf
 
genpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdfgenpaxospublic-090703114743-phpapp01.pdf
genpaxospublic-090703114743-phpapp01.pdf
 
kademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdfkademlia-1227143905867010-8.pdf
kademlia-1227143905867010-8.pdf
 

100420

  • 1. The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008 3M1-1 頻出パタヌン発芋アルゎリズム入門  アむテム集合からグラフたで  An Introduction to Frequent Pattern Mining – Itemsets to Graphs - 宇野 毅明*1 有村 博玀*2 Takeaki Uno Hiroki Arimura *1 *2 囜立情報孊研究所・総合研究倧孊院倧孊 北海道倧孊倧孊院情報科孊研究科 National Institute of Informatics, Hokkaido University, Graduate School for The Graduate University for Advanced Studies Information Science and Technology This paper provides a brief survey of efficient algorithms for the frequent itemset mining (FIM) problem, which is one of the most popular and basic problems in data mining. Firstly, we give the descriptions of two well-known algorithms for the FIM problem, called Apriori and Backtrack, which are based on breadth-first search and depth-first search over the space of frequent itemsets, respectively. Then, we discuss advanced techniques to speed-up the algorithms for the FIM problem, namely, database reduction, frequent itemset trees, down-project, occurrence-deliver, recursive database reduction, which improve the key operations of FIM computation such as database access and frequency computation. We also explain how to extend Backtrack algorithm for semi-structured data including trees and graphs. 1. はじめに A: 1,2,5,6,7,9 ぀以䞊に含たれる デヌタマむニングは倧量のデヌタから有甚な芏則性やパタヌ B: 2,3,4,5 アむテム集合 ンを芋぀けるための効率よい手法に関する研究であるデヌタ C: 1,2,7,8,9 {1} {2} {7} {9} マむニング研究は1994 幎のAgrawalらの結合芏則発芋に関す る研究を契機ずしお急速に発展したこの結合芏則発芋の鍵 D: 1,7,9 {1,7} {1,9} ずなる基本的な技術が頻出アむテム集合発芋である この 10 E: 2,3,7,9 {2,7} {2,9} {7,9} 幎間で結合芏則発芋にずどたらず深さ優先探玢法の提案や 飜和集合発芋構造デヌタぞの拡匵などさたざたな圢で盛ん な研究が続いおおりデヌタマむニングの䞻芁なトピックの䞀぀ 図 1 トランザクションデヌタベヌスず頻出集合 ずなっおいる 本レクチャヌでは頻出集合発芋アルゎリズムの最近の進展 ョン(transaction)であるデヌタベヌスのこずでありトランザクショ に぀いお解説する特にアルゎリズム研究の立堎からその基 ンずはアむテム(item)の集合である蚀い換えればアむテムの 本的な構造ず実際のデヌタのための高速な実装に぀いお解 集合∑={1,
,n}に察しおトランザクション は∑の郚分集合で 説する本解説は筆者らによる実装コンテストFIMI'04 での優 ありトランザクションデヌタベヌスはトランザクションの集合であ 勝プログラムLCMの開発経隓に基づいたものである珟圚 るトランザクションデヌタベヌスには同䞀のトランザクションが LCMを含む各皮の頻出集合発芋アルゎリズムが公開され利 耇数含たれおも良い∑の郚分集合をここでは アむテム集合 甚されおいる本解説がこれらのアルゎリズムを実際の問題に (itemset)ずよぶ 適甚する堎合に参考になれば幞いである 図 1 の巊にトランザクションデヌタベヌスの䟋があるここに 本皿の構成は次のずおりである2 節で問題の定矩を䞎え アむテムの集合は{1,2,3,4,5,6,7,8,9}でありトランザクションの集 3 節でアプリオリ法ず深さ優先探玢法の二぀の基本的手法を䞎 合は{A, B, C, D, E, F}である䟋えばスヌパヌ等の売り䞊げ える4 節では高速化技術に぀いお述べ5 節では実デヌタ䞊 デヌタは各レコヌドが「1 人のお客さんがどの商品を買った での性胜比范6 節では応甚に぀いお7 節では朚構造デヌタ か」ずいう蚘録になっおいるのでスヌパヌの党商品の集合をア からの頻出パタヌン発芋ぞの拡匵に぀いお述べ8 節でたずめ むテム集合ず思えばトランザクションデヌタベヌスになっおいる るなお本皿は人工知胜孊䌚誌のレクチャヌシリヌズ「知胜 このほかアンケヌト結果のデヌタも぀のレコヌドがある コンピュヌティングずその呚蟺」[西田 07]の第 2 回レクチャヌ[宇 人がチェックを入れた項目の集合になっおいるず考えればよい 野 07]の䞀郚分を基に加筆修正したものである他の回のレク しそれぞれの項目に぀いおからの点数を䞎えるようなもの チャヌずも合わせおご芧いただければ幞いである であれば「質問ず回答の組」Q1 に 5 が぀いおいる等がアむ テムであるず考えるこずでトランザクションデヌタベヌスずみな せるこのほか実隓デヌタ等もこの範疇に入り非垞に倚くの 2. 頻出パタヌン デヌタベヌスがトランザクションデヌタベヌスであるずみなせる 2.1 トランザクションデヌタベヌス 2.2 頻出アむテム集合を䜿ったデヌタベヌス分析 今  手 元 に ト ラ ン ザ ク シ ョ ン デ ヌ タ ベ ヌ ス (transaction さおこのデヌタを解析しようずするずどのような芖点がある database)があるずするこれは各レコヌド(record)がトランザクシ だろうか芖点ずしお最も倚く含たれるアむテムは䜕かトランザ クションの数はいく぀かトランザクションの平均的な倧きさはど 連絡先 有村博玀北海道倧孊 倧孊院情報科孊研究科 の皋床かあるいは倧きさの分散はどの皋床かずいったものが 〒060-0814 札幌垂北区北 14 条西 9 䞁目 TEL/FAX: 011-706-7680, E-mail: arim@ist.hokudai.ac.jp -1-
  • 2. The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008 思い぀くだろうこれらはいわばデヌタを党䜓的に捉えお特 出すためΞを小さめに蚭定するこずが望たしいここにはトレ 城を芋出す手段だず蚀える ヌドオフがあるΞを䞊手に蚭定するあるいは頻出床の高い では逆にデヌタの局所的な特城を捉えるこずはできないだ ものから k 個頻出集合を芋぀けるこずで解の数を爆発させず ろうか局所的ずいうず぀぀のレコヌドを芋る方法が考えら に有甚な知識を取り出すこずが重芁である れるがこれでは各レコヌドの個性に解析が匕きずられおしたう たたトランザクションの倧きさどのアむテムを含むかずいった 2.4 構造デヌタ 特城では局所的な個性を語るには匱すぎるその意味では XMLデヌタ時系列デヌタ文字列デヌタ等デヌタベヌス 「どのようなアむテム集合が倚くのトランザクションに含たれるか」 が構造を持぀堎合アむテムの集合だけでなく構造を付加し ずいう点に泚目するこずは䞡方の芁求を満たしおおり郜合が たようなパタヌンを考えるこずができる倚くのレコヌドに含たれ 良いたた倚くのレコヌドに含たれる組合せに泚目するこずで るパタヌンは頻出パタヌン(frequent pattern)ずよばれ頻出集合 局所的だが党䜓にある皋床共通する構造を芋぀けるこずができ ず同じようにモデル化するこずができるデヌタベヌスによっおは るデヌタの䞭から特殊だが顕著な䟋を芋぀けるのには適し 構造が持぀意味がずおも倧きいものもありこのような堎合には おいるだろう 構造を持぀パタヌンを芋぀けるこずに倧きな意矩がある頻出 このようにデヌタベヌスの䞭に良く珟れるアむテム集合を頻 パタヌンを芋぀ける問題は頻出パタヌン発芋frequent pattern 出アむテム集合 (frequent itemset)あるいは単に頻出集合ずよ miningずよばれ倚くの研究がある7 節で順序朚パタヌンの ぶ正確には最小サポヌトずよばれる閟倀Ξを甚いおΞ個 族に察する頻出パタヌン発芋に぀いお述べる 以䞊のトランザクションに含たれるようなアむテム集合ずしお定矩 される図 1 では右偎に瀺した集合はどれも少なくずも぀以 䞊のトランザクションに含たれるため最小サポヌトに察する頻 3. 頻出集合列挙アルゎリズム 出集合ずなっおいるアむテム集合Xに察しおそれを含むトラン ザクションを出珟(occurrence)ずよぶたた出珟の集合を出珟 3.1 蚈算時間の評䟡 集合(occurrence set)出珟の数を頻出床(frequency)あるいは 実甚䞊頻出集合発芋を甚いるような堎合入力するデヌタ サポヌト(support)ずいいそれぞれOcc(X) ずfrq(X) ず衚蚘する ベヌスは巚倧であるこずが倚くたた出力する解の数も倧きい 図 1 の䟋ではアむテム集合{2,5}の出珟は 1 行目ず 2 行目のト そのため蚈算時間が爆発的に増加する解法は珟実的には䜿 ランザクションである 甚できない珟実的な時間内に求解を終了させるためにはア 頻出集合の発芋は1993 幎に Agrawal, Imielinski ,Srikant ルゎリズム的な技術が欠かせない らによっお結合芏則の発芋に関連しお提案されたのが最初で 䞀般に頻出集合列挙問題のような倚くの解を列挙する列 ある [AIS 93] 挙アルゎリズム(enumeration algorithm)の蚈算時間は問題を 入力しお初期化する郚分ず実際に求解を行っお解を出力する 郚分ずに分かれる入力・初期化に関しおはどの実装・アルゎリ 2.3 頻出アむテム集合発芋問題 ズムでもほが線圢時間であるボトルネックはファむルの読み蟌 頻出集合は䞊述のようにデヌタベヌスの局所的・特異的だ み郚分でありアルゎリズムの技術はあたり関係がない が党䜓に共通する構造が芋られるので知識発芋の分野で重 蚈算時間に倉化が出るのは解の数が倉化したずきである 宝されおいる 䞀般的にアルゎリズムの求解時間は入力の倧きさに察しおのみ 䟋えば頻出集合に含たれるアむテム同士は共起する確率 評䟡されるがこのように解を列挙するアルゎリズムの堎合出 が高いず考えられるためアむテム間の関係を芋るこずができる 力の倧きさすなわちこの堎合は解の数に察する評䟡も重芁 し「トランザクションが○ず△を含むなら□を含むこずが倚い」 ずなるそのため蚈算時間が[入力の倧きさ出力の倧きさ]の ずいったルヌルを発芋する堎面で甚いられる 倚項匏時間ずなっおいるアルゎリズムは出力倚項匏時間(output たた正䟋ず負䟋からなるデヌタがあるずきに正䟋に倚く含 polynomial)ずよばれ蚈算効率の぀の指暙ずなっおいるたた たれるアむテム集合を芋぀けるこずで正䟋の倚くが共通しお持 より匷い条件ずしお぀の解を出力しおから次の解を出力する ち負䟋のデヌタには芋られない性質を捕らえようずいうアプ たでの時間が入力ずそれたでの出力の倧きさの倚項匏になっ ロヌチもあるこれは 6.5 節の重み぀きトランザクションで扱う おいるずき逐次倚項匏(incremental polynomial)ずよばれ特に さらに頻出集合は倚くのレコヌドに共通しお含たれるため これが出力に䟝存せず入力のみの倚項匏時間ずなっおいるず ゚ラヌや異垞倀等に振り回されるこずなく安定しおいるその き倚項匏遅延(polynomial delay)ずよばれる ため党おの頻出集合を求めそれをデヌタベヌスの統蚈量ず アルゎリズムの倚項匏性は問題が構造を持぀かどうかの重 みなすこずでデヌタベヌス間の比范を行うこずもできる[ACP 芁な指暙であるこずから列挙型のアルゎリズムの倚項匏性もさ 06] かんに議論されおいるグラフのパス党匵朚マッチングクリ 通垞頻出集合はある皮の知識やルヌルの候補であるため ヌクずいった構造シヌク゚ンス朚などのパタヌンは倚項匏時 ぀だけ芋぀けおもあたり意味がないたた統蚈量ずしお甚い 間で列挙できるこずが知られおいる逆に倚面䜓の頂点や機 る堎合は党おを芋぀ける必芁があるそのため列挙的なアプロ 械孊習の分野で著名な極小ヒッティングセット列挙あるいはハ ヌチが必須である䞎えられたトランザクションデヌタベヌスず むパヌグラフ双察化ずいった問題頻出するグラフパタヌンを発 閟倀Ξに察しお頻出集合を党お芋぀ける問題は頻出集合発芋 芋する問題等は出力倚項匏時間で解けるかどうかが知られお 問 題 (frequent itemset mining)  あ る い は é » 出 集 合 の 列 挙 いない (enumeration)ずよばれる頻出床はサポヌト(support)ずもよばれ 実甚的には列挙アルゎリズムの倚項匏性は効率良さの必 るため閟倀Ξは最小サポヌト(minimum support)ずよばれる 芁十分条件だがそれだけではあたり意味がない列挙問題は 頻出集合はΞの倧きさによりその数が倉化する蚈算の立堎 非垞に倚くの解を持぀ため出力の乗や乗の時間がかかる からはΞが倧きければ解ずなる頻出集合の数は小さく有利 アルゎリズムは到底動かないのである倚項匏遅延であれば であるがモデルの立堎からは有甚な知識をもらさず芋぀け 解の数に察しお線圢にしか蚈算時間が増えず実甚的である -2-
  • 3. The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008 1,2,3, D1= { {1}, {2}, {7}, {9} } D2 = { {1,2}, {1,7},{1,9},{2,7},{2,9}, {7,9} } 1,2, 1,2, 1,3, 2,3, { {1,7},{1,9},{2,7},{2,9}, {7,9} } 1,2,5,6,7,9 D3= { {1,2,7}, {1,2,9},{1,7,9},{2,7,9} } 1,2 1,3 1,4 2,3 2,4 3,4 2,3,4,5 { {1,7,9} {2,7,9} 1 2 3 4 1,2,7,8,9 D4 = { {1,2,7,9} } 1,7,9 φ 2,3,7,9 図 アむテム集合が䜜る束ず頻出集合の領域 図 Ξ=3 でのアプリオリの実行䟋 が入力に察する蚈算時間がより倧きいず巚倧なデヌタベヌ スに察しおは動かなくなるたた実甚的には党䜓の蚈算時間 このアルゎリズムではk回目のルヌプが始たるずきDk は倧 が短ければ解の間の蚈算時間は長くおも良くそういった意味 きさが k である頻出集合の集合になっおいるそしおステップ では解぀あたりの蚈算時間が入力の䜎い次数のオヌダヌに 3 でDkの集合぀を組合わせおできる倧きさk+1 のアむテム集合 なっおいるこずが実甚的に効率良いアルゎリズムの条件ずなる を党おDk+1 に挿入する頻出集合の単調性から倧きさがk+1 興味深いこずに今たでに知られおいる倚項匏時間の列挙ア の任意の頻出集合は必ずDk+1に含たれるそのためステップ ルゎリズムはほが党おこの条件を満たす加えお埌に述べる 4 でDk+1 から頻出でないアむテム集合を取り陀くこずで倧きさ 末広がり性を考慮した実装を行うこずで解぀あたりの蚈算時 k+1 の頻出集合の集合が埗られる アプリオリは 1994 幎の 間が定数に近くなる぀たり出力倚項匏時間の解法が存圚す AgrawalずSrikant らの論文 [AS 94]で最初に䞎えられたこれず れば䞀工倫加えるこずで効率良い実装が埗られるず考えおよ 独立にMannila ず Toivonen らも同じアルゎリズムを䞎えおいる い [AMST 96] メモリの䜿甚量も列挙アルゎリズムでは倧きな問題である アプリオリのステップ 4 で Dk+1 の各アむテム集合の頻出床 解が倚いため発芋した解を党おメモリに蓄えるアルゎリズムは を蚈算する際に次のアルゎリズムを䜿うず効率的である 倚倧なメモリを消費するこずずなる発芋した解をメモリに保存す る必芁があるかないかずいう点がメモリの点での蚈算効率に 1. for each S∈Dk+1 do frq(S) := 0 関する重芁なポむントである 2. for each transaction t∈T do 3. for each S∈Dk+1 do 3.2 アプリオリ法. if S⊆t then frq(S) := frq(S)+1 4. end for あるトランザクションtが頻出集合Xを含むならばtはXの任意 の郚分集合をも含むこのこずはXの郚分集合の出珟集合は たずステップ 1 で党おのアむテム集合 S に぀いお frq(S)を 0 Xの出珟集合を含み頻出床はXより同じか倧きくなるずいうこず に蚭定しステップ 2 で぀ず぀トランザクションを遞びそれが を瀺すそのため頻出集合の族は単調性を満たすこれは 含むアむテム集合 S に察しお frq(S)を増加させる党おのトラ 図 2 で瀺すようなアむテム集合の束(郚分集合間の包含関係を ンザクションに察しおこの凊理をするずfrq(S)は S の頻出床ずな 衚したグラフ)の䞊で頻出集合は䞋郚に連結に存圚しおいるず る いうこずである アプリオリの蚈算時間は(候補の総数)×(デヌタベヌスの倧 そのため空集合から出発しアむテムを぀ず぀远加しおい きさ)に比䟋し候補の総数は頻出アむテム集合の数の n 倍(n くこずで任意の頻出集合を埗るこずができるこの操䜜を網矅的 はアむテムの数)を超えないこずを考えるず頻出集合぀あたり に行うこずでアむテム束䞊の探玢を行えば党おの頻出集合が 最悪でも(デヌタベヌスの倧きさ)×n に比䟋する時間ずなるこず 芋぀かるこの探玢を幅優先的に行うものがアプリオリ(apriori) がわかる本皿ではデヌタベヌスの倧きさずはデヌタベヌスの 深さ優先的に行うものがバックトラック法(backtracking)である 各トランザクションの倧きさを合蚈したものずする頻出集合を アプリオリはずおも有名な手法であり耳にされたこずのある読 党おメモリに保持する必芁があるためメモリ䜿甚量は芋぀ける 者も倚いこずず思う空集合から出発し倧きさがの頻出集合を 頻出集合の数に比䟋するアプリオリは候補を生成する時間 党お芋぀けそれらにアむテムを 1 ぀远加するこずで倧きさ 2 の が入力の倚項匏時間ずならないため倚項匏遅延ずはならない 頻出集合を芋぀けるずいうように頻出集合を倧きさ順で幅 アプリオリの特城はデヌタベヌスぞのアクセス数の少なさ 優先的に芋぀け出すアルゎリズムであるアプリオリのアルゎリ である䞊蚘の頻出床蚈算方法はトランザクションを䞀回スキ ズムを以䞋に瀺す ャンするこずで党おの候補の頻出床を蚈算するこずができるそ アプリオリ のためもしデヌタベヌスが巚倧でメモリに入らないような堎合 1. D1=倧きさ 1 の頻出集合の集合, k:=1 でもデヌタベヌスを(頻出集合の倧きさの最倧)回だけしかスキ 2. while Dk≠φ ャンしない 3. 倧きさがk+1 でありDk の 2 ぀のアむテム集合の和集合ず 図 3 でアプリオリの実行䟋を芋おみようこの図はアプリオ なっおいるものを党おDk+1 に挿入する リの実行に䌎い各Dk がどう蚈算されるかを瀺しおいるアプリ 4. frq(S)<Ξ ずなるSを党おDk+1から取り陀く オリはたず倧きさ 1 の頻出集合を党お求めその集合をD1ずす 5. k := k+1 るこれが 1 行目の集合である次にD1の぀のアむテム集合の 6. end while 和集合で倧きさが 2 のものを党おD2に挿入するそれが 2 行目 -3-
  • 4. The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008 頻出集合 1,2,5,6,7,9 1,2,7,9 1,2,7,9 ×2 2,3,4,5 2 φ {1} {2} {7} 7 9 2 1,2,7,8,9 1,2,7,9 1,7,9 {9} {1,7} {1,9} 1 9 1,7,9 1,7,9 2,7,9 ×2 {2,7} {2,9} 2,3,7,9 2,7,9 2 7 9 2,7,9 2,7,9 {7,9} {1,7,9} φ 7 9 {2,7,9} 図5 デヌタベヌス瞮玄 9 9 図4 頻出パタヌン朚 えばアむテム集合{1,3,5}の末尟は 5 であるそしお各アむテ ム集合Xを生成する際にはtail(X)を最埌に远加するずいう生 成ルヌルを定めよう぀たりXは末尟を含たない集合X − の集合であるここから頻出床が 3 未満のものを党お取り陀くず tail(X)からのみ生成するずいうこずであるこのようにすればX 3 行目の集合が埗られる以䞋同様にしおD3D4ず求めるD4 が耇数のアむテム集合から生成されるこずがなくなりX − tail(X) は頻出集合を぀も含たないため空集合ずなりここでルヌプ も 1 床しか生成されないためXも 1 床しか生成されないこの が終了しおアルゎリズムは終了する よ う に  X を X - tail(X) か ら 生 成 す る 方 法 を 末 å°Ÿ 拡 匵 (tail extension)ずよぶ 3.3 プルヌニング 䟋ずしお{1,3,5,6}は{1,3,5}の末尟拡匵だが{1,2,3,5}はそ アプリオリの高速化する方法ずしおプルヌニング(pruning)が うでないアむテム集合 X から末尟拡匵をしおアむテム集合 Y あるXをDk+1 のアむテム集合ずするもしXの倧きさkの郚分集 が埗られたずきtail(X)<tail(Y)が成り立぀぀たりY は必ず 合でDkに含たれないものがあればXは頻出集合でないアむテ tail(X)より倧きなアむテムを远加しお埗られるたたtail(X)より ム集合を含むずいうこずがわかるよっおXは頻出集合ずなるこ 倧きなアむテムを远加したものは必ず X の末尟拡匵になっおい ずはないこの怜査をDk+1 の党おのアむテム集合に察しお行え る ば頻出床の怜査察象を少なくするこずができる䟋えば図 以䞊から次のアルゎリズムバックトラックが埗られるバックト でD3に最初に含たれおいる{1,2,7}はD2に含たれないアむテム ラック(φ)を呌び出すこずで党おの頻出集合が列挙される 集合{1,2}を含んでいるこのこずから{1,2,7}は頻出集合では ないず頻出床の蚈算をする前に結論付けられるのでただち バックトラック(X) にD3から取り陀くこずができる 1. output X 3.4 頻出パタヌン朚 2. for each i>tail(X) do 3. if frq(X∪{i})≧ξ then call バックトラック(X∪{i}) アプリオリは各Dkをメモリに保持する必芁があるこれをト ラむ (trieあるいはprefix tree)のような朚構造で保持する本来ト バックトラック法の長所は既に発芋した解をメモリに保存しお ラむは文字列を栌玍するものであるので各頻出集合を添え字 おく必芁がないため基本的に入力したデヌタベヌスを保持す 順に゜ヌトした列を文字列ずみなし栌玍する任意の頻出集合 るだけのメモリがあれば動く点である蚈算量はアプリオリず同じ から぀アむテムを取り陀いたものは頻出集合であるずいう単 で぀あたり(デヌタベヌスの倧きさ)×n に比䟋する時間がか 調性からメモリの䜿甚量は頻出集合の数に比䟋する量になる かるたた各反埩で解を必ず぀出力するため倚項匏遅延ず このように頻出集合を保持するためのトラむ型の朚構造を頻出 なるしかしもしデヌタベヌスがメモリに入りきらないような堎合 パタヌン朚(frequent pattern treeあるいはFP-tree)ずよぶ 各反埩でデヌタベヌスをスキャンするこずになるため少なくずも 図 4 に䟋を瀺した根から始たり任意の頂点で終了するパ 頻出集合の数だけデヌタベヌスのスキャンを行うこずずなり効 スに察しおそのパスを構成する頂点の集合が頻出集合になっ 率が萜ちる おいる埌述するようにトラむは入力したデヌタベヌスを効率 図 5 は図 1 の頻出集合をバックトラック法で列挙した図であ 良く栌玍するのにも䜿われおいるFP-growth [HPY 00] は深 るバックトラック法は空集合から出発しアむテムを 1 から順 さ優先型のアルゎリズムにおいおトランザクションデヌタベヌス に远加しおいくたず 1 を远加した際にfrq({1})≧3 が成り立 を組を衚す芁玠列のトラむずしお衚珟したものである ZBDD- ぀ので再垰呌び出しを行う{1}を匕数ずしお呌び出された反埩 growth [MA 07] はこのアむディアを拡匵しおデヌタベヌスを ではtail({1})=1 より倧きなアむテムを远加する2,
,6 たでは ZBDD論理関数を衚す瞮玄された DAGで衚しおいる 远加しおも頻出集合ずはならないため再垰呌び出しは行われ 3.5 バックトラック法 ず7 を远加した際に frq({1,7})≧3 が成り立぀ため再垰呌び 出しが行われる以埌同様に凊理が進められる{1,7}に関する アプリオリが幅優先的な探玢を行うのに察しバックトラック法 再垰呌び出しが終了した埌{1}に関する反埩では次に 8 を は深さ優先的な探玢を行うアむテムを぀ず぀远加するずい 远加するこれは頻出ではないので再垰呌び出しを行わず う方法で網矅的に頻出集合を生成するず倧きさkのアむテム集 次に 9 を远加するこれは頻出ずなるため再垰呌び出しが行 合を 2k回生成しおしたう通垞グラフ探玢においおは重耇を われる 避けるために䞀床蚪れた頂点にマヌクを぀ける頻出集合列挙 バックトラック法に基づくアルゎリズムは1998 幎から 2000 幎 の堎合にはこの䜜業は芋぀けた頻出集合をメモリに保存しお 頃にかけお耇数の著者によっお提案された[BJ 98] は極倧 おくこずに盞圓するしかしこうせずずも簡単な方法で重耇は 集合発芋のために末尟拡匵を甚いるアむディアを提案しおいる 回避できる [HPY 00MN 99, MS 00, ZPOL 97]は末尟拡匵を甚いた頻出 アむテム集合Xに察しおその䞭の最倧のアむテムを 末尟 集合発芋に぀いお述べおいる (tail)ずよびtail(X)ず衚蚘するただしtail(φ)は∞ずする䟋 -4-
  • 5. The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008 A: 1,2,5,6,7,9 1: A, C, D * 1 2 5 6 7 9 A A: 1,2,5,6,7,9 2: A,B,C,E,F, B: 2,3,4,5 3: B, E 7 8 9 B: 2,3,4,5 C 4: B C: 1,2,7,8,9 7 9 D C: 1,2,7,8,9 5: A, B D: 1,7,9 6: A 2 3 4 5 B D: 1,7,9 7: A,C,D,E,F E: 2,3,7,9 8: C 7 9 E E: 2,3,7,9 9: A,C,D,E,F 7 9 F 図6 トラむを甚いたデヌタベヌスの圧瞮 図7 デヌタの氎平配眮ず垂盎配眮 4. 高速化の技術 前述のアプリオリバックトラックずもに蚈算量の䞊では出力 4.3 ダりンプロゞェクト 数䟝存のアルゎリズムであり出力数倚項匏時間を達成しおい バックトラック法ず組み合わせお効果を発揮するのが次に述 るしかし実際にはデヌタベヌス党䜓をスキャンするずいう䜜 べるダりンプロゞェクト(down project)である 業は非垞に時間がかかり玠盎な実装ではずおも珟実的な時間 今あるアむテム集合 X にアむテム i を远加しお Y を䜜りそ 内に求解できないそのためいく぀かの高速化技法が提案さ の頻出床を蚈算したいずするこのずきY を含むトランザクショ れおいる ンは必ず X を含むのでY の出珟集合は X の出珟集合に含た れるこずがわかるよっおY の頻出床はX の出珟集合のみか 4.1 デヌタベヌス瞮玄 ら求たるさらにY の出珟集合 Occ(Y)はX の出珟集合 最初の技法はデヌタベヌス瞮玄ずよばれるものであるこれ Occ(X)ずアむテム集合{i}の出珟集合 Occ({i})の共通郚分であ は入力するデヌタベヌスからあらかじめ䞍芁な郚分を陀去 る぀たり任意の Y = X∪{i}に察しお次の等匏が成立する するこずでデヌタベヌスを小さくし空間コストを䞋げるずずもに Occ(Y) = Occ(X) ∩Occ({i}). スキャンにかかる時間を短瞮するものである この共通郚分をずる䜜業はデヌタベヌス党䜓をスキャンす アむテム i を含むトランザクションの数がΞ未満であるずきi るよりはるかに短時間でできるこの手法をダりンプロゞェクトず を含む任意のアむテム集合の頻出床はΞ未満になり頻出集 よぶ 合ずならないよっお i は远加するアむテムの候補からはずしお 䟋えば図 5 で{1}に 5 を远加する際にはOcc({1})={A, C, よくさらにはデヌタベヌスからアむテム i を党お陀去しおも蚈 D}, Occ({5})={A, B}であるのでOcc({1})∩Occ({5})={A}ず 算結果に倉化はないたた党おのトランザクションに含たれる なるダりンプロゞェクトを行う際にはトランザクションデヌタベ アむテムは任意のアむテム集合に远加しおも頻出床を倉化さ ヌスを各iに察するOcc({i})぀たり「各アむテムが含むトランザ せないため同様に䞍芁であるこずがわかるこれらを取り陀くこ クションの集合」ずしお保持するず郜合が良いこのデヌタの保 ずでデヌタベヌスを瞮小できるさらにもし同䞀のトランザク 持の仕方を垂盎配眮(vertical layout)ずよぶそれに察しお各ト ションが k 個あればそれらは぀に䜵合し䜵合された数 k を ランザクションに察しおそれに含たれるアむテムを保持する方 重みのような圢で保存するこずができるこの぀の操䜜により 法をデヌタの氎平配眮 (horizontal layout)ずよぶ図 7 に䟋を瀺 珟実的なデヌタは特に最小サポヌトが倧きい堎合倧幅に瞮 した 小するこずができる ダりンプロゞェクトずデヌタの氎平配眮は1990 幎代終わり頃 図に最小サポヌトを 3 ずしおデヌタを瞮玄した䟋を瀺した にバックトラック型のアルゎリズム[MN 99, MS 00, ZPOL 97]ず 巊端のデヌタベヌスから 3 ぀未満のトランザクションにしか含た 共に導入されたたたFP-growth [HPY 00]もダりンプロゞェクト れないものを陀いたものが真ん䞭のデヌタベヌスでありさらに の倉皮ずいえるこのバックトラック型アルゎリズムずデヌタの氎 同䞀のトランザクションを䜵合したものが右である 平配眮を合わせお パタヌン成長法(pattern growth method) [PHPCDH01] ず呌ぶこずもある 4.2 トラむを甚いたデヌタベヌスの圧瞮 入力したデヌタベヌスを小さくするにはデヌタベヌス瞮玄 4.4. ビットマップ衚珟 のほかにも頻出パタヌン朚ず同様にしお図 6 のようにデヌタ デヌタベヌスが密でありトランザクションが平均的にアむテ ベヌスをトラむを甚いお朚構造ずしお保持する方法がある ム集合の䜕割かのアむテムを含む堎合ビット挔算を䜿うこずで 頻出床の小さいアむテムをデヌタベヌスから取り陀く点は同 ダりンプロゞェクトを効率化できる各Occ({i})およびOcc(X)を じだが取り陀いお埗られるデヌタベヌスをトラむで栌玍するず ビット列で保持しようするずOcc({i})∩Occ(X)は単なるビット ころが異なるトラむで栌玍するこずで自動的に同䞀のトランザ 挔算のでトランザクション 32 個あるいは 64 個ず぀䞀床 クションは぀に瞮玄される頻出パタヌン朚ず同様各トランザ に蚈算できるそのため非垞に高速化されるこの方法はビッ クションは添え字順に゜ヌトしお栌玍するトラむによる圧瞮効率 トマップ(bitmap)ずよばれる はアむテムに察する添え字の぀け方によるが䞀般に頻出床の 倧きいアむテムに小さな添え字を぀けるこずでトランザクション の倚くの接頭蟞が共有され圧瞮効率が高くなる -5-
  • 6. The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008 デヌタ の密床 pumsb, pumsb*, connect, chess 1,2,5,6,7,9 2,7,9 Accidents 密 2,3,4,5 2 1,2,7,8,9 2,7,9 2 Kosarak BMS-WebView1,2 1,7,9 2,7,9 2,7,9 × T40I10D100K BMS-POS, webdoc, retail, mushroom, 2,3,5,7,9 2,7,9 T10I4D100K 疎 2,7,9 頻出飜和集合数 ÷頻出集合数 図 8 再垰的デヌタベヌス瞮玄 アむテム集合 {2}に察する条件付デヌタベヌス 図9 FIMI デヌタセットの分類 バックトラック法の各反埩では必ずtail(X)より倧きなアむテム 4.5. 振り分け のみが远加されるそのため再垰的に呌び出された反埩の䞭 振り分け(occurrence-deliver)はダりンプロゞェクトをたずめお行う でも远加されるアむテムはtail(X)より倧きい぀たりXを受け こずでさらに高速化する技法である [UAUA04, UKA 04]これ 取る反埩およびそこで呌び出される反埩ではtail(X)より小さ は異なるアむテムの皮類が非垞に倚い堎合など疎なデヌタ いアむテムは䞍芁であるXの各出珟からtail(X)より小さなアむ ベヌスにおけるバックトラック法の高速化においお有甚な技法 テムを党お陀去するずスキャンすべき郚分のみを持぀デヌタ である ベ ヌ ス が で き る  こ れ を 条 件 付 デ ヌ タ ベ ヌ ス (conditional 今アむテム集合 X にアむテム 1, 
, n 各々を加えお X より database)ずよぶ ぀倧きなアむテム集合を䜜成しその頻出床を党お蚈算するず 条件付デヌタベヌスの䞭では各アむテム集合の頻出床はも いう操䜜を考えるこの䜜業はダりンプロゞェクトを䜿うずデ ずもずのデヌタベヌスでの頻出床ず同じかたたは小さくなるそ ヌタベヌス党䜓を 1 回スキャンするのず同じ時間がかかる のため条件付デヌタベヌスをさらにデヌタベヌス瞮玄するず t を X の出珟ずするt がアむテム i を含むならたたそのずき より小さいデヌタベヌスが埗られる条件付デヌタベヌスを䜜 に限りX∪{i}は t に含たれるそこでtX に含たれるアむテ 成しデヌタベヌス瞮玄を行うずいう䜜業を各反埩で行うず再 ム党おに぀いおt に含たれるずいうマヌクを぀けようこの䜜 垰的にスキャンすべきデヌタベヌスは小さくなるこれを再垰的 業をX の出珟党おに察しお行うずアむテム i に぀いたマヌク デヌタベヌス瞮玄(recursive database reduction)ずよぶ図 8 に の集合はX∪{i}の出珟集合になる 最小サポヌトが 3 であるずきアむテム集合{2}に察する条件付 これが振り分けであり次のアルゎリズムずなる デヌタベヌスずそれを再垰的に瞮玄したものを瀺した バックトラックのような列挙圢のアルゎリズムは䞀般に各反埩 振り分け(X) で再垰呌び出しを耇数回行うそのため再垰呌び出しが䜜る 1. for each t∈Occ(X) do 蚈算朚の構造は根の郚分が小さく葉の方ぞ進むほど頂点数 2. for each i∈t, i>tail(X) do が倚くなる末広がり的な構造を持぀぀たり深いレベルの反埩 3. i に t のマヌクを぀ける での蚈算時間が党䜓の蚈算時間のほずんどの郚分を占めるよう 4. end for になるそのため䞊蚘の手法のように反埩が深くなれば深く なるほど蚈算時間が瞮小されるような工倫を加えるこずで倧き 振り分けは氎平配眮で蚘述されたデヌタベヌスからその な蚈算時間の改善が行えるのであるこの性質は倚くのパタヌ 垂盎配眮を求めるこずに盞圓するそのため振り分けの蚈算 ンマむニングアルゎリズムを始め列挙アルゎリズム党般に成り 時間は X の出珟集合が䜜るデヌタベヌスの倧きさに比䟋する 立぀性質である これは X の頻出床が小さくなれば小さくなるほどダりンプロゞ 実隓的にはこのような改良を行わない堎合解の増加ずずも ェクトに比べお高速化されるずいうこずを意味するバックトラック に蚈算時間は増加しおいくが再垰的に蚈算時間を枛少させる 法の堎合i>tail(X)を満たす i のみに぀いお頻出床の蚈算をす ずある皋床解数が増えるたでは初期化の郚分がボトルネックず るため各出珟のtail(X)より倧きなアむテムのみに぀いおマ なり蚈算時間の増加はみられず解が十分に倧きくなったずし ヌクを付加する各トランザクションのアむテムを添え字順で゜ヌ おも解の数に比䟋はするもののゆるやかに蚈算時間が増倧 トしおおくこずで効率良く実行できる しおいくそのため十分解の数が倧きくなるず解の数のみに デヌタベヌスが疎であるず倚くのアむテム i に察しお X∪{i} 蚈算時間が䟝存するようになり珟実的に非垞に優れた解法ず の頻出床が 0 ずなるこのためダりンプロゞェクトは倚くの頻出 なる 床蚈算を行っおも少ない頻出集合しか埗られなくなり解 1 ぀ 再垰的デヌタベヌス瞮玄は2000 幎代に入っお PrefixSpan あたりの蚈算時間は倧きくなる振り分けの堎合はマヌクが぀ [PHPCDH01]や LCM [UAUA 04, UKA 04]等のアルゎリズムで いたアむテムのみに関しおのみ頻出床を芋ればよく「頻出床が 甚いられた 0 ずなるアむテムはそもそも調べない」ずいうこずができる 5. 実装の比范 4.6. 再垰的デヌタベヌス瞮玄ず末広がり性 さおこれらのアルゎリズムず技術の組合せで実際のデヌタ バックトラック法のためのもう䞀぀の有効な高速化技法が再 に察しお有甚なものはどれであろうかこの疑問を解決すべく 垰的デヌタベヌス瞮玄である FIMI(frequent itemset mining implementations)ワヌクショップ -6-
  • 7. The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008 [FIMI HP]においく぀もの実装の比范が行われおいるのでそ 頻出集合列挙は珟実的にはほが最適な時間で行えるず考え の結果を玹介しよう お良いだろう 5.1 デヌタセットの特性 FIMIワヌクショップで甚いられたデヌタセット(FIMIデヌタセッ 6. 他の問題ぞの適甚 トず呌ぶ)は珟実問題から埗られたものが䞭心であるPOSデ 頻出集合列挙はそれ自䜓有甚なツヌルであるが他の問題 ヌタwebのクリックデヌタ等があり倚くがトランザクションの平 を垰着しお幅広い問題を解くためにも䜿える最近では倚く 均サむズが 10 未満ず疎であるがパワヌ則を満たし倧きなトラ の頻出集合列挙問題のプログラム実装が公開されおいるので ンザクションもいく぀か含たれおいるたた密なデヌタセットも FIMI HP, 宇野 HP]この皮のアプロヌチも有甚ず思われるここ あり特に機械孊習のベンチマヌクから来た問題は密である ではそのような頻出集合列挙の䜿い方を解説しよう 図 9 にデヌタの密床ず構造に基づいたデヌタセットの分類を 瀺した瞊軞が密床぀たり党アむテム数に察する各トランザク 6.1 マルチセットの発芋 ションの平均的な倧きさである疎なものはアむテム数 10000 に 頻出集合列挙ではトランザクションに同䞀のアむテムが耇数 察しおトランザクションの平均的な倧きさが 5-6 皋床である密な 個含たれるこずはないずしおいたしかし実際のデヌタでは耇 ものは倚くのアむテムが半分以䞊のトランザクションに含たれる 数個のアむテムが含たれる堎合もある぀たりトランザクションを 暪軞は解数が十分に倧きいようなデヌタベヌスの倧きさず同 集合でなくマルチセット倚重集合ずしお扱いたいこのような 皋床最小サポヌトでの頻出飜和集合数÷頻出集合数である デヌタから同䞀のアむテムを耇数個含むこずをゆるした頻出集 この倀が小さいずデヌタはランダム性を持ち倧きいずデヌタ 合を芋぀ける問題をマルチセット発芋問題ずよぶ は構造を持぀ず考えおよい マルチセット発芋問題を頻出集合列挙に垰着する際にはア たず党䜓的な傟向ずしお頻出集合数がデヌタベヌスの倧 むテムiがトランザクションtにk回珟れおいるずき党おのiを取り陀 きさに察しお十分小さい堎合蚈算のボトルネックは問題の入 きかわりにi1,
,ikを挿入するずいう倉換を行うijは「j個目の 力ず初期化になるそのためトラむ等を甚いないシンプルな アむテムi」ずいう意味であるするずiがj個入ったマルチセット アルゎリズムが高速ずなるしかし解数の増加ずずもに䞡者はす はアむテム集合{i1,
,ij}に察応し䞡者の頻出床は等しいそ ぐに逆転し入力ず出力がほが等しい倧きさになるころには䞡者 のため倉換したデヌタベヌスで頻出集合を芋぀けるこずで の差は開く 元のデヌタベヌスの頻出マルチセットを芋぀けるこずができる ただし{i3,i4}のようにマルチセットに察応しない頻出集合も 5.2 アプリオリ法 vs. バックトラッキング法 芋぀かるため効率は萜ちるしかしこのような䞍芁な頻出集 アプリオリはスキャンの回数が少ないためデヌタベヌスがメ 合は必ず飜和集合にならないため頻出飜和集合を列挙する モリに入らない堎合でも高速であるこずグラフマむニング等の こずでこれらの䞍芁な頻出集合を自動的に取り陀くこずができ 包含関係の刀定に時間がかかる堎合でも既発芋解を甚いお る 包含関係の刀定を少なくできるこずが利点であるしかしこのワ ヌクショップで甚いられたデヌタは十分メモリに収たる倧きさで 6.2 頻出郚分構造パタヌン問題の垰着 ありか぀包含関係の刀定は短時間でできるそのためアプリ 䞀般に任意の頻出パタヌン発芋問題は頻出集合発芋問 オリ型のアルゎリズムはどれも悪い成瞟を収めおおり特に最小 題に垰着しお解くこずができるレコヌド t に含たれるパタヌン党 サポヌトが倧きくか぀解数が倧きい堎合 100 倍を超える差が おからなる集合を䜜りレコヌド t をこの集合で眮き換える䟋え 出るこずもある ば各レコヌドが朚であるデヌタベヌスから頻出する朚を芋぀ けたい堎合は各レコヌド t に察しおt に含たれる郚分朚を党 5.3 頻床蚈算ずデヌタベヌスの栌玍方法 お列挙しその集合を新たなレコヌドずしお t を眮き換える各 ダりンプロゞェクトず振り分けは振り分けのほうが高速である パタヌンがアむテムであるずみなすず眮き換えたあずの t はトラ ようだ特に疎なデヌタではその差が倧きいデヌタベヌス瞮 ンザクションであるずみなせるよっお党おのレコヌドを眮き換 玄は最小サポヌトが倧きくか぀解数が小さい堎合に有効であ えお埗られるデヌタベヌスの頻出集合を列挙するこずで元の るが疎なデヌタ等最小サポヌトが 10-20 ず非垞に小さい堎 デヌタベヌスの党おの頻出パタヌンを芋぀けるこずができる 合には効果がない図 9 で䞊のほうに䜍眮するデヌタに有効で この方法でもマルチセットのマむニングのように䞍芁な頻出 ある 集合が倚く芋぀かる飜和集合を求めるこずで倚くは自動的に 再垰的なデヌタベヌス瞮玄も同じであるが特に密なデヌタ 回避できるが䟋えばある飜和集合 X の出珟集合に察応する で解数が倧きくなったずきの蚈算時間の改善率は劇的であり レコヌドが包含関係にないパタヌンをいく぀も共通しお含む堎 䜿甚しおいない実装では蚈算が終了しないような問題でも解く 合それらが党お飜和集合に含たれおしたうそのため各飜和 こずができる 集合は冗長な情報を持぀こずずなる ビットマップはデヌタベヌスが密である堎合に倚少有効で たたレコヌドが倧きいず問題の倉換時のパタヌン列挙で膚 あるがデヌタベヌス瞮玄ず組合せるずビットマップの再構築に 倧な時間がかかるそのため党おのレコヌドがあたり倧きくな 手間がかかるため解数が倚い堎合の蚈算効率が悪いその いずいう状況で䜿甚するこずが望たしい ため効果は限定的である 入力をトラむで栌玍する方法は疎なデヌタでは効果が小さ 6.3 倧きな共通郚分を持぀トランザクション集合 くかえっお䜕もしないほうが速いこずが倚いしかし密なデヌタ よく知られた関係ずしおトランザクションデヌタベヌスは 2 郚 では効果があり非垞に密なデヌタ図 9 で䞊郚に䜍眮するデ グラフず等䟡である぀たりアむテムの集合ずトランザクション ヌタでは 5-6 倍の高速化ができおいる の集合を頂点集合ずしあるアむテム X がトランザクション t に含 高速な実装では蚈算のボトルネックはほがどの問題でも たれるずきX ず t の間に蟺が存圚するような 2 郚グラフである 解の出力郚分でありその意味では十分解の数が倧きければ -7-
  • 8. The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008 このずきアむテムずトランザクションは察称な関係にあり䞡 デヌタベヌス パタヌン 者の立堎を入れ替えたデヌタはやはりトランザクションデヌタベ ヌスずなるこのデヌタベヌスに察しお頻出集合を発芋するず A それはある䞀定数以䞊の倧きさの共通郚分を持぀トランザクショ C A C B ンの集合になる䟋えばトランザクションデヌタベヌスから共 通郚分の倧きいトランザクションの組を芋぀けたい堎合はこの B A C A B 倉換を行っお倧きさが 2 の頻出集合を芋぀けるこずで党おの C B B そのような組を芋぀けられる 照合関数 6.4 top-K 頻出集合の発芋 頻出集合発芋のモデルの面での匱点に適切な量の解を埗 図 10 順序朚パタヌン ようずするず最小サポヌトを調敎しお䜕床も解きなおさなければ ならないずいう点があるそのため逆に解の数Kを指定し頻 頻出郚分集合発芋問題では図 10 に瀺したようにデヌタず 出集合の数がKになるような最小サポヌトを求めようずいうtop- パタヌンはずもに順序朚で衚される頂点ラベルの集合Σに察 K頻出集合発芋が研究されおいる しおΣ䞊のラベル付き順序朚(labeled ordered tree)ずは図 10 アルゎリズムのアむディアは簡単で最初最小サポヌトを 1 に に瀺したように各頂点がΣの芁玠でラベル付けられた根付き しお頻出集合発芋アルゎリズムを走らせK 個の解を芋぀けた 朚 T であるTにおいお各頂点の子の順序は意味をも぀すな 時点で解集合ずしお保持し最小サポヌトをその䞭で最も小さ わち子の順序を入れ替えお埗られる朚は別の順序朚であるず な頻出床に蚭定する以埌は新たに最小サポヌトより頻出床 考える の倧きな解が芋぀かるたびに解集合から頻出床が最も小さな グラフデヌタベヌスは各レコヌドがラベル付き順序朚であるよ 解を取り陀き最小サポヌトを曎新するずいう䜜業を繰り返す うなデヌタベヌス D = {D1, 
, Dm} でありパタヌンは任意のラ アルゎリズムが終了したずきに解集合は K 番目たでに頻出床 ベル付き順序朚であるパタヌンである順序朚 S がレコヌドT が倧きなアむテム集合の集合になっおいる実デヌタでのパフ に出珟するずは図 10 のように順序朚Sの頂点ラベルず蟺をう ォヌマンスはそれほど悪くなく盎接解が K 個ずなる最小サポ たく保存したたたSを順序朚Tの䞀郚分にうたく埋め蟌むような ヌトを䞎えお求解するのに比べ2-3 倍しか時間がかからない 照合関数 f が存圚するこずず定矩するこのずきS≩Tず曞きS 6.5 重み付きトランザクションず最適集合発芋 はTの郚分朚であるずもいうデヌタベヌスにおけるパタヌンSの 頻出集合発芋では通垞トランザクションには重みがなくど 出珟は照合関数の党䜓TOcc(S) = { f : 照合関数 f によっおS のトランザクションに含たれおいおも重芁性は等䟡であるずみな はある Di に出珟する } や文曞出珟DOcc(S) = { i : S はある されるしかし珟実の問題では重みが付いたデヌタを扱う必芁 Di に出珟する }根出珟 ROcc(S) = { x : S の根はあるレコヌ が生じるたたこれをさらに拡匵しお正負の重みが付いたデヌ ドDiの頂点 x に出珟する }などさたざたな定矩が考えられるこ タを考えるこずもデヌタの分類では有甚である䟋えば正䟋 こではさたざたな良い性質から根出珟にもずづく出珟の定矩 ず負䟋を分類する堎合など「含たれおほしくないトランザクショ Occ(S) = ROcc(S)を採甚する ン」が存圚するずきは負の重みを考慮するほうが郜合が良い このずきパタヌンSの頻床はfrq(S) = |ROcc(S)|である閟倀 [MS 00]このように頻出集合をデヌタの分類に甚いお分類粟 ξ≧1 に察しおもしfrq(ならばΞならばSをD䞊の頻出パタヌ 床やその他の目暙関数が最倧の頻出集合を求める最適アむテ ン(frequent pattern)ずいう䞎えられたグラフデヌタベヌスDず閟 ム集合発芋は経隓リスク最小化やブヌスティングなど各皮 倀Ξに察しおD䞊の頻出順序朚を党お芋぀ける問題を頻出順 の機械孊習問題でしばしば珟れる [KMM 04, TK 06] 序朚発芋問題(frequent tree mining) ずいう 正負の重みをゆるした堎合にはもはや頻出集合は単調で 7.2 玠朎な方法の問題点 ないため出力数に䟝存したアルゎリズムの構築は難しくなる 根出珟たたは文曞出珟にもずづく頻床を採甚したずき順序 たた理論的には広い範囲の評䟡関数に察しお経隓誀差や 朚パタヌンの族は頻床に関する単調性を満たすすなわち 経隓リスクの最小化問題はアむテム集合や倚くのパタヌンクラ 郚分朚関係≊に関しおもしS≩Tならばfrq(S)≧frq(T)が成立 スに察しお近䌌的にすら蚈算困難であるこずが知られおいる するこれは郚分朚関係≊に関しお順序朚党䜓が぀くる束構 [Mo 98, SAA 00] 造で小さな朚は䞋方に倧きな朚は䞊方にあるずするず頻出 しかし頻出集合列挙のアルゎリズムをベヌスにしお正重み パタヌンは束の䞋半分に連結しお存圚するこずを意味するア に察する最小サポヌト[KMM 04]や目暙関数の凞性を甚いた むテム集合堎合ず同様にサむズがれロの空朚から出発しお頂 枝刈り[MS 00, TK 06]等を導入するこずによりある皋床効率の 点を䞀぀ず぀远加しおいくこずで任意の頻出順序朚を埗るこず 良いアルゎリズムを構成するこずができるこの堎合出力数に ができる 察する蚈算時間は非垞に長くなるが䜿甚に耐えないほどでは しかし䞀般に䞊蚘のやり方で単玔に網矅的な探玢を行うず なくデヌタ解析の手法ずしお぀の良い道具ずなるだろう サむズkの順序朚を 2k回以䞊重耇しお生成しおしたうアむテム 7. 頻出順序朚パタヌン発芋 集合の堎合ず同様にすでに芋぀けた頻出順序朚を メモリに保 存しお幅優先探玢を行うこずでこの問題は解決できるしかし 7.1 ラベル付き順序朚ず頻出パタヌン発芋 次のように泚意深く探玢を行うこずでメモリぞの保存を回避しお バックトラック法を甚いた深さ優先探玢を行うこずが可胜である 構造デヌタからの頻出パタヌン発芋に察しおこれたでに述 べおきた頻出集合列挙の技術を適甚できる [浅井 04, WM03] 7.3 順序朚の系列衚珟 ここでは䟋ずしお順序朚からの頻出郚分構造の発芋アルゎリ 鍵ずなるアむディアは順序朚を頂点ずその深さの察からなる ズムを説明する 系列ずしお衚珟するこずであるたず順序朚の各頂点vをその -8-
  • 9. The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008 0 1 2 3 ... 朚のサむズ 7.5 頻床蚈算の高速化 ε 実甚的な実装のためには生成された朚Sの頻床frq(S)を高 速に蚈算するこずが重芁であるそのために各順序朚パタヌ ンSに察しお最右出珟ずよぶ䞭間的なデヌタを保持しこれを 最右拡匵ず共に挞増的に曎新するこずで効率よい頻床蚈算を 行える最右出珟(rigihtmost occurrence)ずはこのデヌタベヌ ス䞭でSが照合関数によっお埋め蟌たれおいる党おの埋め蟌み におけるSの最右葉すなわち末尟頂点の出珟䜍眮をリストに 保持したものである 根出珟の代わりに最右出珟を甚いるこずで4 節で議論した ダりンプロゞェクトや振り分け等のアむテム集合発芋の高速化技 法がそのたた拡匵できるたた最右出珟から根出珟にもずづく 図 11 最右拡匵による順序朚の列挙 頻床が䜎いコストで蚈算できる詳现は[AAKASA 02, 浅井 04] を参照されたい 深さ根からのパスの長さずラベルの察v =〈depv,labv〉で 7.6 グラフマむニング 衚すサむズkの順序朚Sの深さラベル列(depth-label sequence) 最右拡匵は無順序朚や䞀般のグラフなど順序朚以倖の はSの党頂点の深さずラベルの察をS䞊の前眮順巡回(pre- 構造デヌタに察しお正芏圢衚珟(canonical representation)等の order traversal)の順に䞊べた系列code(S)= s = (v1, 
, vk) = 技法ず組み合わせおバックトラック型の頻出パタヌン発芋アル 〈dep(v1), lab(v1) 〉, 
, 〈dep(vk), lab(vk) 〉であるアむテム集 ゎリズムを実珟するために甚いられおいる[浅井 04, YH 02] 合の堎合ず同様に順序朚の深さラベル列sに察しお最埌の PrefixSpan も同様の技法である AGM 等の幅優先型のグラフ 察vkを末尟ずよびtail(s)ず衚蚘するこのずき先頭の察v1はS マむニングアルゎリズムにおける隣接行列の正芏圢衚珟の利甚 の根に察応し末尟vk はSの最も右偎にある葉に察応する䟋 もより䞀般的なスキヌマずみなすこずができる えば図 10 のパタヌンS1は系列s1= 〈0, A〉, 〈1, C〉, 〈1, B〉で 泚意点ずしお最右拡匵によるバックトラック型のアルゎリズム 衚わされその末尟はtail(s1)= 〈1, B〉である簡単のため以埌 は順序朚パタヌンにおいおはきわめお効率が良いがより䞀 は順序朚ず深さラベル列を区別しないこずにする 般のグラフ族に察するマむニングにおいおは単独では性胜が 7.4 最右拡匵を甚いたバックトラック法 出ないこずがある䟋えば䞀般のグラフに察する最右拡匵の 頻出順序朚の列挙では芪ずなるサむズk1 の順序朚Sに新 構成は難しくグラフの同型性刀定による怜査ず組み合わせる しい頂点vを䞀぀远加しお子ずなるサむズkの順序朚 T を生成 必芁がある[YH 02]たた朚より䞀般的なグラフ族に察しおは するこの際に新しく远加した頂点vがTの深さラベル列䞊で 最右拡匵ずダりンプロゞェクトの組み合わせは探玢の枝刈りが v = tail(T)を満たすようにするずいう生成ルヌルを甚いるこれは 十分に利かない堎合があるのでApriori のような幅優先探玢 頂点の远加に際しお(1)芪の朚の最右枝(rightmost branch)の [IWM 03]を採甚するかグラフの族の性質を考慮した枝刈り手 盎䞋で(2)兄匟䞭で末匟最も右の頂点ずなる堎所にのみ远 法をバックトラック型に組み蟌む等の工倫が必芁になる 加するずいう制限を加えるこずになるこれを最右拡匵(rightmost expansion)ずいう [AAKASA 02, Nakano 02, Zaki 02]深さラベ 8. たずめ ル列の蚀葉でいえばSの最右葉すなわち末尟 tail(S)の深さを dep(tail(S))ずするず任意の深さ 1≩dep≩dep(tail(S))+1 ず任意 本皿では頻出アむテム集合発芋問題をアルゎリズムを䞭 のラベルlabからなる察〈dep, lab〉を列Sの末端に远加するこず 心にしお解説した飜和集合マむニングや䞀般のグラフマむニン に察応する グ等本皿で觊れられなかった話題に関しおは [宇野 07,浅井 以䞊をたずめるず次のアルゎリズム 最右拡匵バックトラックが 04, WM 03,鷲尟 07]等の解説を参照されたい 埗られるサむズ 0 の空朚εすなわち空の深さラベル列に察 頻出集合はデヌタマむニングの基瀎であり実際にツヌルず しお最右拡匵バックトラック(ε)を呌び出すこずで党おの頻出 しお䜿う機䌚も倚い本皿で玹介したアルゎリズムの倚くは 集合が列挙される FIMI のサむトに実装ず解説論文がありたたベンチマヌク問題 も手に入る たた著者のホヌムペヌゞ[宇野 HP]ではLCM 最右拡匵バックトラック(S) の他いく぀かの頻出パタヌン発芋アルゎリズムの実装ず問題 1. output S 倉換等各皮のツヌルが入手できる䟋えば3.5 節のバックトラ 2. for each 1≩dep≩dep(tail(S))+1 do ック法による頻出集合発芋アルゎリズムに4 節の述べた各皮の 3. for each label lab do 高速化手法を加えた高速版実装に飜和集合発芋を远加した 4. if frqS・〈dep, lab〉≧Ξ then ものは LCM ver.4 ずしお6.6 節の重み付きトランザクション察応 5. call 最右拡匵バックトラックS・〈dep, lab〉 版の実装は LCM ver.5 ずしおたた7 節の頻出朚マむニングは Freqt ver.4 ず Unot ずしお同ホヌムペヌゞで利甚可胜である ただし空朚εには無条件に䞀぀の頂点が远加可胜ずする 本皿ず実装がデヌタマむニング研究掚進の助力ずなれば幞 図に最右拡匵による順序朚の列挙の䟋を瀺すバックトラッ いである クアルゎリズムがサむズ 0 の空朚から出発しお最右の葉圱 で瀺されおいるを远加しながらサむズの小さな順に党おの頻 出順序朚をもれなくか぀重耇なく列挙するこずがわかる -9-
  • 10. The 22nd Annual Conference of the Japanese Society for Artificial Intelligence, 2008 [MS 00] S. Morishita, J. Sese, Traversing Itemset Lattice with 参考文献 Statistical Metric Pruning, Proc. PODS 2000, pp. 226-236 [AIS 93] R. Agrawal, T. Imielinski, A. N. Swami: Mining (2000) Association Rules between Sets of Items in Large Databases. [西田 07] 西田豊明(ç·š), レクチャヌシリヌズ「知胜コンピュヌテ Proc. SIGMOD Conference 1993, pp. 207-216 (1993) ィングずその呚蟺」, 人工知胜孊䌚誌, 2007 幎 3 月号 [AMST 96] R. Agrawal, H. Mannila, R. Srikant, H. Toivonen, A. (2007) I. Verkamo: Fast Discovery of Association Rules. Advances [SAA 00] S. Shimozono, H. Arimura, S. Arikawa, Efficient in Knowledge Discovery and Data Mining, pp. 307-328 Discovery of Optimal Word-Association Patterns in Large (1996) Text Databases, New Generation Computing, 18(1), pp. 49- [AS 94] R. Agrawal, R. Srikant: Fast Algorithms for Mining 60 (2000) Association Rules in Large Databases. Proc. VLDB 1994, pp. [TK 06] K. Tsuda, T. Kudo: Clustering graphs by weighted 487-499 (1994) substructure mining, Proc. ICML 2006, pp. 953-960 (2006) [AAKASA 02] T. Asai, K. Abe, S. Kawasoe, H. Arimura, H. [宇野 HP] 宇野 毅明のホヌムペヌゞ, Sakamoto, S. Arikawa, Efficient Substructure Discovery http://research.nii.ac.jp/~uno/index-j.html from Large Semi-structured Data, Proc. 2nd SIAM Data [UKA 04] T. Uno, M. Kiyomi, H. Arimura, LCM ver. 2: Mining (SDM'02), pp. 158-174 (2002) Efficient Mining Algorithms for Frequent/Closed/Maximal [浅井 04] 浅井達哉, 有村博玀: 半構造デヌタマむニングにおけ Itemsets, Proc. FIMI'04 (2004) るパタヌン発芋技法, デヌタ工孊論文特集電子情報通信 [UAUA 04] T. Uno, T. Asai, Y. Uchida, H. Arimura: An 孊䌚論文誌, Vol.J87-D-I, No.2, pp. 79-96 (2004) Efficient Algorithm for Enumerating Closed Patterns in [BJ 98] R. J. Bayardo Jr.: Efficiently Mining Long Patterns from Transaction Databases, Proc. Discovery Science 2004, LNAI Databases, Proc. SIGMOD Conference 1998: pp. 85-93 3245, pp. 16-31 (2004) (1998) [宇野 07] 宇野毅明有村博玀: デヌタむンテンシブコンピュヌ [EM 02] T. Eiter, K. Makino: On Computing all Abductive ティング その 2 頻出アむテム集合発芋アルゎリズム, レクチ Explanations, Proc. AAAI-2002, pp.62 (2002) ャヌシリヌズ「知胜コンピュヌティングずその呚蟺」, (ç·š)西田 [FIMI HP] B. Goethals, the FIMI repository, 豊明, 第 2 回人工知胜孊䌚誌, 2007 幎 5 月号 (2007) http://fimi.cs.helsinki.fi/ (2003) [WM 03] T. Washio, H. Motoda: State of the art of graph-based [HPY 00] J. Han, J. Pei, Y. Yin: Mining Frequent Patterns data mining. SIGKDD Explorations, 5(1): pp. 59-68 (2003) without Candidate Generation. Proc. SIGMOD Conference [鷲尟 07] 鷲尟隆: デヌタむンテンシブコンピュヌティング その 2000, pp. 1-12 (2000) 離散構造マむニング, レクチャヌシリヌズ「知胜コンピュヌテ [IWM 03] A. Inokuchi, T. Washio, H. Motoda, Complete Mining ィングずその呚蟺」, (ç·š)西田豊明, 第 1 回人工知胜孊䌚 of Frequent Patterns from Graphs: Mining Graph Data, 誌, 2007 幎 3 月号 (2007) Machine Learning, 50(3), pp. 321-354 (2003) [YH 02] X. Yan, J. Han, gSpan: Graph-Based Substructure [KMM 04] T. Kudo, E. Maeda, Y. Matsumoto: An Application Pattern Mining, Proc. IEEE ICDM 2002, pp. 721-724 (2002) of Boosting to Graph Classification, Proc. NIPS 2004 (2004) [Zaki 02] M. J. Zaki, Efficiently mining frequent trees in a forest, [MA 07] S. Minato, H. Arimura: Frequent Pattern Mining and Proc. ACM KDD'00, pp. 71-80 (2002) Knowledge Indexing Based on Zero-suppressed BDDs, Post- [ZPOL 97] M. J. Zaki, S. Parthasarathy, M. Ogihara, W. Li: New Proc. of the 5th International Workshop on Knowledge Algorithms for Fast Discovery of Association Rules, Proc. Discovery in Inductive Databases, LNAI, (2007) KDD 1997, pp. 283-286 (1997) [Mo 98] S. Morishita, On Classification and Regression, Proc. Discovery Science (DS'98), pp. 40-57 (1998) [MN 99] S. Morishita, A. Nakaya: Parallel Branch-and-Bound Graph Search for Correlated Association Rules, Large-Scale Parallel Data Mining: pp. 127-144 (1999); S. Morishita: On Classification and Regression, Proc. Discovery Science 1998, LNAI 1532, pp. 40-57 (1998) [MS 00] S. Morishita, J. Sese: Traversing Itemset Lattice with Statistical Metric Pruning, Proc. PODS 2000, pp. 226-236 (2000) [MTV 94] H. Mannila, H. Toivonen, A. I. Verkamo: Efficient Algorithms for Discovering Association Rules, Proc. KDD Workshop 1994: pp. 181-192 (1994) [Nakano 02] S. Nakano, Efficient generation of plane trees, Inf. Process. Lett., 84(3), pp. 167-172 (2002) [PHPCDH 01] J. Pei, J. Han, B. Pinto, Q. Chen, U. Dayal, M. Hsu: PrefixSpan: Mining Sequential Patterns by Prefix- Projected Growth, Proc. IEEE ICDE 2001, pp. 215-224 (2001) - 10 -