320 likes | 561 Views
paper seminar on 정병수, 아메드 파한, 이인기, 용환승, “Prefix-Tree를 이용한 높은 유틸리티 패턴 마이닝 기법”, 한국정보과학회논문지 데이터베이스, vol. 36, no. 5, pp. 341-351, 2009.
E N D
Prefix-Tree를 이용한 높은 유틸리티 패턴 마이닝 기법 정병수, 아메드 파한, 이인기, 용환승 정보과학회논문지: 데이타베이스 제 36권 제 5호(2009.10) 데이터 연구실이세린 지도 교수 박종수 2014. 4. 11
목차 • 요약 • 서론 • 관련연구 • 문제 정의 • Prefix-트리 구조를 이용한 유틸리티 패턴 탐색 • 실험 결과 • 결론
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 • 본 연구는 Prefix-tree를 이용하여 지속적으로 증가하는 비즈니스 트랜잭션 데이터베이스에 대한 유틸리티 패턴 마이닝을 효과적으로 수행하기 위한 기법을 제안. • 이 기법은 Prefix-tree의 각 항목 노드에 유틸리티 값을 저장해 FP-Growth와 같은 트리의 상향 탐색으로 높은 유틸리티 패턴 탐색. • 실험을 통해3가지 Prefix-tree 구조의 성능과 방법들 비교. • 이 기법이 많은 성능 향상을 가져올 수 있다는 것 입증.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 • 기존과 비교
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 FP-Growth 알고리즘 • Introduction to Data Mining – Pang-Ning Tan 외 3 (2005) • 빈발 항목 집합들을 발견함에 있어서기본적으로 다른 접근법을 가짐. • 이 알고리즘은 Apriori의 생성-검사 전략에 동의하지 않음. • 대신, FP-트리라 불리는 밀집한 자료구조를 사용하여 데이터 집합을 부호화하고 빈발 항목집합들을 직접 이 구조에서 추출. • 장바구니 데이터에서 많은 트랜잭션들이 공통으로 몇 가지 항목들을 자주 공유하기 때문에 FP-트리의 크기는 일반적으로 압축되지 않은 데이터의 크기보다 작음. • 지지도 순서는 항상 가장 작은 트리로 이끌게 하지는 않음.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 • 다른 Prefix-Tree 구조에 따른 성능적 특징정리 & 최적의 Prefix-Tree 구조의 성능적 우수함을 여러 실험을 통해 입증. • 트랜잭션 삽입의 순서항목에 따라3가지 형태로 구분. • 사전적 순서: + 재구성 절차 없이점증적으로트랜잭션 데이터 삽입 가능.- 트랜잭션 Prefix의 공유 정도가 최적이 될 수 없어 트리 크기↑. • 항목빈도순서: + 트랜잭션들의 Prefix 공유 정도가 최적, 구조의 조밀한 구성 가능.- 빈도 ∝ 유틸리티, 따라서 경우에 따라 성능 저하. • TWU 순서: 높은 유틸리티 후보가 낮은 유틸리티 항목들 앞에 있도록 설계. + 본 논문의 실험 결과에 따르면 이 구조의 수행시간이 최소.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 • 가중치를 부여한 항목 집합(itemset/pattern) 마이닝에 관한 연구들: • Y. Liu, Z.-H. Deng and S. Tang, “A fast high utility itemsets mining algorithm,” Proc, 1st Intl. Conf. on Utility-Based Data Mining, pp.90-99, Aug. 2005 • F. Tao, “Weighted association rule mining using weighted support and significant framework,” Proc. Of the 9th ACM SIGKDD Int’l Conf. on Knowledge Discovery and Data Mining, pp.661-666, 2003 • U. Yun, “WIS: Weighted interesting sequential pattern mining with a similar level of support and/or weight,” ETRI Journal, vol 29, no.3, pp.336-352, Jun. 2007. • B. Barber and H.J. Hamilton, “Extracting share frequent itemsets with infrequent subsets,” Data Mining and Knowledge Discovery, vol.7, pp153-185, 2003. • H. Yao and H. J. Hamilton, “Mining itemset utilities from transaction databases,” Data & Knowledge Engineering, vol.59, pp.603-626, 2006.* • Y. Liu, W..-K. Liao, A. Choudhary, “A Two phase phase algorithm for fastdiscovery of high utility of itemsets,“ Proc. Of the 9th Pacific-Asia Conf. on Knowledge Discovery and Data Mining(PAKDD’05), pp689-695, May 2005 ** • Y. Liu, W..-K. Liao, A. Choudhary, “A fast high utility itemsets mining algorithm,” Proc. 1st Intl. Conf. on Utility-Based Data Mining, pp90-99, Aug. 2005. **
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 • 가중치를 부여한 항목 집합(itemset/pattern) 마이닝에 관한 연구:- 항목집합공유접근법은 각 트랜잭션에서 항목의 다중빈도를 고려한 연구.- 유틸리티 항목집합들의 마이닝 기법에 관한연구에서는 다른 환자들에 대해 동일한 의학적 치료를 가정하여, 다른 트랜잭션들이 그들의 효능에 따라 치료 효과가 다양해 질 수 있음을 보임. - * MEU(mining with expected utility)라고불려지는 이론적 모델과 정의에 관련된 연구 • 항목집합이 후보집합으로 선정될 수 있는지 여부를 휴리스틱 접근법을 사용하여 판단. • 후보 집합을 모든 항목들의 조합으로 구성해 시작단계에서 성능적 문제 야기. • 따라서, 항목들의 숫자가 많아지고 유틸리티 한계 값이 작아질 경우 사용 불가. • 그러므로 높은 유틸리티 값을 갖는 패턴들을 계산하기 위한 두 개의 새로운 알고리즘 UMining과 UMining_H을 제안. • UMining에서는 유틸리티 최대값을 기반으로 하는 가지치기 전략을 사용. • UMining_H는 휴리스틱 접근법을 기반으로 가지치기 전략을 사용. • 그러나 일부 높은 유틸리티 값을 가진 항목 집합들을 잘못 가지치기하는 경우 발생, • 또한 Apriori-규칙을 만족하지 못하여 후보 생성 및 검사 과정에서 많은 불필요한 패턴들을 생성하는 문제점.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 • Two-Phase 알고리즘 • Apriori-규칙을 사용해서 높은 유틸리티 값을 갖는 항목집합들을 효율적으로 찾아내기 위한 방법. • **TWU(Transaction Weighted Utilization)를 이용하여 Apriori-규칙의 속성을 유틸리티 마이닝에서도 활용할 수 있음을 증명. • 1st 데이터베이스 스캔에서 한 개의 항목으로 구성된 모든 항목집합의 TWU 값을 계산하고 2개 항목의 TWU 항목 집합을 생성하는데 기반이 됨. • 2nd 데이터베이스 스캔에서는 두 개 항목의 모든 TWU 항목 집합을 찾아서 세 개 항목의 TWU 항목집합을 위한 후보들을 생성하는데 사용. • 3rd스캔에서는 높은 TWU항목 집합들로 부터 가장 높은 유틸리티 항목집합 탐색. • 이 알고리즘은 Apriori 규칙의 속성을 활용하는 제안을 제시하였으나 다른 연구에서와 같이 후보 생성 및 검사 전략이 지니는 불필요한 항목집합을 생성하게 되는 문제점.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 • 그 밖의 연구들 • 전통적인 빈발 패턴 마이닝 분야에서 점증적인 마이닝 기법과 관련된 연구들. • AFPIM은 FP-트리 구조를 경로 조정 기법(path adjusting method)을 사용해서 재구성, • Cantree는 정규 순서로 트랜잭션들을 처리하고 데이터베이스가 증가하거나 감소하는 동안 트리 안에서 데이터베이스의 전체정보 저장할 수 있도록 하여, 한번의 트리 생성으로 반복적인 마이닝 작업을 쉽게 수행. • CP-tree는항목의 빈도수 값에 따라 점증적 트리를 재구성함으로써 기존 Cantree의 마이닝 속도를 향상시킴. • 그러나 현재까지의 유틸리티 패턴 마이닝 기법들은 새롭게 많은 트랜잭션들이 추가되고, 삭제되는 점증적인 데이터베이스를 위한 마이닝을 수행하기에는 부적절, • 또한 후보 패턴의 생성 과정에서 많은 불필요한 연산을 수행하여 마이닝의 속도 저하. 본 논문에서는 Prefix-트리 구조를 기반으로 점증적인 유틸리티 패턴 마이닝이 가능한 새로운 방법을 제안. Prefix-트리 구조의 각 노드에 TWU및 빈도수 값을 저장하여 FP-Growth 방법처럼 후보 집합의 생성 없이Apriori-규칙을 적용할 수 있도록 하였으며 다양한 실험을 통하여 3 가지 다른 형태의 Prefix-트리 구조에 따라 성능적 특징이 어떻게 달라질 수 있는지를 분석.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 • 실제 시장에서는 새로운 트랜잭션들이 추가 될 수도 있고, 오래된 트랜잭션의 수정과 삭제 빈번히 발생. ∴ 실제 데이터 집합에서 트랜잭션들의 추가, 삭제, 수정 고려 필수!
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 용어 정의 • 이전 연구들에서 정의된 것과 유사한 방법으로 유틸리티 패턴 마이닝의 문제를 정의. • 높은 유틸리티 패턴 마이닝 문제는 • 트랜잭션에 나타나는 모든 항목 집합들 중에서 • 정해진 임계값, minutil 보다 높은 u(X) 값을 갖는 • 모든 X를찾아내는 것으로 정의. 즉, twu(ACE) ≤ twu(AC) (Apriori-규칙 적용 가능)
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 Prefix-트리를 이용한 높은 유틸리티 패턴의 효과적인 탐색 방법을 설명하기 위해: • 3 가지 다른 형태의 Prefix-트리 구조: 사전적 순서 / 출현 빈도 / twu값 에따른 구조 • 각 구조의 생성 방법 • 패턴 탐색에 이용되는 과정 비교 • Prefix-트리로 유틸리티 패턴을 탐색하는 알고리즘의 성능적 특징
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 4.1. Prefix-트리 구성 • Prefix-트리(= 순서-트리)트랜잭션 데이터베이스의 내용을 압축된 형태로 나타낼 수 있도록 하는 자료구조. • Prefix-트리 구성 방법 • 개개의 트랜잭션들은 일정한 항목들 순서에 따라 노드에 삽입.이때 count 값을 하나씩 계속 증가. • 이렇게 만들어진 Prefix-트리의 각 경로는 각각의 트랜잭션. • Prefix-트리의 각 경로들을 여러 트랜잭션들을 중복으로 표현 가능.일반적으로 각각의 트랜잭션에는 여러 개의 항목들이 공통적으로 나타날 수 있기 때문. L = {a, b, c, d}에 대하여 사전적 순서로 만들어진 완전 Prefix-트리 ※ 중복된 항목들이 많을수록 보다 조밀한 Prefix-트리의 구성 가능.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 4.1. Prefix-트리 구성 • Prefix-트리 개념 • 후보확장: 모든 패턴 p에 대해 p 다음 순서에 추가되는 항목들. (만약 빈발 패턴 p에 대해 후보확장을 하게 되면 확장된 패턴도 빈발패턴이 될 수 있음.) • 각 노드의 빈도수 값은 Prefix-트리의 루트 노드로 부터 해당 노드 까지의 경로로 표시된 항목 집합의 총 빈도수. • Prefix-트리의 기본적인 성질의 하나로 각 노드의 빈도수 값은 자식노드들의 빈도수 값의 합보다 항상 같거나 큼. > > =
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 4.1. Prefix-트리 구성 • 본 논문에서는 twu값도 같이 저장.twu값도 빈도수 값 처럼 자식노드들의 twu 값의 합보다 항상 같거나 큼. • 삽입 항목 순서에 따라 다른 트리를 구성하는 방법 • 사전적 순서 • 출현빈도 순서(tf) • twu값 순서 • 사전적 순서 • 첫 번째 데이터베이스 스캔에서 항목들을 사전적 순서로 배열하고 트리 안에 노드로 항목들을 삽입. 이유: FP-Growth방법에 따라 트리의 상향 순회 과정에서 높은 유틸리티 패턴이 될 수 있는 후보 패턴을 효과적으로 찾아내기 위함. (4.2절에서 자세히...)
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 4.1. Prefix-트리 구성 • 사전적 순서
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 4.1. Prefix-트리 구성 • 출현빈도 순서(tf) • 목적:FP-트리와 같이 항목들의 삽입 순서를 항목 출현빈도의 내림차순에 따라 트리를 구성해 Prefix-트리에서 공유하는 Prefix를 최대화하여 작게 트리를 구성하기 위해. • 구성 방법:FP트리의 구성 방법 / 경로 조정 기법으로 데이터베이스 스캔 • 경로 조정 기법:기존의 첫 번째 방식의 사전적 순서에 의한 트리로 부터 재구성. (CP-트리 참고) *재구성: 항목들의 tf값 순서가 달라지면 새로운 순서로 재구성. • FP-Growth알고리즘에 의한 마이닝 작업이 매우 효과적.∵ 트리의 어떤 가지에도 빈발한 항목들 사이에 빈발하지 않은 항목들이 나타나지 않기 때문. • twu값을 고려하는 유틸리티 마이닝 과정에서는 twu값이 정렬되지 않아 비효율적.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 4.1. Prefix-트리 구성 • 출현빈도 순서
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 4.1. Prefix-트리 구성 • twu값 순서 • twu값의내림차순에 따라 구성된 Prefix-트리. • 항목들의 빈도수 순서에 따른 트리처럼 재구성을 통해 구성. 비교
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 4.2. 마이닝 알고리즘 및 성능 분석 Prefix-트리구성 및 유틸리티 패턴 마이닝 알고리즘: • 입력된 임계 값에 따라 매번 Prefix-트리를 새로이 구성하는 것이 아니라 이전에 수행한 마이닝 결과값을 적절히 활용하여 불필요한 계산을 할 필요 없음. • 마이닝 과정은 유틸리티 임계값과 트리의 각 노드에 저장된 twu값을 이용하여 패턴 확장 방식으로 수행되므로 단계별 후보 검증 방법의 문제점이 발생하지 않음. • FP-Growth 알고리즘과 같은 패턴 확장 방식의 마이닝 과정에서 특정 항목에 대한 조건-트리를 구성할 경우 빈발하지 않은 항목들이 트리 중간에 나타나게 되면 이를제거하는 과정이 필요. 이 과정은 조건-트리 구성 시간을 느리게 하해 결국 전체적인 마이닝 속도 저하. • twu값을 이용하는 유틸리티 Prefix-트리에서도 조건-트리를 만드는 과정에서 낮은 twu값을 갖는 노드가 높은 twu값을 같는 노드 사이에 놓이게 되면 마이닝 속도 저하.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 4.2. 마이닝 알고리즘 및 성능 분석 • Prefix-트리구성 및 유틸리티 패턴 마이닝 알고리즘 항목들 순서에 따라 트리 변경 후 twu와 tf값 변경 tf순 &twu순 트리만 재구성 사용자가 입력한 임계 값(minutil)에 따라 마이닝 수행
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 4.2. 마이닝 알고리즘 및 성능 분석 • Prefix-트리구성 및 유틸리티 패턴 마이닝 알고리즘 • twu값의 순서로 구성된 Prefix-트리의 조건-트리가작은 형태를 보임. • 패턴 확장 방식으로 마이닝을 하는 경우 대부분의 시간이 각 항목들에 대하여 재귀적으로 조건-트리를 구성하고 또 이를 탐색하는데 소요. • 따라서 작은 조건-트리를 생성할 경우 마이닝의속도 향상.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 4.2. 마이닝 알고리즘 및 성능 분석 • Prefix-트리구성 및 유틸리티 패턴 마이닝 알고리즘 • <트리 재구성> • 사용자의 minutil 첫 수행이거나 이전 minutil이 현재 값 보다 크다면, 재구성 단계 수행. • 항목의 twu가 minutil 보다 크거나 같으면 헤더 테이블과 함께 트리 생성해 마이닝 수행. • 첫 단계의 경우 DB에서 스캔. • 두 번째 단계 이상의 경우, 앞 단계에서 커버 하지 못한 패턴만 스캔. • <마이닝 > • 항목의 트리에서twu 값이 minutil 보다 작은 항목 제거. • 그것으로 조건-트리 생성 • 조건-트리의 헤더 테이블에서 항목들로 패턴 탐색. • 마이닝 재귀호출.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 4.2. 마이닝 알고리즘 및 성능 분석 항목 c, d, b에 대한 재귀적인 조건-트리를 구성한 결과 항목 c에 대해 조건-트리를 구성하는 방법: 우선 그림 4의 Prefix-트리에서c를 포함하는 Prefix-경로만을 모으고 twu값과 tf값도 경로에 나타난 값만을 더함. 항목 c의 Prefix-트리에서twu 값이 minutil=198 보다 작은 항목들은 유틸리티 패턴에 포함될 수 없으므로 트리에서 제거하고 항목 c도 제거. 이 과정에서 패턴 c와 ce가 유틸리티 패턴인 것을 찾아낼 수 있다. (조건-트리를 구성해 빈발패턴 찾는 방법은 [3]에 자세히 설명되어있다.) 위에 언급했듯이 twu값의 내림차순에 따라 구성된 Prefix-트리가 최적의 유틸리티 마이닝 성능을 보일 수 있음을 알 수 있다.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 » 본 논문의 Prefix-트리를 이용한 높은 유틸리티 패턴 마이닝 기법의 사전순, tf순, twu순 구성 모두 후보 개수가 같음. • 5.1 대화형 마이닝에 대한 효율성 비교(기존의 Two-Phase, FUM, DCG+ 와 성능 비교) • 기존의 알고리즘과 비교했을 때, 후보집합의 수가 확연히 적음. • ∴ 시간 효율성도 높으며, twu값 순서로 구성된 Prefix-트리를 사용할 경우 최적의 성능을 보임. • 대화형 마이닝을 할 경우, 제안하는 기법은 첫 번째 minutil 값 이후로는 Prefix-트리를 재구성 할 필요가 없게 됨. • ∴ 두 번째 데이터베이스 스캔 시간을 쉽게 줄임.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 • 5.2 점증적 마이닝에 대한 효율성 비교 • 각각의 트랜잭션을 추가한 후 tf순과 twu순인 경우는 마이닝 작업 전에 트리를 재구성. • ∴ 데이터베이스가 증가함에 다라 트리 구성과 마이닝 시간이 증가. • 모든 트랜잭션 추가 처리 후에 그 트리에 삭제 명령을 수행. • ∴ 트랜잭션 삭제 후에도 tf순과 twu순인 경우 마이닝 작업 전에 트리를 재구성하게 된다. 따라서 데이터베이스가감소함에 따라 트리 구성과 마이닝 시간이 감소.
요약 서론 관련연구 문제 정의 Prefix-Tree 구조를 이용한 유틸리티 패턴 탐색 실험 결과 결론 • 본 논문의 주요 공헌은,현재 이용 가능한 메모리 크리 범위 내에서 대량 데이터 삽입, 삭제, 수정 작업들이 빈번히 발생하는 점증적 데이터베이스를 처리할 수 있는 새로운 유틸리티 패턴 마이닝 알고리즘을 고안한 것. • 제안한 기법에서는 항목의 사전적 순서, 빈도수 순서, twu 순서로 구성한 3가지 다른 Prefix-트리를 사용. • 성능 비교 • 기여 • 기존 연구의 문제점인 후보생성 및 검사 전략 없이 가능한 패턴증가 접근 방식을 유틸리티 마이닝에도 사용할 수 있음을 입증. • 한번의 구성으로 여러 차례의 마이닝이 가능 ∴ 대화식 마이닝에 적합. • 대용량의 트랜잭션들의 변경이 발생해도 점진적으로 마이닝이 가능. • 대량의 서로 다른 항목들을 처리하는데도 효과적이고 확장 가능.