KR101235506B1 - 초기 클러스터링을 사용한 병합식 계층적 클러스터링 방법 및 장치 - Google Patents

초기 클러스터링을 사용한 병합식 계층적 클러스터링 방법 및 장치 Download PDF

Info

Publication number
KR101235506B1
KR101235506B1 KR1020100111999A KR20100111999A KR101235506B1 KR 101235506 B1 KR101235506 B1 KR 101235506B1 KR 1020100111999 A KR1020100111999 A KR 1020100111999A KR 20100111999 A KR20100111999 A KR 20100111999A KR 101235506 B1 KR101235506 B1 KR 101235506B1
Authority
KR
South Korea
Prior art keywords
objects
center
initial
vertices
clustering
Prior art date
Application number
KR1020100111999A
Other languages
English (en)
Other versions
KR20120050642A (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 KR1020100111999A priority Critical patent/KR101235506B1/ko
Publication of KR20120050642A publication Critical patent/KR20120050642A/ko
Application granted granted Critical
Publication of KR101235506B1 publication Critical patent/KR101235506B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method

Landscapes

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

Abstract

초기 클러스터링을 사용한 병합식 계층적 클러스터링 방법 및 장치가 제공된다. 클러스터링의 대상이 되는 데이터는 복수 개의 객체들을 포함한다. 복수 개의 객체들에 기반하여 k-최근접 이웃 그래프로 모델링된다. k-최근접 이웃 그래프 내의 정점들의 차수에 따라, 하나 이상의 중심 객체가 생성된다. 중심 객체를 중심으로 유사한 다른 객체들이 중심 객체의 초기 클러스터에 포함된다.

Description

초기 클러스터링을 사용한 병합식 계층적 클러스터링 방법 및 장치{METHOD AND APPARATUS FOR AGGLOMERATIVE HIERARCHICAL CLUSTERING USING INITIAL CLUSTERING}
아래의 실시예들은 병합식 계층적 클러스터링 방법 및 장치에 관한 것이다.
초기 클러스터링을 사용한 병합식 계층적 클러스터링 방법 및 장치가 개시된다.
클러스터링(clustering)은 데이터를 유사한 객체들로 이루어진 그룹들로 나누는 것이다.
클러스터링을 할 때 만들어지는 각 그룹은 클러스터(cluster)라 불린다.
같은 클러스터로 분류된 객체들은 서로 유사하고, 다른 클러스터로 분류된 객체들은 서로 유사하지 않아야 한다.
기존의 클러스터링 기법들로서, 분할(partitioning) 기법, 계층적(hierarchical) 기법, 밀도 기반(density-based) 기법, 격자 기반(grid-based) 기법, 모형 기반(model-based) 기법 등이 있다.
이 중, 계층적 클러스터링 기법은 객체들을 클러스터들의 계층적 구조로 그룹화하는 방법이다.
계층적 클러스터링 기법으로서, 병합식(agglomerative) 및 분할식(divisive) 방법이 있다.
병합식 방법에서는, 초기에는 각각의 객체가 하나의 클러스터를 나타내며, 이 클러스터들을 병합해 나감으로써 클러스터링이 수행된다.
반대로, 분할식 방법에서는, 처음에는 모든 객체가 하나의 클러스터에 포함되며, 이 클러스터를 분할해 나감으로써 클러스터링이 수행된다.
병합식 방법은 분할식 방법에 비해 계산이 용이하며, 병합식 방법에 의한 결과 클러스터의 품질이 분할식 방법에 의한 결과 클러스터의 품질보다 더 좋은 것으로 알려져 있다.
병합식 계층적 클러스터링은 반복적으로 한 번에 두 클러스터씩을 병합한다. 병합식 계층적 클러스터링은 하나의 클러스터가 남게 되면 종료한다.
이 때, 각 반복에서 모든 클러스터 쌍의 유사도가 계산되어야, 그 단계(즉, 반복)에서 병합될 두 클러스터들이 선택될 수 있다. 따라서, 병합식 계층적 클러스터링의 총 계산 복잡도는 O(n2log n)이다.
O(n2log n)은 비교적 상당히 큰 복잡도이다. 따라서, 대상 데이터가 큰 경우, 병합식 계층적 클러스터링은 확장성(scalability) 측면에서 문제가 있다.
확장성 문제를 해결하기 위한 하나의 방법으로서, 초기 클러스터링(initial clustering) 방법이 사용될 수 있다.
초기 클러스터링 방법은 서로 충분히 가까이 있어서 클러스터링을 통해서 같은 클러스터에 포함될 것이 확실한 객체들을 빠른 속도로 초기 클러스터라 불리는 하나의 작은 그룹으로 만드는 방법이다.
초기 클러스터들이 각각 하나의 객체로 간주되고, 초기 클러스터들에 대해 클러스터링이 수행된다면, 전체 객체의 수에서 초기 클러스터들의 수로 데이터의 규모가 줄어든 것과 같은 효과가 획득될 수 있다.
초기 클러스터링에 사용되는 알고리즘이 충분히 단순하고, 전체 객체 수가 크다면, 초기 클러스터들을 구성하는 과정에 요구되는 비용은 초기 클러스터링을 수행함으로써 절감되는 비용에 비해서 무시될 수 있다.
본 발명의 일 실시에는 중심 객체를 사용한 초기 클러스터링을 수행하는 계층적 클러스터링 장치 및 방법을 제공할 수 있다.
본 발명의 일 실시에는 객체에 기반하여 생성된 k-최근접 이웃 그래프를 사용하여 초기 클러스터링을 수행하는 계층적 클러스터링 장치 및 방법을 제공할 수 있다.
본 발명의 일측에 따르면, 복수 개의 객체에 대한 병합식 계층적 클러스터링을 수행하는 방법에 있어서, 상기 복수 개의 객체들 중 다른 객체들의 중심에 있는 객체들을 중심점으로 선택함으로써 하나 이상의 초기 클러스터들을 생성하는 단계 및 상기 하나 이상의 초기 클러스터들을 한 번에 두 개씩 반복적으로 병합함으로써 클러스터링을 수행하는 단계를 포함하고, 상기 하나 이상의 초기 클러스터들 각각은 하나의 상기 다른 객체들의 중심에 있는 객체를 포함하는, 병합식 계층적 클러스터링 방법이 제공된다.
상기 하나 이상의 초기 클러스터들을 생성하는 단계는, 상기 복수 개의 객체들 중 다른 객체들의 중심에 있는 객체들을 중심 객체로서 선택하는 단계 및 상기 복수 개의 객체들 중 상기 중심 객체로 선택되지 않은 객체들 각각을 상기 중심 객체들 중 가장 유사한 중심 객체와 병합하는 단계를 포함할 수 있다.
상기 중심 객체는 상기 복수 개의 객체들에 기반하여 생성된 k-최근접 이웃 그래프에서 상기 복수 개의 객체들 각각에 대응하는 정점의 차수에 기반하여 선택될 수 있다.
상기 가장 유사한 중심 객체는 코사인 유사도 또는 유클리드 거리에 기반하여 선택될 수 있다.
상기 복수 개의 객체 중 다른 객체들의 중심에 있는 객체들을 중심 객체로 선택하는 단계는, 상기 복수 개의 객체들을 k-최근접 이웃 그래프로 모델링하는 단계, 상기 k-최근접 이웃 그래프의 정점들 중 간선으로 직접 연결된 다른 모든 정점보다 더 높은 차수를 갖는 정점들을 선택하는 단계 및 상기 선택된 정점들 각각에 대응하는 객체들을 상기 중심 객체로서 선택하는 단계를 포함할 수 있다.
상기 k-최근접 이웃 그래프의 2개의 정점들 간 거리는 상기 2개의 정점들 각각에 대응하는 2개의 객체들 간의 유사도에 기반하여 결정될 수 있다.
본 발명의 다른 일측에 따르면, 복수 개의 객체에 대한 병합식 계층적 클러스터링을 수행하는 장치에 있어서, 상기 복수 개의 객체들 중 다른 객체들의 중심에 있는 객체들을 중심점으로 선택함으로써 하나 이상의 초기 클러스터들을 생성하는 초기 클러스터 생성부 및 상기 하나 이상의 초기 클러스터들을 한 번에 두 개씩 반복적으로 병합함으로써 클러스터링을 수행하는 병합부를 포함하고, 상기 하나 이상의 초기 클러스터들 각각은 하나의 상기 다른 객체들의 중심에 있는 객체를 포함하는, 병합식 계층적 클러스터링 장치가 제공된다.
상기 초기 클러스터 생성부는 상기 복수 개의 객체들 중 다른 객체들의 중심에 있는 객체들을 중심 객체로서 선택하고, 상기 복수 개의 객체들 중 상기 중심 객체로 선택되지 않은 객체들 각각을 상기 중심 객체들 중 가장 유사한 중심 객체와 병합함으로써 상기 하나 이상의 초기 클러스터들을 생성할 수 있다.
상기 초기 클러스터 생성부는 상기 복수 개의 객체들에 기반하여 생성된 k-최근접 이웃 그래프에서 상기 복수 개의 객체들 각각에 대응하는 정점의 차수에 기반하여 상기 중심 객체를 선택할 수 있다.
상기 초기 클러스터 생성부는 객체들 간의 코사인 유사도에 기반하여 상기 가장 유사한 중심 객체를 선택할 수 있다.
상기 초기 클러스터 생성부는 객체들 간의 유클리드 거리에 기반하여 상기 가장 유사한 중심 객체를 선택할 수 있다.
상기 초기 클러스터 생성부는 상기 복수 개의 객체들을 k-최근접 이웃 그래프로 모델링하고, 상기 k-최근접 이웃 그래프의 정점들 중 간선으로 직접 연결된 다른 모든 정점보다 더 높은 차수를 갖는 정점들을 선택하고, 상기 선택된 정점들 각각에 대응하는 객체들을 상기 중심 객체로서 선택함으로써 상기 복수 개의 객체 중 다른 객체들의 중심에 있는 객체들을 중심 객체로 선택할 수 있다.
상기 초기 클러스터 생성부는 상기 k-최근접 이웃 그래프의 2개의 정점들 각각에 대응하는 2개의 객체들 간의 유사도에 기반하여 상기 2개의 정점들 간 거리를 결정할 수 있다.
중심 객체를 사용한 초기 클러스터링을 수행하는 계층적 클러스터링 장치 및 방법이 제공된다.
객체에 기반하여 생성된 k-최근접 이웃 그래프를 사용하여 초기 클러스터링을 수행하는 계층적 클러스터링 장치 및 방법이 제공된다.
도 1은 본 발명의 일 예에 따른 데이터 크기에 따른 클러스터링 비용 변화를 나타낸 그래프이다.
도 2는 본 발명의 일 예에 따른 초기 클러스터링 방법을 설명하기 위한 3-NN 그래프이다.
도 3은 본 발명의 일 실시예에 따른 병합식 계층적 클러스터링 방법의 흐름도이다.
도 4는 본 발명의 일 실시예에 따른, 병합식 계층적 클러스터링 장치의 구조도이다.
도 5는 본 발명의 일 예에 따른 초기 클러스터링의 성능 향상을 설명한다.
도 6은 본 발명의 일 예에 따른 초기 클러스터링의 정확도를 설명한다.
이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 예에 따른 데이터 크기에 따른 클러스터링 비용 변화를 나타낸 그래프이다.
제1 그래프(110)는 클러스터링 대상 데이터가 포함하는 객체의 수가 n일 때의, 데이터 크기에 따른 계산 비용을 나타낸다.
제2 그래프(120)는 클러스터링 대상 데이터가 포함하는 객체의 수가 n/2일 때의, 데이터 크기에 따른 계산 비용을 나타낸다.
제2 그래프(120)에 비해, 제1 그래프(110)는 n이 증가함에 따라 급속히 계산 비용이 증가함을 나타낸다. 따라서, 클러스터링 대상 데이터가 포함하는 객체의 수 n이 n/2가 된다면, 클러스터링의 확장성이 크게 확장된다.
초기 클러스터들이 효율적으로 구성된다면, 계층적 클러스터링의 확장성이 향상될 수 있다.
도 2는 본 발명의 일 예에 따른 초기 클러스터링 방법을 설명하기 위한 3-NN 그래프이다.
일반적으로, 초기 클러스터링은 객체들 중 일부 객체를 초기 클러스터 구성의 기준이 되는 중심점들로서 결정하고, 중심점으로 결정되지 않은 다른 객체들을 가장 유사한 중심점에 병합함으로써 수행된다.
따라서, 초기 클러스터링의 중요한 문제는 객체들의 중심에 위치하는 중심점들을 효과적으로 찾는 것이다.
중심점들로서 결정될 객체를 중심 객체(centric object)로 명명한다. 즉, 중심 객체는 클러스터링의 대상이 되는 데이터에 포함되는 전체 객체들 중, 초기 클러스터링의 중심점이 될 적절한 개수의 객체이다.
중심 객체를 결정하기 위해, 데이터(즉, 데이터에 포함되는 전체 객체들)는 k-최근접 이웃(k-Nearest Neighbor; k-NN) 그래프(graph)로 모델링된다.
k-NN 그래프는 메트릭(metric) 공간(space)(예컨대, 유클리드 거리(Euclidean distance)의 평면(plane) 내의 점(point)들의 집합) 내의 n 개의 객체들의 집합 p를 위한 그래프이다. k-NN 그래프의 정점(vertex)들의 집합은 P이다. k-NN 그래프에서, q가 p의 k-NN 이면(즉, 적어도 k 번째로 가까운 이웃이면), k-NN 그래프는 p로부터 q로의 방향성(directed) 간선을 갖는다.
간선의 가중치는 간선이 연결하는 두 정점들 각각에 대응하는 객체들 간의 유사도(또는, 유사도에 비례하는 값)이다.
여기서, p로부터 q로의 거리가 p로부터 P 내의 어떤 다른 객체들로의 거리보다 더 크지 않으면, q는 p의 가장 가까운 이웃이다.
또한, k-NN 그래프에서, p 및 q간의 거리가 p로부터 P 내의 다른 객체들로의 거리들 중 k-번째 가장 작은 거리 내에 있다면, p 및 q는 간선으로 연결된다.
k-NN 그래프는 방향성 그래프일 수 있다. 그러나, 간선들의 방향이 무시될 경우, k-NN 그래프는 비방향성(undirected) 그래프일 수 있다.
2개의 정점들 간의 거리는, 2개의 정점들 각각에 대응하는 2개의 객체들 간의 유사도에 따라 계산될 수 있다.
즉, k-NN 그래프 내의 정점은 데이터 내의 객체들 각각을 나타낼 수 있다. k-NN 그래프 내의 간선은 상기 간선이 연결하는 2개의 정점들 각각에 대응하는 객체들이 서로 유사함을 나타낼 수 있다.
중심 객체는 생성된 k-NN 그래프에서 전체 객체들 각각에 대응하는 정점의 차수(degree)에 기반하여 선택될 수 있다. 즉, k-NN 그래프에서 각 정점의 차수가 계산되고, k-NN 그래프 내의 정점들 중 정점의 차수가 간선으로 직접 연결된 다른 모든 정점의 차수보다 높은 정점들이 선택될 수 있다. 선택된 정점들 각각에 대응하는 객체들이 중심 객체로서 선택된다.
즉, k-NN 그래프에서, 중심 객체에 대응하는 정점은, 상기 대응하는 정점과 간선으로 직접 연결된 다른 모든 정점들의 차수들보다 높다.
k-NN 그래프 상에서, 각 정점의 차수는 그 정점이 나타내는 객체의 주변에 존재하는 다른 객체들의 밀도와 밀접하게 연관되었다.
그러나, 단순히 주변 객체들의 밀도가 높은 객체를 중심점으로서 찾을 경우, 밀도가 높은 지역에서만 많은 수의 중심점들이 나타나고, 밀도가 낮은 지역에는 중심점이 나타나지 않는다.
따라서, 중심점은 절대적인 밀도와는 무관하게, 다른 객체들의 중심에 있는 객체를 선택함으로써 결정되어야 한다. 따라서, 전술한 중심 객체가 중심점으로서 결정되어야 한다.
도시된 그래프(200)는 합성(synthetic) 데이터에 기반하여 생성된 3-NN 그래프이다. 그래프(200) 내의 원은 정점을 나타내며, 선은 간선을 나타낸다.
원 안의 숫자는 해당 정점의 차수를 나타낸다.
만약, 절대적인 밀도에 따라 중심점들이 선택된다면, 차수가 6인 두 정점(210 및 220) 및 차수가 7인 정점(230)이 모두 중심점으로 선택되거나, 차수가 7인 정점(230) 하나만 중심점으로 선택될 수 있다. 따라서, 그래프(200)의 왼쪽 부분에는 중심점이 없는 결과가 나온다.
전술된 중심 객체의 개념을 사용하면, 짙은 색으로 표시된 정점들(210 및 230)이 중심 객체로 선택된다. 따라서, 그래프(200) 전체를 위한 적절한 중심점들이 선택될 수 있다.
중심 객체들이 정해지면, 중심 객체가 아닌 다른 모든 객체들이 어느 초기 클러스터에 속할 지가 결정되어야 한다.
중심 객체가 아닌 객체들 각각은 중심 객체들 중 상기 객체와 가장 유사한 중심 객체의 클러스터에 포함될 수 있다. 코사인 유사도(cosine similarity) 또는 유클리드 거리 등의 여러 방법이 가장 유사한 중심 객체를 선택하는 방법으로서 사용될 수 있다.
도 3은 본 발명의 일 실시예에 따른 병합식 계층적 클러스터링 방법의 흐름도이다.
병합식 계층적 클러스터링 방법은 초기 클러스터 생성 단계(S310 내지 S340) 및 병합 단계(S350)를 포함할 수 있다.
우선, 초기 클러스터 생성 단계(S310 내지 S340)를 설명한다.
초기 클러스터 생성 단계(S310 내지 S340)에서, 클러스터링의 대상이 되는 복수 개의 객체들 중 다른 객체들의 중심에 있는 객체들을 중심점으로 선택함으로써 하나 이상의 초기 클러스터들이 생성된다.
생성된 하나 이상의 초기 클러스터들 각각은 하나의 다른 객체들의 중심에 있는 객체를 포함한다.
초기 클러스터 생성 단계(S310 내지 S340)에서, 복수 개의 객체들 중 다른 객체들의 중심에 있는 객체들이 중심 객체로서 선택된다(S310 내지 S330).
중심 객체는, 복수 개의 객체들에 기반하여 생성된 k-최근접 이웃 그래프에서, 복수 개의 객체들 각각에 대응하는 정점의 차수에 기반하여 선택될 수 있다.
단계(S310)에서, 클러스터링의 대상이 되는 복수 개의 객체가 k-최근접 이웃 그래프로 모델링된다.
k-최근접 이웃 그래프의 2개의 정점들 간 거리는 2개의 정점들 각각에 대응하는 2개의 객체들 간의 유사도에 기반하여 결정될 수 있다.
단계(S320)에서, 생성된 k-최근접 이웃 그래프의 정점들 중 간선으로 직접 연결된 다른 모든 정점보다 더 높은 차수를 갖는 정점들이 선택된다.
단계(S330)에서, 선택된 정점들 각각에 대응하는 객체들을 상기 중심 객체로서 선택된다.
단계(S340)에서, 클러스터링의 대상이 되는 복수 개의 객체들 중 전술된 중심 객체로 선택되지 않은 객체들 각각은 중심 객체들 중 가장 유사한 중심 객체와 병합된다.
가장 유사한 중심 객체는 코사인 유사도에 기반하여 선택될 수 있다.
가장 유사한 중심 객체는 유클리드 거리에 기반하여 선택될 수 있다.
단계(S350)에서, 생성된 하나 이상의 초기 클러스터들을 한 번에 두 개씩 반복적으로 병합함으로써 클러스터링이 수행된다.
앞서 도 1 내지 도 2를 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 4는 본 발명의 일 실시예에 따른, 병합식 계층적 클러스터링 장치의 구조도이다.
병합식 계층적 클러스터링 장치(400)는 데이터에 포함된 복수 개의 객체들에 대해 병합식 계층적 클러스터링을 수행한다.
병합식 계층적 클러스터링 장치(400)는 추기 클러스터 생성부(410) 및 병합부(420)를 포함한다.
병합식 계층적 클러스터링 장치(400)는 저장부(430)를 포함할 수 있다.
초기 클러스터 생성부(410)는 클러스터링의 대상이 되는 데이터에 포함된 복수 개의 객체들 중 다른 객체들의 중심에 있는 객체들을 중심점으로 선택함으로써 하나 이상의 초기 클러스터들을 생성한다.
하나 이상의 초기 클러스터들 각각은 하나의 상기 다른 객체들의 중심에 있는 객체를 포함한다.
병합부(420)는 생성된 하나 이상의 초기 클러스터들을 한 번에 두 개씩 반복적으로 병합함으로써 병합식 계층적 클러스터링을 수행한다.
저장부(430)는 복수 개의 객체들 및 k-최근접 이웃 그래프 등 병합식 계층적 클러스터링 장치에서 사용되는 데이터를 저장하고, 저장된 데이터를 초기 클러스터 생성부(410) 및 병합부(420)에게 제공한다.
초기 클러스터 생성부(410)는 복수 개의 객체들 중 다른 객체들의 중심에 있는 객체들을 중심 객체로서 선택하고, 복수 개의 객체들 중 중심 객체로 선택되지 않은 객체들 각각을 중심 객체들 중 가장 유사한 중심 객체와 병합함으로써 상기 하나 이상의 초기 클러스터들을 생성할 수 있다.
초기 클러스터 생성부(410)는 복수 개의 객체들에 기반하여 생성된 k-최근접 이웃 그래프에서 복수 개의 객체들 각각에 대응하는 정점의 차수에 기반하여 중심 객체를 선택할 수 있다.
초기 클러스터 생성부(410)는 객체들 간의 코사인 유사도 또는 유클리드 거리에 기반하여 가장 유사한 중심 객체를 선택할 수 있다.
초기 클러스터 생성부(410)는 복수 개의 객체들을 k-최근접 이웃 그래프로 모델링하고, 모델링된 k-최근접 이웃 그래프의 정점들 중 간선으로 직접 연결된 다른 모든 정점보다 더 높은 차수를 갖는 정점들을 선택하고, 선택된 정점들 각각에 대응하는 객체들을 중심 객체로서 선택함으로써 복수 개의 객체 중 다른 객체들의 중심에 있는 객체들을 중심 객체로 선택할 수 있다.
초기 클러스터 생성부(410)는 상기 k-최근접 이웃 그래프의 2개의 정점들 각각에 대응하는 2개의 객체들 간의 유사도에 기반하여 2개의 정점들 간 거리를 결정할 수 있다.
상기 구성요소(410 및 420)의 기능은 단일한 제어부(도시되지 않음)에서 수행될 수 있다. 이때, 상기 제어부는 단일(single) 또는 복수(multi) 칩(chip), 프로세서(processor) 또는 코어(core)를 나타낼 수 있다. 상기 구성요소들(410 및 420) 각각은 상기 제어부에서 수행되는 함수(function), 라이브러리(library), 서비스(service), 프로세스(process), 쓰레드(thread) 또는 모듈(module)을 나타낼 수 있다.
앞서 도 1 내지 도 3을 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 5는 본 발명의 일 예에 따른 초기 클러스터링의 성능 향상을 설명한다.
초기 클러스터링의 성능 평가 척도로서, 초기 클러스터링을 적용하지 않은 계층적 클러스터링에 비해 초기 클러스터링을 적용한 계층적 클러스터링이 어느 정도의 속도 향상을 이루었는지가 고려될 필요가 있다. 또한, 초기 클러스터링을 적용함으로써 클러스터링의 질이 저하되었는지 여부가 고려될 필요가 있다.
클러스터링 결과를 확인하기 위해, 가우시안(Gaussian) 분산을 이용한 합성 데이터가 생성되었다. 제1 데이터(510) 및 제2 데이터(520)는 생성된 합성 데이터를 2차원 상에 표시한 것이다.
제1 데이터(510)는 103 개의 객체를 가지며, 3개의 뚜렷한 클러스터로 나뉘어진다.
제2 데이터(520)는 102 개의 객체를 가지며, 2개의 뚜렷한 클러스터로 나뉘어진다.
본 실시예에서는, 유클리드 거리가 유사도 측정 방안으로 사용되었고, 10-NN 그래프가 구성되었다.
하기의 표 1은 전술된 본 발명의 실시예에 따른 초기 클러스터링 방법이 사용되었을 때, 전체 객체 수가 어떻게 줄어드는지를 나타낸다.
제1 데이터 제2 데이터
전체 객체 수 103 104
초기 클러스터 수 32 375
비율 (%) 3.2 3.75
표 1에 따르면, 전술된 초기 클러스터링에 의해, 대상 객체의 수가 전체 객체 수의 약 3% 정도로 감소되었다.
하기의 표 2는 감소된 객체를 이용하여 계층적 클러스터링을 수행하였을 경우의 시간을 나타낸다.
제1 데이터 제2 데이터
기존 방법 (s) 40 39222
제안 방법 (s) 2 118
향상률 (배) 20 332
표 2에 따르면, 전술된 본 발명의 실시예에 따른 방법이 사용될 경우, 데이터의 개수가 103 개일 때에는 20배, 104 개일 때에는 약 300배 정도로 속도가 향상되었다.
도 6은 본 발명의 일 예에 따른 초기 클러스터링의 정확도를 설명한다.
제1 클러스터링 결과(610)는, 전술된 본 발명의 실시예에 따른 초기 클러스터링 방법이 적용되지 않았을 때, 제1 데이터(510)의 클러스터링 결과를 나타낸다.
제1 클러스터링 결과(610)는, 전술된 본 발명의 실시예에 따른 초기 클러스터링 방법이 적용되지 않았을 때, 제1 데이터(510)의 클러스터링 결과를 나타낸다.
제2 클러스터링 결과(620)는, 전술된 본 발명의 실시예에 따른 초기 클러스터링 방법이 적용되었을 때, 제1 데이터(510)의 클러스터링 결과를 나타낸다.
도시된 것처럼, 제1 클러스터링 결과(610)는 3개의 영역(612, 614 및 616)을 포함하고, 제2 클러스터링 결과(620)도 3개의 영역(622, 624 및 626)을 포함한다.
제1 클러스터링 결과(610) 및 제2 클러스터링 결과(620)를 비교하면, 초기 클러스터링 방법이 적용되었을 때 더 높은 품질의 클러스터링 결과가 획득되었다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
400: 병합식 계층적 클러스터링 장치
410: 초기 클러스터 생성부
420: 병합부

Claims (14)

  1. 복수 개의 객체들에 대한 병합식 계층적 클러스터링을 수행하는 방법에 있어서,
    복수 개의 초기 클러스터들을 생성하는 단계; 및
    상기 복수 개의 초기 클러스터들을 한 번에 두 개씩 반복적으로 병합함으로써 클러스터링을 수행하는 단계
    를 포함하고,
    상기 복수 개의 객체들 각각은 상기 복수 개의 초기 클러스터들 중 하나의 초기 클러스터에 포함되고,
    상기 복수 개의 초기 클러스터들 각각은 상기 복수 개의 객체들 중 다른 객체들의 중심에 있는 복수 개의 중심 객체들 중에서 하나의 중심 객체를 포함하고,
    상기 복수 개의 객체들 중 상기 복수 개의 중심 객체들로 선택되지 않은 모든 각 객체는 상기 복수 개의 초기 클러스터들 중 상기 객체의 최유사 중심 객체를 포함하는 초기 클러스터에 포함되고,
    상기 객체의 상기 최유사 중심 객체는 상기 복수 개의 중심 객체들 중 상기 객체와 가장 유사한 중심 객체인, 병합식 계층적 클러스터링 방법.
  2. 제1항에 있어서,
    상기 복수 개의 초기 클러스터들을 생성하는 단계는,
    상기 복수 개의 객체들 중 다른 객체들의 중심에 있는 객체들을 상기 복수 개의 중심 객체들로서 선택하는 단계; 및
    상기 복수 개의 객체들 중 상기 복수 개의 중심 객체들로 선택되지 않은 객체들 각각을 상기 복수 개의 중심 객체들 중 가장 유사한 중심 객체와 병합하는 단계
    를 포함하는, 병합식 계층적 클러스터링 방법.
  3. 제2항에 있어서,
    상기 복수 개의 중심 객체들은 상기 복수 개의 객체들에 기반하여 생성된 k-최근접 이웃 그래프에서 상기 복수 개의 객체들 각각에 대응하는 정점의 차수에 기반하여 선택되는, 병합식 계층적 클러스터링 방법.
  4. 제2항에 있어서,
    상기 가장 유사한 중심 객체는 코사인 유사도에 기반하여 선택되는, 병합식 계층적 클러스터링 방법.
  5. 제2항에 있어서,
    상기 가장 유사한 중심 객체는 유클리드 거리에 기반하여 선택되는, 병합식 계층적 클러스터링 방법.
  6. 제2항에 있어서,
    상기 복수 개의 객체 중 다른 객체들의 중심에 있는 객체들을 상기 복수 개의 중심 객체들로 선택하는 단계는,
    상기 복수 개의 객체들을 k-최근접 이웃 그래프로 모델링하는 단계;
    상기 k-최근접 이웃 그래프의 정점들 중 간선으로 직접 연결된 다른 모든 정점보다 더 높은 차수를 갖는 정점들을 선택하는 단계; 및
    상기 선택된 정점들 각각에 대응하는 객체들을 상기 복수 개의 중심 객체들로서 선택하는 단계
    를 포함하는, 병합식 계층적 클러스터링 방법.
  7. 제6항에 있어서,
    상기 k-최근접 이웃 그래프의 2개의 정점들 간 거리는 상기 2개의 정점들 각각에 대응하는 2개의 객체들 간의 유사도에 기반하여 결정되는, 병합식 계층적 클러스터링 방법.
  8. 복수 개의 객체들에 대한 병합식 계층적 클러스터링을 수행하는 장치에 있어서,
    복수 개의 초기 클러스터들을 생성하는 초기 클러스터 생성부; 및
    상기 복수 개의 초기 클러스터들을 한 번에 두 개씩 반복적으로 병합함으로써 클러스터링을 수행하는 병합부
    를 포함하고,
    상기 복수 개의 객체들 각각은 상기 복수 개의 초기 클러스터들 중 하나의 초기 클러스터에 포함되고,
    상기 복수 개의 초기 클러스터들 각각은 상기 복수 개의 객체들 중 다른 객체들의 중심에 있는 복수 개의 중심 객체들 중에서 하나의 중심 객체를 포함하고,
    상기 복수 개의 객체들 중 상기 복수 개의 중심 객체로 선택되지 않은 모든 각 객체는 상기 복수 개의 초기 클러스터들 중 상기 객체의 최유사 중심 객체를 포함하는 초기 클러스터에 포함되고,
    상기 객체의 상기 최유사 중심 객체는 상기 복수 개의 중심 객체들 중 상기 객체와 가장 유사한 중심 객체인, 병합식 계층적 클러스터링 장치.
  9. 제8항에 있어서,
    상기 초기 클러스터 생성부는 상기 복수 개의 객체들 중 다른 객체들의 중심에 있는 객체들을 상기 복수 개의 중심 객체들로서 선택하고, 상기 복수 개의 객체들 중 상기 복수 개의 중심 객체들로 선택되지 않은 객체들 각각을 상기 복수 개의 중심 객체들 중 가장 유사한 중심 객체와 병합함으로써 상기 복수 개의 초기 클러스터들을 생성하는, 병합식 계층적 클러스터링 장치.
  10. 제9항에 있어서,
    상기 초기 클러스터 생성부는 상기 복수 개의 객체들에 기반하여 생성된 k-최근접 이웃 그래프에서 상기 복수 개의 객체들 각각에 대응하는 정점의 차수에 기반하여 상기 복수 개의 중심 객체들을 선택하는, 병합식 계층적 클러스터링 장치.
  11. 제9항에 있어서,
    상기 초기 클러스터 생성부는 객체들 간의 코사인 유사도에 기반하여 상기 가장 유사한 중심 객체를 선택하는, 병합식 계층적 클러스터링 장치.
  12. 제9항에 있어서,
    상기 초기 클러스터 생성부는 객체들 간의 유클리드 거리에 기반하여 상기 가장 유사한 중심 객체를 선택하는, 병합식 계층적 클러스터링 장치.
  13. 제9항에 있어서,
    상기 초기 클러스터 생성부는 상기 복수 개의 객체들을 k-최근접 이웃 그래프로 모델링하고, 상기 k-최근접 이웃 그래프의 정점들 중 간선으로 직접 연결된 다른 모든 정점보다 더 높은 차수를 갖는 정점들을 선택하고, 상기 선택된 정점들 각각에 대응하는 객체들을 상기 복수 개의 중심 객체들로서 선택함으로써 상기 복수 개의 객체 중 다른 객체들의 중심에 있는 객체들을 복수 개의 중심 객체들로 선택하는, 병합식 계층적 클러스터링 장치.
  14. 제13항에 있어서,
    상기 초기 클러스터 생성부는 상기 k-최근접 이웃 그래프의 2개의 정점들 각각에 대응하는 2개의 객체들 간의 유사도에 기반하여 상기 2개의 정점들 간 거리를 결정하는, 병합식 계층적 클러스터링 장치.
KR1020100111999A 2010-11-11 2010-11-11 초기 클러스터링을 사용한 병합식 계층적 클러스터링 방법 및 장치 KR101235506B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100111999A KR101235506B1 (ko) 2010-11-11 2010-11-11 초기 클러스터링을 사용한 병합식 계층적 클러스터링 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100111999A KR101235506B1 (ko) 2010-11-11 2010-11-11 초기 클러스터링을 사용한 병합식 계층적 클러스터링 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20120050642A KR20120050642A (ko) 2012-05-21
KR101235506B1 true KR101235506B1 (ko) 2013-02-20

Family

ID=46268003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100111999A KR101235506B1 (ko) 2010-11-11 2010-11-11 초기 클러스터링을 사용한 병합식 계층적 클러스터링 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101235506B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105021888A (zh) * 2015-07-06 2015-11-04 广州供电局有限公司 基于数据聚类的谐波数据监测方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101340085B1 (ko) * 2012-11-14 2013-12-09 한국과학기술연구원 보행 패턴 생성 장치 및 방법
KR101601820B1 (ko) * 2014-08-20 2016-03-14 경기대학교 산학협력단 유사 사용자 인덱스 방법 및 프로그램

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
이재윤, ‘지적 구조 분석을 위한 새로운 클러스터링 기법에 관한 연구,’ 정보관리학회지, vol. 23, no. 4, pp. 215-231, 2006.12.31.
이재윤, ‘지적 구조의 규명을 위한 네트워크 형성 방식에 관현 연구,’ 한국문헌정보학회지, vol. 40. no. 2, pp. 333-355, 2006.06.31.
이재윤, '지적 구조 분석을 위한 새로운 클러스터링 기법에 관한 연구,' 정보관리학회지, vol. 23, no. 4, pp. 215-231, 2006.12.31. *
이재윤, '지적 구조의 규명을 위한 네트워크 형성 방식에 관현 연구,' 한국문헌정보학회지, vol. 40. no. 2, pp. 333-355, 2006.06.31. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105021888A (zh) * 2015-07-06 2015-11-04 广州供电局有限公司 基于数据聚类的谐波数据监测方法

Also Published As

Publication number Publication date
KR20120050642A (ko) 2012-05-21

Similar Documents

Publication Publication Date Title
Wang et al. Graph attention convolution for point cloud semantic segmentation
US11586464B2 (en) Techniques for workflow analysis and design task optimization
US10474781B2 (en) Virtual hierarchical layer usage
US20140325464A1 (en) Conflict detection for self-aligned multiple patterning compliance
US10929433B2 (en) Querying a database with morphology criterion
JP2015506026A (ja) 画像分類
Li et al. Densely constrained depth estimator for monocular 3d object detection
JP4893624B2 (ja) データのクラスタリング装置、クラスタリング方法及びクラスタリング用プログラム
US20150007120A1 (en) Clustering using n-dimensional placement
CN108073682A (zh) 基于参数视图函数查询数据库
JP2019045894A (ja) 検索プログラム、検索方法、及び、検索プログラムが動作する情報処理装置
KR20100052395A (ko) 3차원 변동 커패시턴스 계산을 위한 시스템 및 방법
CN106919380B (zh) 利用基于向量估计的图分割的计算装置的数据流编程
KR101235506B1 (ko) 초기 클러스터링을 사용한 병합식 계층적 클러스터링 방법 및 장치
JP6834602B2 (ja) データ生成方法、データ生成装置及びデータ生成プログラム
KR101116663B1 (ko) 고차원 데이터의 유사도 검색을 위한 데이터 분할방법
Truong et al. Towards better explanations for object detection
KR102039244B1 (ko) 반딧불 알고리즘을 이용한 데이터 클러스터링 방법 및 시스템
Su et al. Slibo-net: Floorplan reconstruction via slicing box representation with local geometry regularization
van Blokland et al. Partial 3D object retrieval using local binary QUICCI descriptors and dissimilarity tree indexing
CN116229116A (zh) 一种基于相似零件的工艺复用加工方法、系统及电子设备
CN116186571A (zh) 车辆聚类方法、装置、计算机设备及存储介质
WO2022168274A1 (ja) 情報処理装置、選択出力方法、及び選択出力プログラム
Fujita et al. Fine-tuned Surface Object Detection Applying Pre-trained Mask R-CNN Models
US20160117828A1 (en) Method for estimating position of target by using images acquired from camera and device and computer-readable recording medium using the same

Legal Events

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

Payment date: 20151214

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee