170 likes | 279 Views
最小サポート値を考慮したハッシュによる データマイニングの高速化. 名古屋工業大学 電気情報工学科 篠田武志 松尾啓志. Data Mining. 膨大な量のデータから有用な知識・規則をコンピュータにより獲得する技術を,データマイニングという( mining= 採掘). データマイニングにおいては扱うデータが大規模であるため,効率の良い処理手法の研究が重要である. 本研究では,ハッシュを用いてデータを仮想的に分割し,分割データの内容の偏りを利用して処理の効率化を行う手法を提案する.. 相関ルール抽出 (Association Rule Mining).
E N D
最小サポート値を考慮したハッシュによるデータマイニングの高速化最小サポート値を考慮したハッシュによるデータマイニングの高速化 名古屋工業大学 電気情報工学科 篠田武志 松尾啓志
Data Mining • 膨大な量のデータから有用な知識・規則をコンピュータにより獲得する技術を,データマイニングという(mining=採掘). • データマイニングにおいては扱うデータが大規模であるため,効率の良い処理手法の研究が重要である. • 本研究では,ハッシュを用いてデータを仮想的に分割し,分割データの内容の偏りを利用して処理の効率化を行う手法を提案する.
相関ルール抽出(Association Rule Mining) • データマイニングの重要な問題の一つ e.g. 牛乳を買った人の内の90%は,卵も買っている • 相関ルールを求めるためには,商品組み合わせ(アイテムセット)の購買人数(サポート値)を数え上げる必要がある • サポート値を数えるアイテムセット(候補アイテムセット)の数は非常に大きいため,効率的な数え上げ法が必要 ⇒ 一定以上のサポート値をもつアイテムセットを効率的に数え上げる
Algorithm Apriori(R. Agrawal, et al. 1994) • ユーザが指定した人数(最小サポート値)以上のサポート値をもつアイテムセット(頻出アイテムセット)を,効率的に抜き出す手法 • 牛乳を買った人が全体の10%,卵を買った人が全体の9%ならば,牛乳と卵を買った人は全体の9%以下
Algorithm Apriori • 10人以上に買われた商品の組み合わせを抽出(最小サポート値10人) • 合計では(牛乳,卵)のサポート値は5人以下 ⇒ (牛乳,卵)は候補アイテムセットから除外
Algorithm Aprioriの問題点 • サポート値の数え上げを行う候補アイテムセットが多いと,計算処理時間がかかる ⇒ 冗長な候補アイテムセットを削減する
Algorithm APM(D. W. Cheung, et al. 2001) • Partition Pruningという手法を用いて,冗長な候補アイテムセットを削減 • データを仮想的に分割し,分割データの内容の偏りを利用
Partition Pruning • 10人以上に買われた商品の組み合わせを抽出 • 合計では(牛乳,卵)のサポート値は11人以上 • data1において(牛乳,卵)のサポート値は2人以下 • data2において(牛乳,卵)のサポート値は3人以下
Partition Pruningの問題点 • 分割されたデータの内容に偏りが無い場合は,冗長な候補アイテムセットを削減できない. • 本研究では,ハッシュ関数を用いて偏りが大きくなるようにデータ分割を行う手法 Hash Partition Pruning (HPP) を提案する.
Hash Partition Pruning • データベース中の各トランザクションに対して, • アイテムを一つ選ぶ • アイテムをキーとしてハッシュ関数を適用 • ハッシュ値が分割先のインデックスになる • データ内容に基づき分割することにより,内容に偏りが生じる • 最小サポート率を満たすアイテムを選ぶことにより,更に効果的な分割を行う
アイテム選択 パン パン p p hash hash Hash Partition Pruning 分割先data 1 トランザクションデータベース (小売データベース) アイテム選択 … 分割先data p 分割先data p 合計サポート値 …
実験 • 単一計算機上で • ランダム分割 • 各トランザクションの,最初のアイテムにハッシュを適用し,データ分割 (method 1) • 各トランザクションの,最小サポート率を満たす最初のアイテムにハッシュを適用し,データ分割 (method 2) のデータ分割手法によりPartition Pruningを実装 • 人工生成トランザクションデータを用いて実験 • データ分割数を1から512まで変化させる • 各分割手法で,生成されるアイテム数2の候補アイテムセット数および総実行時間を測定
並列実装実験 • 富士通 汎用計算サーバGP7000Fmodel900上で実装 • データベースをプロセッサ間に等分割し,各プロセッサにおいて,先の三通りのデータ分割手法を実装 • 各プロセッサにおけるデータ分割数は64で固定 • 人工生成トランザクションデータを用いて実験 • プロセッサ数を1から16台で変化 • 各分割手法それぞれの総実行時間を測定
100秒 80秒 80 総実行時間 約20%短縮 並列実装 実験結果(総実行時間[sec])
まとめ • データマイニングにおいては扱うデータが大規模であるため,効率の良い処理手法の研究が重要である. • 本研究では,ハッシュを用いてデータを仮想的に分割し,分割データの内容の偏りを利用して処理の効率化を行う手法を提案した. • 今後の課題:より効果的なハッシュ関数や並列化手法の検討