KR20110116481A - 계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템 - Google Patents

계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템 Download PDF

Info

Publication number
KR20110116481A
KR20110116481A KR1020100035922A KR20100035922A KR20110116481A KR 20110116481 A KR20110116481 A KR 20110116481A KR 1020100035922 A KR1020100035922 A KR 1020100035922A KR 20100035922 A KR20100035922 A KR 20100035922A KR 20110116481 A KR20110116481 A KR 20110116481A
Authority
KR
South Korea
Prior art keywords
temporary
clusters
subclusters
quality
partial
Prior art date
Application number
KR1020100035922A
Other languages
English (en)
Other versions
KR101086531B1 (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 KR1020100035922A priority Critical patent/KR101086531B1/ko
Publication of KR20110116481A publication Critical patent/KR20110116481A/ko
Application granted granted Critical
Publication of KR101086531B1 publication Critical patent/KR101086531B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24535Query rewriting; Transformation of sub-queries or views
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

N 개의 객체들을 포함하는 데이터를 클러스터링 하여 N개의 임시 부분 클러스터의 집합들을 생성하는 단계; 부분 클러스터들의 품질을 측정하는 측정 함수를 이용하여 상기 N개의 임시 부분 클러스터의 집합들에 포함된 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하는 단계; 상기 임시 부분 클러스터의 집합에 대한 품질에 기초하여, 상기 N개의 임시 부분 클러스터의 집합들 중 하나의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 최적의 초기 부분 클러스터들로 도출하는 단계; 및 최종 클러스터들을 생성하기 위하여 상기 최적의 초기 부분 클러스터들을 병합하는 단계를 포함하는 계층적 클러스터링을 위한 데이터 분할 방법이 제공된다.

Description

계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템{COMPUTER SYSTEM, APPARATUS AND METHOD OF DATA PARTITIONING FOR HIERARCHICAL CLUSTERING}
본 발명은 데이터 분할 방법, 장치 및 컴퓨터 시스템에 관한 것으로서, 더욱 상세하게는 계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템에 관한 것이다.
클러스터링(clustering)에 관한 연구는 다양한 응용 분야에서 이용되어 왔으며, 클러스터링 방법들은 일반적으로 계층적 클러스터링, 분할 클러스터링, 밀도 기반 클러스터링 등으로 분류할 수 있다.
이 중에서 계층적 클러스터링 방법은 클러스터링의 대상이 되는 데이터들을 트리(tree)구조로 클러스터링 한다. 클러스터링의 결과로 생성되는 이러한 트리를 덴드로그램(dendrogram)이라 부른다. 덴드로그램은 사용자가 원하는 클러스터의 개수에 맞게 클러스터들을 사용자에게 제공할 수 있으므로 사용자가 원하는 클러스터의 개수가 바뀌어도 적절한 결과를 제공할 수 있다.
계층적 클러스터링 방법은 덴드로그램을 형성하는 방법이 상향식 또는 하향식인가에 따라 병합(agglomerative) 방법과 분할(divisive) 방법으로 분류된다.
대표적인 계층적 클러스터링 방법들로는 BIRCH (T. Zhang, R. Ramakrishnan, and M. Livny, "BIRTH: An Efficient Data Clustering Method for Very Large Databases," ACM SIGMOD Record archive, Vol. 25, No. 2, pp. 103-114, 1996.), ROCK (S. Guha, R. Rastogi, and K. Shim, "ROCK: A Robust Clustering Algorithm for Categorical Attributes," In Proc . 15 th Int'l Conf . Data Engineering, pp. 512-521, 1999.), CURE (S. Guha, R. Rastogi, and K. Shim, "CURE: An Efficient Clustering Algorithm for Large Databases," In Proc . ACM SIGMOD Int'l Conf . Management of Data, pp. 73-84, 1998.),및 Chameleon (G. Karypis, E.-H. Han, and V. Kumar, "Chameleon :Hierarchical Clustering using Dynamic Modeling, IEEE Computer, vol. 32, pp. 68 - 74, 1999.)등을 들 수 있다.
최근 병합 방법과 분할 방법을 동시에 이용하는 클러스터링 방법이 주목 받고 있으며, 그 예로는 Chameleon을 들 수 있다.
Chameleon은 두 클러스터 간에 상호 연결성과 근접성을 동시에 고려하여 클러스터링 하기 때문에 자연스럽고 균일한 클러스터들을 발견할 수 있다.
Chameleon은 크게 다음의 세 가지 과정을 통해 주어진 데이터를 클러스터링 한다. 먼저, 주어진 데이터들을 그래프로 표현한다. 그리고, 표현된 그래프를 사용자가 정한 클러스터의 크기가 될 때까지 분할 알고리즘인 METIS(G. Karypis, and V. Kumar, "A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs," Journal of Society of Industrial and Applied Mathematics, Vol. 20, No. 1, pp. 359~392, 2008.)를 이용하여 분할한다.
마지막으로 이렇게 분할된 초기 부분 클러스터들 간의 유사도를 계산하여 가장 유사한 두 부분 클러스터들을 합병해 나가는 과정을 반복한다.
상술한 바와 같이 Chameleon가 주어진 데이터를 초기 부분 클러스터로 분할하기 위해 분할 알고리즘인 METIS를 사용한다.
여기서, METIS는 주어진 데이터를 두 개의 부분 클러스터로 분할하는데 전체 데이터를 일정 크기의 부분 클러스터들로 만들기 위해 분할을 재귀적으로 반복한다.
그러나 METIS는 주어진 데이터를 비슷한 크기의 두 클러스터로 분할하는 방법이기 때문에 부분 클러스터의 질이 낮아지는 문제점이 있다.
또한, Chameleon은 METIS로 생성한 초기 부분 클러스터들을 다시 병합하는 과정을 통해서 클러스터링 하기 때문에 결국 최종 클러스터들의 질도 낮아지게 된다.
이 밖에도 METIS는 데이터를 분할하기 전에 초기 부분 클러스터의 크기를 사용자가 정해야 한다는 문제점이 있다.
본 발명의 일 실시예는 초기 부분 클러스터의 크기와 상관없이 계층적 클러스터링을 수행할 수 있는 계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템을 제공한다.
본 발명의 일 실시예는 초기 부분 클러스터의 크기에 덜 민감하고 클러스터링의 정확도가 높은 계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템을 제공한다.
본 발명의 일 실시예는 매개변수에 민감하지 않으며 효과적으로 데이터를 분할 할 수 있는 계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 시스템을 제공한다.
본 발명의 일실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법은 N 개의 객체들을 포함하는 데이터를 클러스터링 하여 N개의 임시 부분 클러스터의 집합들을 생성하는 단계; 부분 클러스터들의 품질을 측정하는 측정 함수를 이용하여 상기 N개의 임시 부분 클러스터의 집합들에 포함된 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하는 단계; 상기 임시 부분 클러스터의 집합에 대한 품질에 기초하여, 상기 N개의 임시 부분 클러스터의 집합들 중 하나의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 최적의 초기 부분 클러스터들로 도출하는 단계; 및 최종 클러스터들을 생성하기 위하여 상기 최적의 초기 부분 클러스터들을 병합하는 단계를 포함한다.
상기 N개의 임시 부분 클러스터의 집합들을 생성하는 단계는 상기 임시 부분 클러스터의 집합들에 포함된 상기 각각의 임시 부분 클러스터의 집합이 포함하는 상기 임시 부분 클러스터의 총개수가 각각 1개부터 상기 N개에 해당하도록 상기 N개의 임시 부분 클러스터의 집합들을 생성하는 단계를 포함할 수 있다.
상기 측정 함수는 아래의 수학식을 만족할 수 있다.
[수학식]
Figure pat00001
assoc ( A k , V) = ∑ w(i, j)
i∈ A k , j∈V
(여기서, A k 는 클러스터링 된 k번째 임시 클러스터의 집합에 포함된 클러스터를 의미하고, V 는 클러스터링 된 임시 클러스터의 합집합을 의미한다. 또한, assoc(A k , V) 는 임시 클러스터의 집합 A k 에 속한 객체들과 합집합 V 에 속하는 객체들의 유사도의 합을 의미함).
상기 측정 함수는 상기 하나의 임시 부분 클러스터의 집합에 포함된 상기 N개의 객체들 간의 유사도와 상기 임시 부분 클러스터의 집합에 포함된 하나의 임시 부분 클러스터 내에 포함된 객체들 간의 유사도를 이용하여 상기 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가할 수 있다.
상기 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하는 단계는 상기 각각의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터 내에 포함된 객체들 간의 유사도에 비례하여 상기 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가할 수 있다.
상기 최적의 초기 부분 클러스터들로 도출하는 단계는 상기 임시 부분 클러스터의 집합 중 상기 측정 함수에 의해 측정된 품질이 가장 높은 상기 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 상기 최적의 초기 부분 클러스터들로 도출할 수 있다.
또한, 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 장치는 N 개의 객체들을 포함하는 데이터를 클러스터링 하여 N개의 임시 부분 클러스터의 집합들을 생성하는 생성부; 부분 클러스터들의 품질을 측정하는 측정 함수를 이용하여 상기 N개의 임시 부분 클러스터의 집합들에 포함된 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하는 평가부; 상기 임시 부분 클러스터의 집합에 대한 품질에 기초하여, 상기 N개의 임시 부분 클러스터의 집합들 중 하나의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 최적의 초기 부분 클러스터들로 도출하는 도출부; 및 최종 클러스터들을 생성하기 위하여 상기 최적의 초기 부분 클러스터들을 병합하는 병합부를 포함한다.
상기 생성부는 상기 임시 부분 클러스터의 집합들에 포함된 상기 각각의 임시 부분 클러스터의 집합이 포함하는 상기 임시 부분 클러스터의 총개수가 각각 1개부터 상기 N개에 해당하도록 상기 N개의 임시 부분 클러스터의 집합들을 생성할 수 있다.
상기 측정 함수는 아래의 수학식을 만족할 수 있다.
[수학식]
Figure pat00002
assoc ( A k , V) = ∑ w(i, j)
i∈ A k , j∈V
(여기서, A k 는 클러스터링 된 k번째 임시 클러스터의 집합에 포함된 클러스터를 의미하고, V 는 클러스터링 된 임시 클러스터의 합집합을 의미한다. 또한, assoc(A k , V) 는 임시 클러스터의 집합 A k 에 속한 객체들과 합집합 V 에 속하는 객체들의 유사도의 합을 의미함).
상기 측정 함수는 상기 하나의 임시 부분 클러스터의 집합에 포함된 상기 N개의 객체들 간의 유사도와 상기 임시 부분 클러스터의 집합에 포함된 하나의 임시 부분 클러스터 내에 포함된 객체들 간의 유사도를 이용하여 상기 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가할 수 있다.
상기 평가부는 상기 각각의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터 내에 포함된 객체들 간의 유사도에 비례하여 상기 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가할 수 있다.
상기 도출부는 상기 임시 부분 클러스터의 집합 중 상기 측정 함수에 의해 측정된 품질이 가장 높은 상기 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 상기 최적의 초기 부분 클러스터들로 도출할 수 있다.
또한, 본 발명의 일 실시예에 따른 컴퓨팅 시스템은 N 개의 객체들을 포함하는 데이터를 저장하는 메모리; 및 상기 데이터를 클러스터링 하여 N개의 임시 부분 클러스터의 집합들을 생성하고, 부분 클러스터들의 품질을 측정하는 측정 함수를 이용하여 상기 N개의 임시 부분 클러스터의 집합들에 포함된 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하고, 상기 임시 부분 클러스터의 집합에 대한 품질에 기초하여, 상기 N개의 임시 부분 클러스터의 집합들 중 하나의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 최적의 초기 부분 클러스터들로 도출하며, 최종 클러스터들을 생성하기 위하여 상기 최적의 초기 부분 클러스터들을 병합하는 프로세서를 포함한다.
상기 측정 함수는 아래의 수학식을 만족할 수 있다.
[수학식]
Figure pat00003
assoc ( A k , V) = ∑ w(i, j)
i∈ A k , j∈V
(여기서, A k 는 클러스터링 된 k번째 임시 클러스터의 집합에 포함된 클러스터를 의미하고, V 는 클러스터링 된 임시 클러스터의 합집합을 의미한다. 또한, assoc(A k , V) 는 임시 클러스터의 집합 A k 에 속한 객체들과 합집합 V 에 속하는 객체들의 유사도의 합을 의미함).
본 발명의 일 실시예에 따르면, 초기 부분 클러스터의 크기 설정에 민감하지 않은 계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템을 제공할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 최종 클러스터의 정확도가 높은 계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법을 나타낸 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법에 따라 생성된 임시 부분 클러스터들을 나타낸 도면이다.
도 3은 초기 부분 클러스터의 크기에 따른 최종 클러스터링 결과를 파악하기 위하여 Chameleon을 이용한 테스트에 이용된 2차원 실험 데이터 1을 나타낸 도면이다.
도 4는 초기 부분 클러스터의 크기에 따른 최종 클러스터링 결과를 파악하기 위하여 Chameleon을 이용한 테스트에 이용된 2차원 실험 데이터 2를 나타낸 도면이다.
도 5는 도 3에 도시된 실험 데이터 1에 대한 클러스터링 결과를 나타낸 도면이다.
도 6은 도 4에 도시된 실험 데이터 2에 대한 클러스터링 결과를 나타낸 도면이다.
도 7 및 도 8은 초기 부분 클러스터들을 생성하는 경우에 발생하는 문제점을 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 장치의 블록도이다.
도 10은 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 컴퓨터 시스템의 블록도이다.
도 11은 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법 및 장치를 테스트하기 위한 4개의 2차원 실험 데이터를 나타낸 도면이다.
도 12는 도 11에 나타난 4개의 데이터의 리얼 클러스터들을 나타낸 도면이다.
도 13은 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법 또는 장치를 이용하여 클러스터링 한 결과의 precision 값을 종래와 비교하여 나타낸 그래프이다.
도 14는 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법 또는 장치를 이용하여 클러스터링 한 결과의 recall 값을 종래와 비교하여 나타낸 그래프이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 일실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법을 나타낸 흐름도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법은 임시 부분 클러스터의 집합들을 생성하는 단계(110), 측정 함수를 이용하여 품질을 평가하는 단계(120), 최적의 초기 부분 클러스터들을 도출하는 단계(130) 및 최적의 초기 부분 클러스터들을 병합하는 단계(140)를 포함한다.
단계 110에서 계층적 클러스터링을 위한 데이터 분할 장치는 임시 부분 클러스터의 집합들에 포함된 각각의 임시 부분 클러스터의 집합이 포함하는 임시 부분 클러스터의 총개수가 각각 1개부터 N개에 해당하도록 N개의 임시 부분 클러스터의 집합들을 생성한다.
단계 110에서 N개의 임시 부분 클러스터의 집합들을 생성하기 위해 클러스터링의 결과가 좋고, 수행 속도가 빠른 다양한 클러스터링 방법들이 사용될 수 있으며, 예를 들어, k-means, CLARANS, Spectral Clustering 등이 해당될 수 있다.
단계 110에서 임시 클러스터들의 집합들이 생성되는 방법은 도 2를 참조하여 설명한다.
도 2는 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법에 따라 생성된 임시 부분 클러스터들을 나타낸 도면이다.
도 2를 참조하면, 계층적 클러스터링을 위한 데이터 분할 장치는 첫번째 임시 부분 클러스터의 집합에 포함되는 총 클러스터의 수가 1개가 되도록 데이터를 클러스터링하고, 그 다음 두번째 임시 부분 클러스터의 집합에 포함되는 총 클러스터의 수가 2개가 되도록 클러스터링 한다. 그 후, 세번째 임시 부분 클러스터의 집합에는 총 3개의 클러스터가 포함되도록 하며, 이러한 방식으로 총 클러스터의 수가 데이터에 포함된 객체의 수인 N개가 될때까지 클러스터링 한다.
따라서, 데이터에 포함된 객체의 수가 10개라고 가정하면, 도 2와 같이 각각 다른 개수의 클러스터들을 포함하는 총 10개의 클러스터의 집합들이 생성될 수 있다. 이렇게 생성된 클러스터의 집합들을 임시 클러스터의 집합들이라고 표현한다.
이와 같은 임시 클러스터의 집합들 중 가장 품질이 좋은 클러스터의 집합을 찾기 위해 120에서 부분 클러스터들의 품질을 측정하는 측정 함수를 이용할 수 있다.
단계 120에서 계층적 클러스터링을 위한 데이터 분할 장치는 부분 클러스터들의 품질을 측정하는 측정 함수를 이용하여 N개의 임시 부분 클러스터의 집합들에 포함된 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가한다.
이 때, 측정 함수는 아래의 [수학식 1]을 만족할 수 있다.
[수학식1]
Figure pat00004
assoc ( A k , V) = ∑ w(i, j)
i∈ A k , j∈V
여기서, A k 는 클러스터링 된 k번째 임시 클러스터의 집합에 포함된 클러스터를 의미하고, V 는 클러스터링 된 임시 클러스터의 합집합을 의미한다. 또한, assoc(A k , V) 는 임시 클러스터의 집합 A k 에 속한 객체들과 합집합 V 에 속하는 객체들의 유사도의 합을 의미한다.
상술한 [수학식 1]은 K개의 클러스터들의 품질을 평가할 수 있다.
이와 같이 측정 함수는 하나의 임시 부분 클러스터의 집합에 포함된 N개의 객체들 간의 유사도와 임시 부분 클러스터의 집합에 포함된 하나의 부분 클러스터 내에 포함된 객체들 간의 유사도를 이용하여 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가할 수 있다.
특히, [수학식 1]을 살펴보면 각각의 임시 부분 클러스터의 집합에 대한 품질은 각각의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터 내에 포함된 객체들 간의 유사도에 비례하여 평가될 수 있음을 알 수 있다.
아래의 [수학식 2]는 2개의 클러스터의 품질을 평가하는 측정 함수이다.
[수학식 2]
Figure pat00005
여기서, A, B는 클러스터링 된 2개의 클러스터를 의미하며, V는 A와 B의 합집합을 의미하고, assoc(A,V)는 A 집합에 속한 객체들과 V 집합에 속하는 객체들의 유사도의 합을 의미한다.
여기서, [수학식 2]가 의미하는 바는 2개의 클러스터가 있을 때, 모든 객체들이 가지고 있는 유사도의 전체 합 분에 동일 클러스터에 있는 객체들 간의 유사도이다.
다시 말해, 같은 클러스터에 속한 객체들끼리는 유사해야 하고, 다른 클러스터에 속한 객체들끼리는 유사하지 않아야 초기 부분 클러스터들의 품질이 높게 평가된다.
이는 유사한 객체들은 같은 클러스터에 포함되고, 유사하지 않은 객체들은 다른 클러스터에 포함되어야 하는 클러스터링의 정의와도 부합함을 알 수 있다.
[수학식 1]의 의미는 [수학식 2]와 동일하다. 단, [수학식 2]는 A와 B라는 2개의 클러스터만 가지고 있는 데이터에 대해서는 클러스터들의 질을 평가할 수 있다. 하지만, [수학식 1]은 주어진 데이터가 가지고 있는 클러스터의 개수에 상관없이 클러스터들의 품질을 평가할 수 있다.
도 2에 나타난 임시 부분 클러스터의 집합에 대한 품질 평가 결과는 각 임시 부분 클러스터의 집합 아래에 표시되어 있다.
[수학식 1]과 같이 측정 함수에서 클러스터의 수가 다른 클러스터의 집합들의 품질을 평가하는데 이용될 수 있다. 즉, 데이터에 포함된 N개의 객체들 모두의 유사도의 합 분에 같은 클러스터에 들어있는 객체들 간의 유사도가 높으면 Nassoc의 값이 높음을 알 수 있다.
이와 같이 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법에서 측정 함수는 클러스터의 집합에 속해 있는 하나의 클러스터의 품질만을 평가하는 것이 아니라 클러스터의 집합에 포함되어 있는 모든 클러스터들을 고려하여 전체 클러스터의 집합들의 품질을 평가할 수 있다.
예를 들어, 도 2에서 총 클러스터의 수가 3개인 임시 부분 클러스터의 집합의 품질을 평가한다면 임시 부분 클러스터의 집합 내에 포함된 3개의 클러스터 모두의 품질을 고려한다.
단계 130에서 계층적 클러스터링을 위한 데이터 분할 장치는 임시 부분 클러스터의 집합에 대한 품질에 기초하여, N개의 임시 부분 클러스터의 집합들 중 하나의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 최적의 초기 부분 클러스터들로 도출한다.
즉, 계층적 클러스터링을 위한 데이터 분할 장치는 임시 부분 클러스터의 집합 중 측정 함수에 의해 측정된 품질이 가장 높은 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 최적의 초기 부분 클러스터들로 도출할 수 있다.
따라서, 상술한 도 2에서 Nassoc의 값이 가장 높은, 다시 말해 측정 함수에 의해 측정된 품질이 가장 높은 임시 부분 클러스터의 집합(여기서는 클러스터의 수가 2개인 임시 부분 클러스터의 집합)에 포함된 임시 부분 클러스터들이 최적의 초기 부분 클러스터들로 도출될 수 있다.
단계 140에서 최종 클러스터들을 생성하기 위하여 최적의 초기 부분 클러스터들을 병합한다.
여기서, 새롭게 생성된 최적의 초기 부분 클러스터들을 대상으로 종래 Chameleon의 합병 과정을 이용하여 최종 클러스터들을 도출할 수 있다.
이상과 같이 본 발명의 일 실시예에 따르면 상술한 측정 함수에 의해 가장 적합한 최적의 초기 부분 클러스터들을 도출할 수 있다. 그러나 측정 함수를 이용하더라도 주어진 데이터에 포함된 객체들의 수가 증가하면 수행 속도가 느려질 수 있다.
따라서, 이러한 점을 해소하기 위하여 실시예에 따라서는, 예를 들어, METIS를 이용하여 주어진 데이터를 적절한 크기로 분할한 후, 분할된 데이터에 대하여 단계 120 내지 단계 140을 수행하여 최적의 초기 부분 클러스터들을 찾을 수 있다.
이와 같이, METIS를 사용할 경우, N보다 휠씬 적은 수의 데이터에 대하여 임시 부분 클러스터의 집합이 생성되므로 그다지 많은 임시 부분 클러스터의 집합이 생성되지 않아도 되며, 그만큼 수행 속도 또한 높일 수 있다.
계층적 클러스터링에서 초기 데이터 분할의 특징을 보다 정확히 파악하기 위하여 초기 부분 클러스터의 크기에 따라서 최종 클러스터링의 결과가 어떻게 달라지는지 알아보는 실험을 수행할 수 있다.
계층적 클러스터링에서 초기 데이터 분할의 특징을 파악하기 위한 실험에 대하여는 도 3 내지 도 6을 참조하여 설명하기로 한다.
상술한 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 3 및 4는 초기 부분 클러스터의 크기에 따른 최종 클러스터링 결과를 파악하기 위하여 Chameleon을 이용한 테스트에 이용된 2차원 실험 데이터 1, 2를 나타낸 도면이다.
도 3 및 도 4를 참조하여, Chameleon 방법을 이용할 경우, 초기 부분 클러스터의 크기에 따라서 최종 클러스터링의 결과가 어떻게 달라지는지 알아본다.
선행 실험에서 사용할 데이터는 Chameleon 방법을 제안한 [G. Karypis, E.-H. Han, and V. Kumar, "Chameleon: Hierarchical Clustering using Dynamic Modeling, " EEE Computer, vol. 32, pp. 68 - 74, 1999.]에서 사용한 4개의 데이터를 사용한다.
도 3의 데이터의 개수는 8개, 도 4의 데이터의 개수는 6개로 설정하여 클러스터의 개수를 주어진 데이터에 적합하도록 한다.
도 5 및 도 6은 각각 도 3 및 도 4에 도시된 실험 데이터 1, 2에 대한 클러스터링 결과를 나타낸 도면이다.
도 5 및 도 6을 참조하면, 도 3과 도 4의 데이터에 대하여 초기 부분 클러스터의 크기를 1% ~ 5%까지 변화시키면서 Chameleon으로 클러스터링 한 결과를 볼 수 있다.
도 5 및 도 6에서 같은 색상으로 표시된 점들은 동일한 클러스터에 포함되어 있는 것을 나타낸다. 또한, 여기서 초기 부분 클러스터의 크기가 변함에 따라서 각각의 클러스터링 결과가 크게 달라지는 것을 알 수 있다.
여기서, 도 3의 실험 데이터 1에 적합한 초기 부분 클러스터의 크기는 2~3%인데 비해 도 4의 실험 데이터 2는 초기 부분 클러스터의 크기가 2~3% 일 때가 1%보다 좋지만 최종 클러스터의 질이 좋지 못함을 알 수 있다.
이와 같은 결과를 볼 때, 주어진 데이터에 따라서 최적의 초기 부분 클러스터들의 크기가 달라질 수 있음을 알 수 있다. 따라서, 사용자가 부적합한 초기 부분 클러스터의 크기를 매개변수로 입력하면 최종 클러스터의 질이 나빠질 수 있다.
도 5 및 도 6의 결과를 볼 때, 최종 클러스터의 품질은 초기 부분 클러스터들에 의해서 영향을 받음을 알 수 있다. 그러나 데이터의 분포에 따라서 최적의 초기 부분 클러스터의 크기는 달라지기 때문에 최적의 초기 부분 클러스터들로 데이터를 분할하는 것은 어렵다.
따라서 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법에서는 주어진 데이터에 대하여 최적의 초기 부분 클러스터의 크기를 결정할 수 있는 측정 함수를 제안하고, 제안된 측정 함수를 이용해서 주어진 데이터를 최적의 초기 부분 클러스터들로 분할한다. 또한, 분할된 초기 부분 클러스터들을 병합해서 품질이 좋은 최종 클러스터들을 생성할 수 있다.
도 7 및 도 8은 초기 부분 클러스터들을 생성하는 경우에 발생하는 문제점을 나타낸 도면이다.
도 7 및 도 8을 참조하면, 기존 Chameleon에서 초기 부분 클러스터의 크기에 따라 최종 클러스터링 결과가 달라지는 이유는 METIS가 주어진 데이터를 크기가 비슷한 두 개의 클러스터로만 재귀적으로 분할하기 때문이다.
여기서, 도 7(a)는 주어진 데이터를 세 개의 부분 클러스터로 분할하는 것이 최적인 경우를 나타낸다. 그러나 METIS는 주어진 데이터를 오직 크기가 비슷한 두 개의 부분 클러스터로 분할하기 때문에 도 7(b)와 같이 유사하지 않은 객체들이 동일한 부분 클러스터에 포함되게 주어진 데이터를 분할한다.
또한, 도 8(a)는 주어진 데이터를 두 개의 부분 클러스터로 분할하는 것이 최적인 경우를 나타낸다. METIS는 주어진 데이터를 두 개의 부분 클러스터로 분할하는 기법이기 때문에 도 8(a)의 경우에는 주어진 데이터를 적절하게 클러스터링 할 것으로 예상된다.
그러나 도 8(a)의 데이터는 두 개의 부분 클러스터로 분할되어야 할 객체들의 수가 다르다. 따라서 주어진 데이터를 비슷한 크기의 부분 클러스터로 분할하는 METIS는 도 8(b)와 같이 서로 유사하지 않은 객체들을 동일한 클러스터에 포함시키게 된다.
이처럼 초기 부분 클러스터들을 생성하는 경우, 분할하는 초기 부분 클러스터의 크기에 따라 클러스터링 결과에 큰 차이가 발생할 수 있음을 알 수 있다.
따라서, 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법은 이러한 문제점을 해결하기 위하여 분할해야 할 초기 부분 클러스터의 크기와 상관없이 주어진 데이터를 최적의 초기 부분 클러스터들을 분할할 수 있도록 한다.
도 9는 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 장치의 블록도이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 장치는 생성부(910), 평가부(920), 도출부(930) 및 병합부(940)를 포함한다.
생성부(910)는 N 개의 객체들을 포함하는 데이터를 클러스터링 하여 N개의 임시 부분 클러스터의 집합들을 생성한다.
실시예에 따라서 본 발명의 일 실시예에 따른 생성부(910)는 임시 부분 클러스터의 집합들에 포함된 각각의 임시 부분 클러스터의 집합이 포함하는 임시 부분 클러스터의 총개수가 각각 1개부터 N개에 해당하도록 N개의 임시 부분 클러스터의 집합들을 생성할 수 있다.
평가부(920)는 부분 클러스터들의 품질을 측정하는 측정 함수를 이용하여 N개의 임시 부분 클러스터의 집합들에 포함된 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가한다.
여기서, 측정 함수는 상술한 [수학식 1]을 만족할 수 있다.
또한, 측정 함수는 하나의 임시 부분 클러스터의 집합에 포함된 상기 N개의 객체들 간의 유사도와 임시 부분 클러스터의 집합에 포함된 하나의 임시 부분 클러스터 내에 포함된 객체들 간의 유사도를 이용하여 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가할 수 있다.
또한, 평가부(920)는 각각의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터 내에 포함된 객체들 간의 유사도에 비례하여 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가할 수 있다.
도출부(930)는 임시 부분 클러스터의 집합에 대한 품질에 기초하여, N개의 임시 부분 클러스터의 집합들 중 하나의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 최적의 초기 부분 클러스터들로 도출한다.
또한, 도출부(930)는 임시 부분 클러스터의 집합 중 측정 함수에 의해 측정된 품질이 가장 높은 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 최적의 초기 부분 클러스터들로 도출할 수 있다.
병합부(940)는 최종 클러스터들을 생성하기 위하여 최적의 초기 부분 클러스터들을 병합한다.
도 10은 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할에 이용되는 컴퓨터 시스템의 블록도이다. 도 10을 참조하면, 본 발명의 일 실시예에 따른 컴퓨터 시스템은 메모리(1010) 및 프로세서(1020)를 포함한다.
메모리(1010)는 N 개의 객체들을 포함하는 데이터를 저장한다.
프로세서(1020)는 메모리(1010)에 저장된 데이터를 클러스터링 하여 N개의 임시 부분 클러스터의 집합들을 생성하고, 부분 클러스터들의 품질을 측정하는 측정 함수를 이용하여 N개의 임시 부분 클러스터의 집합들에 포함된 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하고, 임시 부분 클러스터의 집합에 대한 품질에 기초하여, N개의 임시 부분 클러스터의 집합들 중 하나의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 최적의 초기 부분 클러스터들로 도출하며, 최종 클러스터들을 생성하기 위하여 최적의 초기 부분 클러스터들을 병합한다.
여기서, 프로세서(1020)가 초기 부분 클러스터들의 품질을 측정하는데 이용하는 측정 함수는 상술한 [수학식 1]을 만족할 수 있다.
도 11은 본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법 및 장치를 테스트하기 위한 4개의 2차원 실험 데이터를 나타낸 도면이고, 도 12은 도 11에 나타난 4개의 데이터의 리얼 클러스터들을 나타낸 도면이다.
도 11 및 도 12을 참조하면, 4개의 2차원 실험 데이터를 이용하여 초기 부분 클러스터의 크기가 변함에 따라 최종 클러스터의 정확도가 어떻게 변하는지를 볼 수 있다.
본 발명의 일 실시예에 따른 계층적 클러스터링을 위한 데이터 분할 방법 및 장치의 정확도를 정량적으로 측정하기 위해서 주어진 2차원 데이터들에서 노이즈를 제거한 데이터들을 정답 데이터로 사용한다. 또한, 정답 데이터에 포함된 클러스터를 리얼 클러스터로 정의한다.
정확도 측정 방법은 각각의 클러스터링 방법으로 클러스터링 한 결과들에 대하여 리얼 클러스터들을 이용하여 precision 값과 recall 값을 계산한다.
이 때, 리얼 클러스터를 포함하고 있는 최종 결과로 나온 클러스터가 하나라면 리얼 클러스터와 해당 클러스터 데이터를 비교하여 precision 값과 recall 값을 계산한다.
또한, 리얼 클러스터를 포함하고 있는 클러스터가 둘 이상이라면 리얼 클러스터와 각 클러스터 간의 합집합 분에 교집합 값이 가장 높은 클러스터를 비교 클러스터로 선정한다.
선정된 각각의 클러스터들을 리얼 클러스터와 비교하여 precision 값과 recall 값을 계산한 후에 전체 데이터에서 각 리얼 클러스터의 크기가 차지하는 비율을 계산하여 가중치 평균으로 최종 정확도를 측정한다.
도 12(a)의 데이터의 경우, 8개의 리얼 클러스터들을 가지고, (b), (c)는 6개, (d)는 9개의 리얼 클러스터를 가지고 있다.
도 13은 본 발명의 일 실시예에 따라 클러스터링 한 결과의 precision 값을 종래와 비교하여 나타낸 그래프이다.
도 13을 참조하면, 도 12에 나타난 각각의 2차원 데이터에 대해 정답 클러스터를 선정하고, 종래 방법과 제안하는 방법에 따라 클러스터링 결과를 precision 값과 recall 값을 이용해서 정확도를 측정한다.
실험을 통해 본 발명의 일 실시예에서 제안하는 방법이 기존 Chameleon보다 초기 부분 클러스터의 크기 변화에 민감하지 않으며 전체적으로 정확도가 더 높다는 것을 볼 수 있다.
도 13은 각각의 실험 데이터에 대해 초기 부분 클러스터의 크기 변화에 따른 기존 Chameleon과 제안하는 방법으로 클러스터링 한 결과의 precision 값의 변화를 나타낸 도면이다.
도 13에서 알 수 있듯이 본 발명의 일실시예에서 제안하는 방법으로 클러스터링 한 결과의 precision 값이 기존 Chameleon 방법으로 클러스터링 한 결과의 precision 값보다 높다.
따라서 제안하는 방법이 Chameleon의 정확도를 향상시키는 것을 알 수 있다. 또한, 기존 Chameleon 방법으로 클러스터링 한 결과의 precision 값의 편차는 큰 반면에 제안하는 방법으로 클러스터링 한 결과의 precision 값의 편차는 거의 없었다.
따라서 제안하는 방법으로 클러스터링 한 결과가 기존 Chameleon 방법으로 클러스터링 한 결과보다 초기 부분 클러스터의 크기의 변화에 덜 민감한 것을 알 수 있다.
도 14는 본 발명의 일 실시예에 따라 클러스터링 한 결과의 recall 값을 종래와 비교하여 나타낸 그래프이다.
도 14을 참조하면, 기존 Chameleon 방법으로 클러스터링 한 결과의 recall 값의 편차는 큰 반면에 제안하는 방법으로 클러스터링 한 결과의 recall 값의 편차는 거의 없었다.
따라서 제안하는 방법으로 클러스터링 한 결과가 기존 Chameleon 방법으로 클러스터링 한 결과보다 초기 부분 클러스터의 크기의 변화에 덜 민감한 것을 볼 수 있다.
그러나 precision 값과는 달리 기존 Chameleon 방법으로 클러스터링 한 결과의 recall 값이 제안하는 방법으로 클러스터링 한 결과의 recall 값보다 전반적으로 비슷하거나 낮게 측정되었다.
이는 기존 Chameleon 방법으로 클러스터링 한 클러스터들이 리얼 클러스터들을 포함하는 초집합일 경우가 많고, 이런 경우 recall 값이 100%가 되기 때문이다.
이하 생략된 내용이라 하더라도 도 1 및 도 2를 통해 설명한 계층적 클러스터링을 위한 데이터 분할 방법에 관하여 이상에서 기술된 내용은 도 9 내지 도 10을 통해 설명한 계층적 클러스터링을 위한 데이터 분할 장치 및 컴퓨터 시스템에도 상호 적용된다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가지 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
910 : 생성부
920 : 평가부
930 : 도출부
940 : 병합부

Claims (15)

  1. N 개의 객체들을 포함하는 데이터를 클러스터링 하여 N개의 임시 부분 클러스터의 집합들을 생성하는 단계;
    부분 클러스터들의 품질을 측정하는 측정 함수를 이용하여 상기 N개의 임시 부분 클러스터의 집합들에 포함된 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하는 단계;
    상기 임시 부분 클러스터의 집합에 대한 품질에 기초하여, 상기 N개의 임시 부분 클러스터의 집합들 중 하나의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 최적의 초기 부분 클러스터들로 도출하는 단계; 및
    최종 클러스터들을 생성하기 위하여 상기 최적의 초기 부분 클러스터들을 병합하는 단계
    를 포함하는 계층적 클러스터링을 위한 데이터 분할 방법.
  2. 제1항에 있어서,
    상기 N개의 임시 부분 클러스터의 집합들을 생성하는 단계는
    상기 임시 부분 클러스터의 집합들에 포함된 상기 각각의 임시 부분 클러스터의 집합이 포함하는 상기 임시 부분 클러스터의 총개수가 각각 1개부터 상기 N개에 해당하도록 상기 N개의 임시 부분 클러스터의 집합들을 생성하는 단계인 계층적 클러스터링을 위한 데이터 분할 방법.
  3. 제1항에 있어서,
    상기 측정 함수는
    아래의 수학식을 만족하는 계층적 클러스터링을 위한 데이터 분할 방법.

    [수학식]
    Figure pat00006

    assoc ( A k , V) = ∑ w(i, j)
    i∈ A k , j∈V
    (여기서, A k 는 클러스터링 된 k번째 임시 클러스터의 집합에 포함된 클러스터를 의미하고, V 는 클러스터링 된 임시 클러스터의 합집합을 의미한다. 또한, assoc(A k , V) 는 임시 클러스터의 집합 A k 에 속한 객체들과 합집합 V 에 속하는 객체들의 유사도의 합을 의미함).
  4. 제1항에 있어서,
    상기 측정 함수는
    상기 하나의 임시 부분 클러스터의 집합에 포함된 상기 N개의 객체들 간의 유사도와 상기 임시 부분 클러스터의 집합에 포함된 하나의 임시 부분 클러스터 내에 포함된 객체들 간의 유사도를 이용하여 상기 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하는 계층적 클러스터링을 위한 데이터 분할 방법.
  5. 제4항에 있어서,
    상기 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하는 단계는
    상기 각각의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터 내에 포함된 객체들 간의 유사도에 비례하여 상기 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하는 계층적 클러스터링을 위한 데이터 분할 방법.
  6. 제1항에 있어서,
    상기 최적의 초기 부분 클러스터들로 도출하는 단계는
    상기 임시 부분 클러스터의 집합 중 상기 측정 함수에 의해 측정된 품질이 가장 높은 상기 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 상기 최적의 초기 부분 클러스터들로 도출하는 계층적 클러스터링을 위한 데이터 분할 방법.
  7. 제1항 내지 제6항 중의 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
  8. N 개의 객체들을 포함하는 데이터를 클러스터링 하여 N개의 임시 부분 클러스터의 집합들을 생성하는 생성부;
    부분 클러스터들의 품질을 측정하는 측정 함수를 이용하여 상기 N개의 임시 부분 클러스터의 집합들에 포함된 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하는 평가부;
    상기 임시 부분 클러스터의 집합에 대한 품질에 기초하여, 상기 N개의 임시 부분 클러스터의 집합들 중 하나의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 최적의 초기 부분 클러스터들로 도출하는 도출부; 및
    최종 클러스터들을 생성하기 위하여 상기 최적의 초기 부분 클러스터들을 병합하는 병합부
    를 포함하는 계층적 클러스터링을 위한 데이터 분할 장치.
  9. 제8항에 있어서,
    상기 생성부는
    상기 임시 부분 클러스터의 집합들에 포함된 상기 각각의 임시 부분 클러스터의 집합이 포함하는 상기 임시 부분 클러스터의 총개수가 각각 1개부터 상기 N개에 해당하도록 상기 N개의 임시 부분 클러스터의 집합들을 생성하는 계층적 클러스터링을 위한 데이터 분할 장치.
  10. 제8항에 있어서,
    상기 측정 함수는
    아래의 수학식을 만족하는 계층적 클러스터링을 위한 데이터 분할 장치.

    [수학식]
    Figure pat00007

    assoc ( A k , V) = ∑ w(i, j)
    i∈ A k , j∈V
    (여기서, A k 는 클러스터링 된 k번째 임시 클러스터의 집합에 포함된 클러스터를 의미하고, V 는 클러스터링 된 임시 클러스터의 합집합을 의미한다. 또한, assoc(A k , V) 는 임시 클러스터의 집합 A k 에 속한 객체들과 합집합 V 에 속하는 객체들의 유사도의 합을 의미함).
  11. 제8항에 있어서,
    상기 측정 함수는
    상기 하나의 임시 부분 클러스터의 집합에 포함된 상기 N개의 객체들 간의 유사도와 상기 임시 부분 클러스터의 집합에 포함된 하나의 임시 부분 클러스터 내에 포함된 객체들 간의 유사도를 이용하여 상기 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하는 계층적 클러스터링을 위한 데이터 분할 장치.
  12. 제11항에 있어서,
    상기 평가부는
    상기 각각의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터 내에 포함된 객체들 간의 유사도에 비례하여 상기 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하는 계층적 클러스터링을 위한 데이터 분할 장치.
  13. 제8항에 있어서,
    상기 도출부는
    상기 임시 부분 클러스터의 집합 중 상기 측정 함수에 의해 측정된 품질이 가장 높은 상기 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 상기 최적의 초기 부분 클러스터들로 도출하는 계층적 클러스터링을 위한 데이터 분할 장치.
  14. 컴퓨팅 시스템에 있어서,
    N 개의 객체들을 포함하는 데이터를 저장하는 메모리; 및
    상기 데이터를 클러스터링 하여 N개의 임시 부분 클러스터의 집합들을 생성하고, 부분 클러스터들의 품질을 측정하는 측정 함수를 이용하여 상기 N개의 임시 부분 클러스터의 집합들에 포함된 각각의 임시 부분 클러스터의 집합에 대한 품질을 평가하고, 상기 임시 부분 클러스터의 집합에 대한 품질에 기초하여, 상기 N개의 임시 부분 클러스터의 집합들 중 하나의 임시 부분 클러스터의 집합에 포함된 임시 부분 클러스터들을 최적의 초기 부분 클러스터들로 도출하며, 최종 클러스터들을 생성하기 위하여 상기 최적의 초기 부분 클러스터들을 병합하는 프로세서
    를 포함하는 컴퓨팅 시스템.
  15. 제14항에 있어서,
    상기 측정 함수는
    아래의 수학식을 만족하는 컴퓨팅 시스템.
    [수학식]
    Figure pat00008

    assoc ( A k , V) = ∑ w(i, j)
    i∈ A k , j∈V
    (여기서, A k 는 클러스터링 된 k번째 임시 클러스터의 집합에 포함된 클러스터를 의미하고, V 는 클러스터링 된 임시 클러스터의 합집합을 의미한다. 또한, assoc(A k , V) 는 임시 클러스터의 집합 A k 에 속한 객체들과 합집합 V 에 속하는 객체들의 유사도의 합을 의미함).
KR1020100035922A 2010-04-19 2010-04-19 계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템 KR101086531B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100035922A KR101086531B1 (ko) 2010-04-19 2010-04-19 계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100035922A KR101086531B1 (ko) 2010-04-19 2010-04-19 계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템

Publications (2)

Publication Number Publication Date
KR20110116481A true KR20110116481A (ko) 2011-10-26
KR101086531B1 KR101086531B1 (ko) 2011-11-23

Family

ID=45030750

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100035922A KR101086531B1 (ko) 2010-04-19 2010-04-19 계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템

Country Status (1)

Country Link
KR (1) KR101086531B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116384393A (zh) * 2023-04-27 2023-07-04 圣麦克思智能科技(江苏)有限公司 一种基于自然语言处理的运维数据处理系统及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116384393A (zh) * 2023-04-27 2023-07-04 圣麦克思智能科技(江苏)有限公司 一种基于自然语言处理的运维数据处理系统及方法
CN116384393B (zh) * 2023-04-27 2023-11-21 圣麦克思智能科技(江苏)有限公司 一种基于自然语言处理的运维数据处理系统及方法

Also Published As

Publication number Publication date
KR101086531B1 (ko) 2011-11-23

Similar Documents

Publication Publication Date Title
Bae et al. Coala: A novel approach for the extraction of an alternate clustering of high quality and high dissimilarity
De Weerdt et al. Active trace clustering for improved process discovery
Balakrishnan et al. Noise thresholds for spectral clustering
Gupta et al. Genic: A single pass generalized incremental algorithm for clustering
JP4893624B2 (ja) データのクラスタリング装置、クラスタリング方法及びクラスタリング用プログラム
Scionti et al. Stabilisation diagrams: Pole identification using fuzzy clustering techniques
CN115454779A (zh) 基于聚类分析的云监控流数据检测方法、装置及存储介质
Pande et al. Data clustering using data mining techniques
Ying et al. A simple efficient approximation algorithm for dynamic time warping
CN106033425A (zh) 数据处理设备和数据处理方法
KR101584883B1 (ko) 그래프 분류를 위한 빈발 부분그래프의 생성 방법
Mercioni et al. A survey of distance metrics in clustering data mining techniques
Ramsey et al. FASK with interventional knowledge recovers edges from the Sachs model
KR101086531B1 (ko) 계층적 클러스터링을 위한 데이터 분할 방법, 장치 및 컴퓨터 시스템
Huang et al. Local anomaly descriptor: A robust unsupervised algorithm for anomaly detection based on diffusion space
KR20120050642A (ko) 초기 클러스터링을 사용한 병합식 계층적 클러스터링 방법 및 장치
Silva et al. Classifying feature models maintainability based on machine learning algorithms
JP2014206382A (ja) 目標類識別装置
Abdullah et al. Discovering interesting association rules from student admission dataset
Belussi et al. Spatial embedding: a generic machine learning model for spatial query optimization
Annakula Hierarchical and partitioning based hybridized blocking model
Furfaro et al. A probabilistic framework for building privacy-preserving synopses of multi-dimensional data
Daiyan et al. An efficient grid algorithm for faster clustering using K medoids approach
Kothari et al. ’Survey of various clustering techniques for big data in data mining’
Ingale et al. Review of algorithms for clustering random data

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: 20151113

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171218

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 8