KR101317540B1 - 최대 가중화 빈발 패턴 마이닝 방법 - Google Patents

최대 가중화 빈발 패턴 마이닝 방법 Download PDF

Info

Publication number
KR101317540B1
KR101317540B1 KR1020110127050A KR20110127050A KR101317540B1 KR 101317540 B1 KR101317540 B1 KR 101317540B1 KR 1020110127050 A KR1020110127050 A KR 1020110127050A KR 20110127050 A KR20110127050 A KR 20110127050A KR 101317540 B1 KR101317540 B1 KR 101317540B1
Authority
KR
South Korea
Prior art keywords
pattern
mining
maximum
weighted
frequent pattern
Prior art date
Application number
KR1020110127050A
Other languages
English (en)
Other versions
KR20130060796A (ko
Inventor
윤은일
양흥모
편광범
이강인
김지원
Original Assignee
충북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충북대학교 산학협력단 filed Critical 충북대학교 산학협력단
Priority to KR1020110127050A priority Critical patent/KR101317540B1/ko
Publication of KR20130060796A publication Critical patent/KR20130060796A/ko
Application granted granted Critical
Publication of KR101317540B1 publication Critical patent/KR101317540B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 가중치를 고려한 최대 빈발 패턴을 마이닝하는 방법에 관한 것으로써, 본 발명은 가중치가 고려된 최대 빈발 패턴 마이닝을 수행하는 최대 가중화 빈발 패턴 마이닝 장치에서의 최대 가중화 빈발 패턴 마이닝 방법에 있어서, 상기 최대 가중화 빈발 패턴 마이닝 장치는 트랜잭션 데이터에 대하여 가중치가 고려된 가중화 빈발 패턴을 마이닝하는 단계 및 상기 최대 가중화 빈발 패턴 마이닝 장치는 상기 가중화 빈발 패턴에 대하여 패턴 성장 기법을 이용하여 재귀적으로 마이닝하는 단계를 포함한다. 본 발명에 의하면 대용량의 트랜잭션 데이터에서 의미 있는 패턴들을 효과적으로 마이닝하기 위하여, 최대 빈발 패턴 마이닝과 가중화 빈발 패턴 마이닝을 결합한 새로운 마이닝 방법을 제공함으로써, 최대 빈발 패턴 마이닝은 빈발 패턴간의 중복을 피하여 빠르고 효율적인 마이닝이 가능하며, 가중화 빈발 패턴 마이닝은 빈발 패턴 중에서 상대적으로 덜 중요한 아이템들로 구성된 패턴들을 배제할 수 있다는 장점이 있다.

Description

최대 가중화 빈발 패턴 마이닝 방법 {Method for mining maximal weighted frequent patterns}
본 발명은 가중치를 고려한 최대 빈발 패턴을 마이닝하는 방법에 관한 것으로서, 특히 본 발명은 가중화를 통해 중요하지 않는 패턴들을 제거하고, 최대 빈발 패턴 마이닝을 통해 중복되는 패턴들을 배제하고 대표 패턴들만을 추출함으로써, 대용량의 데이터 집합을 대상으로 한 마이닝을 효과적으로 수행하는 방법에 관한 것이다.
최근 급격한 정보산업분야의 발달로 인하여 데이터의 양적 팽창이 일어나고 있다. 빠르게 증가하는 대량의 데이터를 효과적으로 처리할 수 있는 기법이 다양한 분야에서 연구되고 있다. 특히 데이터 사이의 상관관계를 찾는 데이터 마이닝(data mining) 분야에서는 이러한 대량의 데이터에서 빠르게 유용한 정보를 획득하고 지식을 창출하기 위한 여러가지 기법들이 연구되고 있다. 이와 관련하여 대표적인 기법인 연관규칙 추출기법은 방대하게 저장된 트랜잭션 데이터(transaction data) 안에 존재하는 유용한 패턴을 찾아내는 기법이다.
데이터 마이닝에서 가장 핵심적인 영역으로 활발하게 연구가 진행되고 있는 분야는 패턴 마이닝 또는 연관 규칙 마이닝 분야이다. 다양한 종류의 데이터를 분석하여 의미 있는 정보를 가진 패턴을 추출하여 실제 응용 어플리케이션에서 데이터 분석이나 필요한 지식을 분석하여 제공할 수 있다.
대표적인 연관규칙 추출기법으로는 Apriori 알고리즘과 FP-트리를 이용한 FP-growth 알고리즘이 있다. Apriori 알고리즘은 k번째 항목집합이 빈발하다면 (k+1)번째 항목집합도 빈발할 가능성이 있지만 k번째 항목이 빈발하지 않다면 (k+1)번째 역시 빈발하지 않다는 반복적 접근방법을 사용한다. 빈발할 가능성이 있는 (k+1)번째 항목의 후보 항목집합을 생성하여야 하고, 이를 위해 반복적으로 데이터베이스에 접근해야 하기 때문에 많은 공간과 처리시간을 필요로 한다.
FP-growth 알고리즘은 빈발항목을 가지는 데이터베이스를 노드의 빈발도 정보를 가지는 빈발 패턴 트리(Frequent-Pattern Tree : FP-트리)로 변환하고 트리구조를 활용하여 반복적 데이터베이스 접근 없이 연관규칙을 추출해 내는 기법이다. FP-트리를 이용한 연관규칙 추출기법은 Apriori 알고리즘과 같이 후보집합을 생성하지 않기 때문에 반복적인 데이터베이스 접근이 필요하지 않으며 처리속도가 빠르다는 장점을 가진다.
Aprioi 방법에 의해 시작된 패턴 마이닝 기법은 후보 패턴을 생성하지 않고, 트리 구조의 효율성을 이용한 FP-growth 방법에 의해 획기적으로 발전되었다.
최근에는 실세계의 대용량 데이터를 효율적으로 처리하기 위한 연구들이 많이 이루어지고 있다. 그 중에서 가중화 패턴 마이닝은 중요한 아이템에 더 높은 가중치를 부여하여, 지지도는 낮으나 상대적으로 중요한 아이템들의 가중화 지지도를 높여서 중요한 패턴 위주로 마이닝을 하고, 상대적으로 무의미한 패턴들은 마이닝 결과에서 제거할 수 있다.
또한 최대 빈발 패턴 마이닝은 수많은 빈발 패턴들 중, 다른 패턴의 부분집합이 되는 패턴들을 생략하고, 더 이상 다른 패턴의 부분집합이 되지 않는 최대 빈발 패턴들만 마이닝하여 결과 패턴의 수를 크게 줄일 수 있다. 그러나, 최대 빈발 패턴 마이닝은 필요할 경우 부분집합들을 통해 전체 빈발 패턴을 재현할 수 있지만, 재현한 빈발 패턴들의 지지도 정보는 손실이 된다는 문제점이 있다.
이에 비해 닫혀 있는(closed) 빈발 패턴 마이닝은 부분집합으로 빈발 패턴들을 재구성해도 각각의 지지도 정보를 복원할 수 있지만, 최대 빈발 패턴 마이닝보다 많은 양의 패턴들을 생성하게 되는 문제점이 있다.
가중화 빈발 패턴 마이닝에서는 데이터의 크기가 증가하고, 최소 지지도 임계값이 감소할수록 결과 패턴의 수도 크게 증가한다. 때문에 중요한 아이템들의 상대적 지지도가 반영된 패턴들을 추출할 수는 있지만, 대용량 데이터 마이닝에 여전히 효율적이지 못하다.
최대 빈발 패턴 마이닝에서는 주어진 데이터 집합에서 추출 가능한 빈발 패턴 중에서 최대 빈발 패턴만 마이닝 하면 되므로, 빈발 패턴 마이닝에 비해 매우 빠르게 마이닝 할 수 있다. 하지만 여전히 결과 패턴에는 아이템의 중요도가 반영이 되지 않으므로, 결과 패턴이 모두 중요한 의미가 있지 않기 때문에 응용 목적에 따라서 추가적으로 중요 의미 패턴을 선별해야 하는 과정이 요구된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 가중치가 고려된 최대 빈발 패턴을 마이닝하는 방법을 제공하는데 그 목적이 있다.
가중화 빈발 패턴의 경우 전통적인 패턴 마이닝 방법으로는 안티모노톤 법칙(Anti-monotone property)을 유지할 수 없기 때문에 가중화 지지도를 가능한 최대값으로 계산을 하여 빈발 패턴이 될 가능성이 있는 후보 패턴들을 생성 한 후, 패턴 성장 기법을 사용하여 실제 가중화 빈발 패턴들을 마이닝 해야 한다. 여기에 최대 빈발 패턴 마이닝을 적용하기 위해서는 최대 빈발 패턴 마이닝의 핵심인 부분집합 조사(subset checking) 과정 또한 가중화 패턴에 맞게 개발해야 한다.
본 발명에서는 모든 가중화 빈발 패턴에 대한 정보를 저장한 가중화 최대 빈발 패턴들을 효과적으로 마이닝 하는 방법을 제공하는데 그 다른 목적이 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
이와 같은 목적을 달성하기 위한 본 발명은 가중치가 고려된 최대 빈발 패턴 마이닝을 수행하는 최대 가중화 빈발 패턴 마이닝 장치에서의 최대 가중화 빈발 패턴 마이닝 방법에 있어서, 상기 최대 가중화 빈발 패턴 마이닝 장치는 트랜잭션 데이터에 대하여 가중치가 고려된 가중화 빈발 패턴을 마이닝하는 단계 및 상기 최대 가중화 빈발 패턴 마이닝 장치는 상기 가중화 빈발 패턴에 대하여 패턴 성장 기법을 이용하여 재귀적으로 마이닝하는 단계를 포함한다.
상기 최대 가중화 빈발 패턴 마이닝 장치는 상기 트랜잭션 데이터에 대해 빈도수 세기에 따라 정렬하기 위한 1차 스캔을 수행하는 단계, 상기 1차 스캔 후에, 빈도수 세기에 따라 정렬된 데이터에 대해 2차 스캔을 수행하는 단계, 상기 2차 스캔 후에, 스캔한 정보를 통해 지지도 내림차순으로 가중화 빈발 패턴 트리를 생성하는 단계, 상기 스캔한 정보를 이용하여 가중화 빈발 패턴 배열에 필요한 조건부 데이터들을 저장하는 단계, 상기 조건부 데이터들에 대해 패턴 성장 기법을 이용하여 재귀적으로 마이닝하는 단계 및 상기 마이닝의 결과물로 최대 가중화 빈발 패턴 집합을 추출하는 단계를 포함할 수 있다.
상기 지지도는 트랜잭션 데이터를 트랜잭션 별로 읽어들이면서 발생하는 모든 아이템들에 대한 정규화된 가중치일 수 있다.
상기 트랜잭션 데이터 집합에 존재하는 아이템의 가중치 중에서 가장 큰 값을 최대 가중치로 선정하고, 상기 최대 가중치 빈도수가 임계값보다 작을 경우에만 해당 아이템을 제거하는 단계를 더 포함할 수 있다.
상기 아이템을 제거하는 단계 후에, 제거된 아이템을 제외한 나머지 아이템들에 대해 빈도수가 낮은 순서대로 정렬하는 단계, 가중화 빈발 패턴(weighted frequent patterns, WFP) 트리를 생성하기 위해 트리의 헤더 정보인 아이템 별 가중치, 빈도수, 연결 링크 시작점을 포함하는 데이터를 저장하는 헤더 테이블을 생성하는 단계, 생성된 가중화 빈발 패턴(WFP) 트리가 단일 경로(single path)이면, 해당 경로를 패턴으로 변환하는 단계, 상기 패턴이 최대 가중화 패턴 결과의 부분집합이면, 해당 패턴이 실제 가중화 빈발 패턴인지 여부를 확인하는 단계 및 해당 패턴이 실제 가중화 빈발 패턴이면, 해당 패턴을 가중화 빈발 패턴(WFP) 트리 및 결과 집합에 저장하는 단계를 더 포함할 수 있다.
상기 생성된 가중화 빈발 패턴(WFP) 트리가 단일 경로가 아니면, 패턴 성장 기법을 이용하여 상향식으로 탐색하여 조건부 데이터를 생성하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에서 해당 패턴이 실제 가중화 빈발 패턴이 아니면, 해당 패턴의 멱집합으로 후보 패턴 집합을 생성하여 다시 마이닝하는 단계를 더 포함할 수 있다.
본 발명에 의하면 대용량의 트랜잭션 데이터에서 의미 있는 패턴들을 효과적으로 마이닝하기 위하여, 최대 빈발 패턴 마이닝과 가중화 빈발 패턴 마이닝을 결합한 새로운 마이닝 방법을 제공함으로써, 최대 빈발 패턴 마이닝은 빈발 패턴간의 중복을 피하여 빠르고 효율적인 마이닝이 가능하며, 가중화 빈발 패턴 마이닝은 빈발 패턴 중에서 상대적으로 덜 중요한 아이템들로 구성된 패턴들을 배제할 수 있다는 장점이 있다.
따라서 본 발명의 최대 가중화 빈발 패턴 마이닝 방법은 대용량의 트랜잭션 데이터를 대상으로 효율적으로 중요한 패턴들을 마이닝 할 수 있다. 특히 진단이나 인식과 관련된 지식발견 응용 분야에서 패턴의 특성을 분류하거나 추출할 때, 본 발명의 최대 가중화 빈발 패턴 마이닝을 사용하면, 응용 프로그램의 모델링에 필요한 중요 데이터들을 효율적으로 찾아낼 수 있다.
도 1은 본 발명의 일 실시예에 따른 최대 가중화 빈발 패턴 마이닝 방법의 개략적인 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 최대 가중화 빈발 패턴 마이닝 방법의 상세한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 정규화된 가중치가 주어진 트랜잭션 데이터 집합의 예시도이다.
도 4는 본 발명의 일 실시예에 따른 WFP-트리 구조의 예시도이다.
도 5는 본 발명의 일 실시예에 따른 WFP-배열 구조의 예시도이다.
도 6은 본 발명의 일 실시예에 따른 조건부 WFP-트리들의 예시도이다.
이하, 첨부된 도면을 참조해서 본 발명의 실시예를 상세히 설명하면 다음과 같다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 명세서 전반에 걸쳐서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
본 발명은 가중화 빈발 패턴 마이닝과 최대 빈발 패턴 마이닝을 결합하여 대용량 데이터에서 효과적으로 의미 있는 패턴들을 추출하는 방법에 관한 것이다.
본 발명의 패턴 마이닝 방법은 대용량의 트랜잭션 데이터 집합을 두 번 스캔하여 가중화 빈발 패턴들로 구성된 가중화 패턴 트리 구조로 저장한 후, 패턴 성장 기법을 이용하여 트리를 재귀적으로 상향식으로 탐색하면서 최대 빈발 패턴을 찾아내고, 다시 실제로 가중화 패턴인지 조사하여, 가중화 패턴일 경우에만 가중화 최대 빈발 패턴 트리와 집합에 저장한다.
이제 본 발명의 최대 가중화 빈발 패턴 마이닝 방법에 대하여 설명하고자 한다. 본 발명의 최대 가중화 빈발 패턴 마이닝 방법은 일종의 프로그램 또는 알고리즘 개념이기 때문에, 본 발명의 최대 가중화 빈발 패턴 마이닝 방법을 수행하는 주체는 다양하다. 가령, 컴퓨터의 중앙처리장치(CPU), 제어부, 제어 프로그램, 응용 프로그램 등이 될 수 있다. 이처럼 본 발명이 소트웨어적인 알고리즘 발명 또는 프로그램 발명 개념이기 때문에, 본 발명의 수행 주체는 사안에 따라 다를 수 있으며, 이를 지칭하는 용어도 다를 수 있음은 당연하다. 앞으로 본 발명에서는 본 발명의 수행 주체를 최대 가중화 빈발 패턴 마이닝 장치로 통일하여 사용하기로 한다. 그러나, 본 발명의 수행 주체의 용어가 특정의 장치로 고정되는 것이 아님은 자명하다.
도 1은 본 발명의 일 실시예에 따른 최대 가중화 빈발 패턴 마이닝 방법의 개략적인 흐름도이다.
도 1을 참조하면, 본 발명의 최대 가중화 빈발 패턴 마이닝 방법은 트랜잭션 데이터에 대해 1차 스캔을 실시한다(S101). 1차 스캔 결과, 트랜잭션 데이터에 대한 빈도수 세기에 따라 정렬한다.
그리고, 빈도수 세기에 따라 정렬된 데이터에 대해 2차 스캔을 실시한다(S103).
2차 스캔 결과, 스캔한 정보를 통해 지지도 내림차순으로 가중화 빈발 패턴 트리를 생성한다(S105).
이와 동시에, 스캔한 정보를 이용하여 가중화 빈발 패턴 배열에 필요한 조건부 데이터들을 저장한다(S107).
다음, 조건부 데이터들에 대해 패턴 성장 기법을 이용하여 재귀적으로 마이닝(mining)을 수행한다(S109).
S109 단계 수행 후에, 최대 가중화 빈발 패턴 집합을 그 결과물로 추출한다(S111).
도 2는 본 발명의 일 실시예에 따른 최대 가중화 빈발 패턴 마이닝 방법의 상세한 흐름도이다.
도 2를 참조하면, 본 발명의 최대 가중화 빈발 패턴 마이닝 방법은 먼저 트랜잭션 데이터와 가중치 정보를 읽어들인다(S201).
그리고, 최대 가중화 빈도수가 임계값보다 작은 아이템을 제거한다(S203).
그리고, 빈도수에 따라 아이템을 정렬하고, 헤더 테이블을 생성한다(S205).
그리고, 가중화 빈발 패턴(weighted frequent patterns, WFP) 트리를 생성하고, 가중화 빈발 패턴(WFP) 배열을 생성하고, 데이터를 저장한다(S207).
생성된 가중화 빈발 패턴(WFP) 트리가 단일 경로(single path)인지 여부를 확인한다(S209).
S209 단계에서 생성된 가중화 빈발 패턴(WFP) 트리가 단일 경로가 아니면, 패턴 성장 기법(pattern growth method)을 이용하여 상향식으로 데이터를 탐색하여 조건부 데이터를 생성한다(S213). 그리고, S213 단계후에 다시 S201 단계로 회귀한다.
S209 단계에서 생성된 가중화 빈발 패턴(WFP) 트리가 단일 경로이면, 해당 경로를 패턴으로 변환한다(S211).
그리고, 해당 패턴이 최대 가중화 패턴 결과의 부분집합인지 여부를 확인한다(S215).
S215 단계에서 해당 패턴이 최대 가중화 패턴 결과의 부분집합이면 S213 단계로 진행한다.
S215 단계에서 해당 패턴이 최대 가중화 패턴 결과의 부분집합이 아니면, 해당 패턴이 실제 가중화 빈발 패턴인지 여부를 확인한다(S217).
S217 단계에서 해당 패턴이 실제 가중화 빈발 패턴이 아니면, 패턴의 멱집합으로 후보 패턴 집합을 생성한다(S221). 그리고, S221 단계 후에 다시 S215 단계로 회귀한다.
S217 단계에서 해당 패턴이 실제 가중화 빈발 패턴이면, 이를 결과 집합에 저장한다(S219).
그리고, 여분의 후보 패턴이 존재하는지 여부를 확인한다(S223).
S223 단계에서 여분의 후보 패턴이 존재하면 S215 단계로 회귀한다.
반면, S223 단계에서 여분의 후보 패턴이 존재하지 않으면, 재귀적 호출 복귀여부를 확인한다(S225).
S225 단계에서 재귀적 호출이 이루어진 시점으로 복귀가 이루어지면, 최종적인 결과 패턴들이 남게 되고, 그렇지 않으면 S213 단계로 진행하여 다시 탐색과 마이닝 작업을 반복하게 된다.
도 2에서 보는 바와 같이, 본 발명의 최대 가중화 빈발 패턴 마이닝 방법은 트랜잭션 데이터를 트랜잭션 별로 읽어 들이면서 발생하는 모든 아이템들에 대하여 빈도수를 세고, 각 아이템들의 정규화된 가중치 또한 메모리에 올린다.
가중치는 아이템에 대한 상대적인 중요도를 나타낸 수치이며, 빈도수와의 곱을 통해 가중화 빈도수를 구할 수 있다. 하지만 패턴성장기법을 이용한 패턴 마이닝의 안티모노톤 법칙을 유지하기 위해서는 데이터 집합에서 가능한 최대 가중화 빈도수를 이용하여 후보 가중화 빈발 패턴들을 추려내게 된다.
읽어 들인 트랜잭션 데이터에서 최대 가중화 빈도수가 최소 임계값보다 낮은 아이템들은 제거하며, 나머지 아이템들은 빈도수가 낮은 순서로 정렬된다.
도 3은 본 발명의 일 실시예에 따른 정규화된 가중치가 주어진 트랜잭션 데이터 집합의 예시도이고, 도 4는 본 발명의 일 실시예에 따른 WFP-트리 구조의 예시도이다.
도 3에서와 같은 예제 데이터 집합을 예로 들면, 정렬된 트랜잭션 데이터들을 효율적으로 탐색하기 위해서 도 4와 같은 가중화 빈발 패턴(WFP) 트리에 저장을 하게 되는데, 트리를 만들기 위해서 트리의 헤더 정보인 아이템 별 가중치, 빈도수, 연결 링크 시작점 등을 저장해 두는 헤더 테이블부터 작성을 하게 된다.
트랜잭션 데이터들은 한 트랜잭션이 트리에 삽입될때 마다 하나의 가지로 형성이 된다. 접두사가 중복되는 경우에는 중복된 노드의 빈도수를 1 증가 시키며 가지끼리 공유를 하게 된다.
도 5는 본 발명의 일 실시예에 따른 WFP-배열 구조의 예시도이다.
본 발명에서는 각각 아이템 쌍의 빈도수를 도 5와 같은 가중화 빈발 패턴(WFP) 배열에 저장하여 차후에 이루어지는 조건부 데이터베이스의 첫 번째 스캔 시간을 절약할 수 있다. 즉, 도 4에서 아이템 ‘h’에 관한 조건부 데이터베이스와 그에 따른 조건부 WFP-트리를 생성할 때, 임계값이 2로 주어진다면 도 5의 정보를 참고함으로써 첫 번째 스캔을 통한 조건부 데이터베이스의 지지도 정보를 파악하는 단계를 대신할 수 있다. 위의 경우에서는, 아이템 ‘d’와 ‘g’만이 설정된 임계값을 만족하기 때문에 조건부 데이터베이스를 구성하는 요소로 사용된다.
모든 데이터가 트리에 삽입이 되면 트리가 오직 하나의 가지로만 이루어지지 않은 이상, 패턴 성장 기법(Pattern growth method)을 이용하여 상향식으로 트리의 단말에서부터 위로 탐색을 하면서, 재귀적으로 조건부 데이터를 생성한다.
또한, 처음에 완성했던 전역 트리의 헤더 테이블에 정렬되어 있는 아이템들에 대하여 역순으로 올라가면서, 조건부를 이루는 접두사를 선택하게 된다.
도 6은 본 발명의 일 실시예에 따른 조건부 WFP-트리들의 예시도이다.
본 발명에서 재귀적 수행이 반복되다가 도 6에 표시된 조건부 트리들처럼 하나의 가지만을 소유한 트리가 나오면 해당 가지에서 패턴을 뽑아서 최대 빈발 패턴 판단을 위해 부분집합 검사를 하게 된다.
상기 기술된 마이닝 과정을 통해 하나의 가지(경로)를 소요한 트리로부터 패턴이 얻어지고 난 후에는, 이 패턴이 마이닝 과정을 수행하면서 지금까지 찾아낸 최대 가중화 빈발 패턴의 부분 집합이 되는지를 판가름하기 위한 일련의 조사 과정, 즉 부분(하위)집합 조사 과정(subset checking)을 수행한다. 위의 조사 과정을 통과한 패턴은 최대 가중화 빈발 후보 패턴이 되며, 그 후에 패턴의 가중치 평균과 빈도수 를 이용한 가중화 지지도 값이 주어진 임계값보다 크거나 같은지를 확인함으로써 해당 패턴이 실제 가중화 빈발 패턴인지를 판별한다.
실제 가중화 빈발 패턴임이 판명되면 해당 패턴은 최대 가중화 빈발 패턴이므로 결과 집합에 저장이 되고, 부분집합 검사 비교에 사용될 데이터 구조인 최대 가중화 빈발 트리에도 저장이 된다.
만약 해당 패턴이 실제 가중화 빈발 패턴이 아니라면, 안티모노톤 법칙을 유지하기 위해 해당 패턴의 멱집합들을 생성하여, 이 중에서 최대 가중화 빈발 패턴들을 다시 찾아야 한다. 멱집합을 구성하는 각각의 항목들에 대해서, 상기 최대 가중화 빈발 패턴 탐색 작업을 동일한 방법으로 수행하며, 최대 가중화 빈발 패턴이 되기 위한 조건들을 만족하는 패턴들을 찾는다. 그러므로 하나의 멱집합으로부터 다수의 최대 가중화 빈발 패턴들이 등장 할 수 있다. 이 작업까지 완료가 되면, 재귀적 호출이 이루어진 시점으로 돌아가서 다시 탐색과 마이닝 작업을 반복하게 되고, 모든 호출이 완료 되면 최종적인 결과 패턴들이 남게 된다.
한편, 본 발명의 실시예에 따른 최대 가중화 빈발 패턴 마이닝 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다.
또한, 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.

Claims (8)

  1. 가중치가 고려된 최대 빈발 패턴 마이닝을 수행하는 최대 가중화 빈발 패턴 마이닝 장치에서의 최대 가중화 빈발 패턴 마이닝 방법에 있어서,
    상기 최대 가중화 빈발 패턴 마이닝 장치는 트랜잭션 데이터에 대하여 가중치가 고려된 가중화 빈발 패턴을 마이닝하는 단계; 및
    상기 최대 가중화 빈발 패턴 마이닝 장치는 상기 가중화 빈발 패턴에 대하여 패턴 성장 기법을 이용하여 재귀적으로 마이닝하는 단계를 포함하되,
    상기 최대 가중화 빈발 패턴 마이닝 장치는 상기 트랜잭션 데이터에 대해 빈도수 세기에 따라 정렬하기 위한 1차 스캔을 수행하는 단계;
    상기 1차 스캔 후에, 빈도수 세기에 따라 정렬된 데이터에 대해 2차 스캔을 수행하는 단계;
    상기 2차 스캔 후에, 스캔한 정보를 통해 지지도 내림차순으로 가중화 빈발 패턴 트리를 생성하는 단계;
    상기 스캔한 정보를 이용하여 가중화 빈발 패턴 배열에 필요한 조건부 데이터들을 저장하는 단계;
    상기 조건부 데이터들에 대해 패턴 성장 기법을 이용하여 재귀적으로 마이닝하는 단계; 및
    상기 마이닝의 결과물로 최대 가중화 빈발 패턴 집합을 추출하는 단계를 포함하는 것을 특징으로 하는 최대 가중화 빈발 패턴 마이닝 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 지지도는 트랜잭션 데이터를 트랜잭션 별로 읽어들이면서 발생하는 모든 아이템들에 대한 정규화된 가중치인 것임을 특징으로 하는 최대 가중화 빈발 패턴 마이닝 방법.
  4. 제3항에 있어서,
    상기 트랜잭션 데이터에 존재하는 아이템의 가중치 중에서 가장 큰 값을 최대 가중치로 선정하고, 상기 최대 가중치 빈도수가 임계값보다 작을 경우에만 해당 아이템을 제거하는 단계를 더 포함하는 것을 특징으로 하는 최대 가중화 빈발 패턴 마이닝 방법.
  5. 제4항에 있어서,
    상기 아이템을 제거하는 단계 후에, 제거된 아이템을 제외한 나머지 아이템들에 대해 빈도수가 낮은 순서대로 정렬하는 단계;
    가중화 빈발 패턴(weighted frequent patterns, WFP) 트리를 생성하기 위해 트리의 헤더 정보인 아이템 별 가중치, 빈도수, 연결 링크 시작점을 포함하는 데이터를 저장하는 헤더 테이블을 생성하는 단계;
    생성된 가중화 빈발 패턴(WFP) 트리가 단일 경로(one path)이면, 해당 경로를 패턴으로 변환하는 단계;
    상기 패턴이 최대 가중화 패턴 결과의 부분집합이면, 해당 패턴이 실제 가중화 빈발 패턴인지 여부를 확인하는 단계; 및
    해당 패턴이 실제 가중화 빈발 패턴이면, 해당 패턴을 가중화 빈발 패턴(WFP) 트리 및 결과 집합에 저장하는 단계를 더 포함하는 것을 특징으로 하는 최대 가중화 빈발 패턴 마이닝 방법.
  6. 제5항에 있어서,
    상기 생성된 가중화 빈발 패턴(WFP) 트리가 단일 경로가 아니면, 패턴 성장 기법을 이용하여 상향식으로 탐색하여 조건부 데이터를 생성하는 단계를 더 포함하는 것을 특징으로 하는 최대 가중화 빈발 패턴 마이닝 방법.
  7. 제5항에 있어서,
    해당 패턴이 실제 가중화 빈발 패턴이 아니면, 해당 패턴의 멱집합으로 후보 패턴 집합을 생성하여 다시 마이닝하는 단계를 더 포함하는 것을 특징으로 하는 최대 가중화 빈발 패턴 마이닝 방법.
  8. 제1항, 제3항 내지 제7항 중 어느 한 항의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020110127050A 2011-11-30 2011-11-30 최대 가중화 빈발 패턴 마이닝 방법 KR101317540B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110127050A KR101317540B1 (ko) 2011-11-30 2011-11-30 최대 가중화 빈발 패턴 마이닝 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110127050A KR101317540B1 (ko) 2011-11-30 2011-11-30 최대 가중화 빈발 패턴 마이닝 방법

Publications (2)

Publication Number Publication Date
KR20130060796A KR20130060796A (ko) 2013-06-10
KR101317540B1 true KR101317540B1 (ko) 2013-10-15

Family

ID=48859158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110127050A KR101317540B1 (ko) 2011-11-30 2011-11-30 최대 가중화 빈발 패턴 마이닝 방법

Country Status (1)

Country Link
KR (1) KR101317540B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102004424B1 (ko) 2018-04-16 2019-07-26 충북대학교 산학협력단 스트림 데이터에 대한 실시간 빈발 사건 마이닝 방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113926203A (zh) * 2021-09-29 2022-01-14 杭州电魂网络科技股份有限公司 基于频率关联规则的游戏道具包设置方法和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080026943A (ko) * 2006-09-22 2008-03-26 숭실대학교산학협력단 연관규칙 탐사 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080026943A (ko) * 2006-09-22 2008-03-26 숭실대학교산학협력단 연관규칙 탐사 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102004424B1 (ko) 2018-04-16 2019-07-26 충북대학교 산학협력단 스트림 데이터에 대한 실시간 빈발 사건 마이닝 방법 및 장치

Also Published As

Publication number Publication date
KR20130060796A (ko) 2013-06-10

Similar Documents

Publication Publication Date Title
CN111783100B (zh) 基于图卷积网络对代码图表示学习的源代码漏洞检测方法
CN111400724B (zh) 基于代码相似性分析的操作系统脆弱性检测方法、系统及介质
CN110232280B (zh) 一种基于树结构卷积神经网络的软件安全漏洞检测方法
CN108920954B (zh) 一种恶意代码自动化检测平台及方法
CN108985060A (zh) 一种大规模安卓恶意软件自动化检测系统及方法
CN112597038B (zh) 软件缺陷预测方法及系统
CN112286824B (zh) 基于二分搜索迭代的测试用例生成方法、系统及电子设备
CN111860981A (zh) 一种基于lstm深度学习的企业国民行业类别预测方法及系统
CN106777070B (zh) 一种基于分块的Web记录链接的系统及方法
CN111767216B (zh) 一种可缓解类重叠问题的跨版本深度缺陷预测方法
US20170169214A1 (en) Distance and method of indexing sandbox logs for mapping program behavior
CN112052154A (zh) 一种测试用例的处理方法、装置
CN116560984A (zh) 一种基于调用依赖图的测试用例聚类分组方法
KR101275834B1 (ko) 상위 k개의 중요 패턴들을 마이닝 하는 방법
CN110825642B (zh) 一种基于深度学习的软件代码行级缺陷检测方法
Makkar et al. Fs2rnn: Feature selection scheme for web spam detection using recurrent neural networks
KR101317540B1 (ko) 최대 가중화 빈발 패턴 마이닝 방법
Pei et al. Combining multi-features with a neural joint model for Android malware detection
KR20080053103A (ko) 연관규칙 탐사 기법을 이용하여 추출한 다수의 연관분류규칙에 의한 다중범주 문서의 자동 분류 방법 및 장치
CN115248780A (zh) 接口测试用例的生成方法以及装置
Birt et al. Optimizing testing efficiency with error-prone path identification and genetic algorithms
CN107239704A (zh) 恶意网页发现方法及装置
KR102334228B1 (ko) 안드로이드 악성 앱 레이블 가중치 투표 기반 패밀리 분류 방법, 이를 수행하기 위한 기록 매체 및 장치
CN109948018B (zh) 一种Web结构化数据快速提取方法及系统
Raamesh et al. An efficient reduction method for test cases

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161005

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee