KR20160066212A - 의존 정규화 랜덤 측도를 이용한 트리 기반의 점층적 클러스터링 방법 및 장치 - Google Patents
의존 정규화 랜덤 측도를 이용한 트리 기반의 점층적 클러스터링 방법 및 장치 Download PDFInfo
- Publication number
- KR20160066212A KR20160066212A KR1020140170260A KR20140170260A KR20160066212A KR 20160066212 A KR20160066212 A KR 20160066212A KR 1020140170260 A KR1020140170260 A KR 1020140170260A KR 20140170260 A KR20140170260 A KR 20140170260A KR 20160066212 A KR20160066212 A KR 20160066212A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- cluster
- distance
- clustering
- interest
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
- G06F16/1794—Details of file format conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
점층적 클러스터링 방법 및 장치가 개시된다. 점층적 클러스터링 방법은, 데이터의 원소들 중 어느 하나의 관심 원소로부터 다른 원소들의 트리들이 형성한 군집과의 거리를 비교하는 단계, 거리의 최소값이 미리 설정된 값 이상이면 관심 원소를 특정 군집의 형제 노드로서 특정 군집의 바로 옆에 삽입하여 관심 원소로 새로운 군집을 형성하는 단계, 및 거리의 최소값이 미리 설정된 값보다 작으면 최소값의 거리를 갖는 제1 군집의 밑으로 관심 원소를 이동시켜 제1 군집의 특정 원소의 자손인 원소의 형제 노드로 관심 원소를 삽입하는 단계를 포함한다. 따라서, 여러 개의 연관된 데이터를 군집의 개수에 대한 사전 정보 없이 효율적으로 클러스터링할 수 있고 실시간으로 갱신되는 데이터나 대용량 데이터의 경우에도 효율적인 클러스터링이 가능하다.
Description
본 발명의 실시예들은 주어진 데이터를 의미 있는 집단들로 분류하는 클러스터링 기술에 관한 것으로, 더욱 상세하게는 의존 정규화 랜덤 측도를 이용하여 트리 기반의 여러 개의 연관된 데이터를 계층적이 아닌 점층적으로 클러스터링하는 방법 및 장치에 관한 것이다.
클러스터링(clustering)은 주어진 데이터를 서로 연관된 몇 개의 군집(cluster)으로 분류하는 데이터 처리 기술의 일종이며, 기계학습을 비롯한 수많은 데이터 분석에 널리 사용되는 전처리 과정의 일종이다. 대표적인 클러스터링 기법으로는 k-평균 클러스터링(k-means clustering)과 계층적 클러스터링 (hierarchical clustering), 스펙트럴 클러스터링(spectral clustering) 등이 있다.
대부분의 클러스터링 문제들은 단일 데이터를 클러스터링하는데 초점이 맞추어져 있으나, 서로 연관된 여러개의 데이터를 한꺼번에 클러스터링하는 문제도 중요한 문제이다. 예를 들어, 동영상에 속한 화소들을 클러스터링하는 비디오 분할(video segmentation) 처리에서는 동영상의 매 프레임마다의 영상들을 모두 클러스터링해야 하는데, 이때 각 프레임의 영상들이 밀접하게 연관되어 있다. 시간에 따라 기록된 물체들의 경로를 클러스터링하여 분류하는 과정이나 시간에 따라 변화하는 화제 키워드 데이터를 클러스터링하는 과정도 생각할 수 있다.
이처럼 서로 밀접하게 연관되어 있으며 때로는 지속적으로 갱신되는 데이터들을 한꺼번에 클러스터링 하기 위해서는 점층적 클러스터링(incremental clustering)이 필수적으로 요구된다. 점층적 클러스터링(incremental clustering)은 데이터를 몇 개의 조각으로 나누어 점층적으로 클러스터링하는 기법을 말하며, 스트리밍 동영상과 같이 데이터의 전체가 한번에 주어지지 않고 일부가 지속적으로 갱신되는 상황이나, 지속적으로 쌓이는 데이터의 크기가 매우 커서 한번에 클러스터링하기 힘든 경우에 주로 사용한다.
클러스터링을 적용하는데 있어서 어려운 점들 중 하나는 군집의 개수를 지정하는 일이다. K-평균 클러스터링을 포함한 기존의 클러스터링 방법들은 사람이 군집의 개수를 미리 지정해 준 상태로 클러스터링을 수행하므로, 만약 군집의 개수에 대한 정보가 없는 상태에서 잘못된 군집의 개수를 지정해 줄 경우 클러스터링의 성능이 크게 떨어진다.
비모수 베이지안 클러스터링 모델(nonparametric Bayesian clustering model)은 군집의 개수를 정하는 문제를 해결하기 위한 방법의 일종으로, 데이터의 클러스터링을 확률 변수로 취급하여 데이터로부터 최적의 군집의 개수를 학습하는 기법이다. 대표적인 방법으로 디리클레 과정 혼합 모델(Dirichlet process mixture model)이 있으며, 최근 통계학계에서는 정규화 랜덤 측도 혼합 모델(normalized random measure mixture model)이라는 범용성이 넓은 비모수 베이지안 클러스터링 모델에 대한 연구가 수행되었다. 여러 개의 연관된 데이터를 다루기 위해 의존 정규화 랜덤 측도 혼합 모델(dependent normalized random measure mixture model) 역시 제안되어 상기한 예제와 비슷한 클러스터링 문제를 해결하는데 사용되었다.
비모수 베이지안 클러스터링 모델의 가장 큰 한계점은 바로 시간복잡도이다. 비모수 베이지안 클러스터링 모델들은 일반적으로 마르코브 체인 몬테카를로 (MCMC) 샘플링을 통해 최적의 클러스터링을 추론(inference)하는데, 이는 시간 복잡도가 매우 큰 방법이며, 점층적 클러스터링을 하기 위한 점층적 추론(incremental inference)이 불가능하다. 따라서 최적의 군집의 개수를 자동으로 찾아줄 수 있는 좋은 모델을 도입하더라도 실제 데이터에 효과적으로 적용하기엔 무리가 따른다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 본 발명의 일실시예에서는 의존 정규화 랜덤 측도 혼합 모델을 이용하여 트리 기반의 서로 연관된 여러 개의 데이터를 계층적이 아닌 점층적으로 클러스터링하는 점층적 클러스터링 방법 및 장치를 제공하고자 한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 측면에 따른 점층적 클러스터링 방법은, 데이터의 원소들 중 어느 하나의 관심 원소와 다른 원소들의 트리들이 형성하는 군집(군집들)과의 거리를 비교하는 단계, 거리의 최소값이 미리 설정된 값 이상이면 관심 원소를 특정 군집의 형제 노드로서 특정 군집의 바로 옆에 삽입하여 관심 원소로 새로운 군집을 형성하는 단계, 및 거리의 최소값이 미리 설정된 값보다 작으면, 최소값의 거리를 갖는 제1 군집의 밑으로 관심 원소를 이동시켜 제1 군집의 특정 원소의 자손인 원소의 형제 노드로 관심 원소를 삽입하는 단계를 포함한다.
일실시예에서, 상기 삽입하는 단계는, 거리의 최소값이 미리 설정된 값보다 작을 때 관심 원소를 제1 군집의 왼쪽 자손 노드(XCl)의 형제 노드로 삽입하거나 제1 군집의 오른쪽 자손 노드(XCr)의 형제 노드로 삽입할 수 있다.
일실시예에서, 관심 원소가 특정 군집의 형제 노드로서 바로 옆에 삽입되는 경우를 나타내면 수학식 9와 같고, 관심 원소가 제1 군집의 왼쪽 자손 노드(XCl)의 형제 노드로서 삽입되는 경우를 나타내면 수학식 10과 같고, 관심 원소가 제1 군집의 오른쪽 자손 노드(XCr)의 형제 노드로서 삽입되는 경우를 나타내면 수학식 11과 같으며, 수학식 9, 10 및 11에서 포텐셜 함수가 가장 큰 경우는 왼쪽 자손 노드와 오른쪽 자손 노드 사이의 거리가 가장 가까운 경우이다.
일실시예에서, 관심 원소로 새로운 군집을 형성하는 단계는, 데이터의 자손 원소들에 대한 자손 노드들 사이의 거리 중 왼쪽 자손 노드와 오른쪽 자손 노드 사이의 거리가 가장 작을 때 수행될 수 있다.
일실시예에서, 자손 원소의 형제 노드로 관심 원소를 삽입하는 단계는, 왼쪽 자손 노드와 관심 원소 사이의 거리가 가장 작거나 오른쪽 자손 노드와 관심 원소 사이의 거리가 가장 작을 때 수행될 수 있다.
일실시예에서, 점층적 클러스터링 방법은, 왼쪽 자손 노드와 오른쪽 자손 노드 사이의 거리가 가장 작으면 관심 원소를 특정 군집의 형제 노드로서 특정 군집의 바로 옆에 삽입한 후 현재의 순차 삽입 알고리즘의 수행을 종료하는 단계, 및 순차 삽입 알고리즘의 수행을 종료하는 단계 이전에, 왼쪽 자손 노드와 관심 원소 사이의 거리가 가장 작으면 관심 원소를 왼쪽 자손 노드의 형제 노드로서 삽입하고, 오른쪽 자손 노드와 관심 원소 사이의 거리가 가장 작으면 관심 원소를 오른쪽 자손 노드의 형제 노드로서 삽입한 후 왼쪽 자손 노드와 오른쪽 자손 노드 사이의 거리가 가장 작을 때까지 순차 삽입 알고리즘을 반복 수행하는 단계를 더 포함할 수 있다.
일실시예에서, 점층적 클러스터링 방법은, 순차 삽입 알고리즘의 수행을 통해 데이터의 모든 원소들이 트리에 삽입되면, 데이터의 군집화를 의미하는 이진 트리 또는 점층적 트리를 구축하고 데이터에 대한 군집화를 완료하며 이진 트리 또는 점층적 트리로부터 최적의 군집 개수를 획득하는 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따르면, 전술한 실시예들 중 어느 하나의 점층적 클러스터링 방법을 구현한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체가 제공될 수 있다.
본 발명의 또 다른 측면에 따르면, 데이터의 원소들 중 어느 하나의 관심 원소와 다른 원소들의 트리들이 형성하는 군집과의 거리를 비교하는 비교부, 거리의 최소값이 미리 설정된 값 이상이면 관심 원소를 특정 군집의 형제 노드로서 특정 군집의 바로 옆에 삽입하여 관심 원소로 새로운 군집을 형성하는 군집형성부, 및 거리의 최소값이 미리 설정된 값보다 작으면 최소값의 거리를 갖는 제1 군집의 밑으로 관심 원소를 이동시켜 제1 군집의 특정 원소의 자손인 원소(자손 원소)의 형제 노드로 관심 원소를 삽입하는 삽입부를 포함한다.
일실시예에서, 삽입부는 거리의 최소값이 미리 설정된 값보다 작을 때 관심 원소를 제1 군집의 왼쪽 자손 노드(XCl)의 형제 노드로 삽입하거나 제1 군집의 오른쪽 자손 노드(XCr)의 형제 노드로 삽입할 수 있다.
일실시예에서, 포텐셜 함수가 가장 큰 경우는 왼쪽 자손 노드와 오른쪽 자손 노드 사이의 거리가 가장 가까운 경우를 포함할 수 있다.
일실시예에서, 비교부, 군집형성부, 삽입부 및 위치결정부는 1개 이상의 프로세서에 탑재될 수 있다.
일실시예에서, 프로세서는, 왼쪽 자손 노드와 오른쪽 자손 노드 사이의 거리가 가장 작으면 관심 원소를 특정 군집의 형제 노드로서 특정 군집의 바로 옆에 삽입하고 현재의 순차 삽입 알고리즘을 종료할 수 있다. 또한, 프로세서는 왼쪽 자손 노드와 관심 원소 사이의 거리가 가장 작으면 관심 원소를 왼쪽 자손 노드의 형제 노드로서 삽입하고, 오른쪽 자손 노드와 관심 원소 사이의 거리가 가장 작으면 관심 원소를 오른쪽 자손 노드의 형제 노드로서 삽입한 후, 왼쪽 자손 노드와 오른쪽 자손 노드 사이의 거리가 가장 작을 때까지 순차 삽입 알고리즘을 반복 수행할 수 있다.
일실시예에서, 프로세서는, 순차 삽입 알고리즘의 수행을 통해 데이터의 모든 원소들이 트리에 삽입되면, 데이터의 군집화를 의미하는 이진 트리 또는 점층적 트리를 구축하고 데이터에 대한 군집화를 완료하며 이진 트리 또는 점층적 트리로부터 최적의 군집 개수를 획득할 수 있다.
본 발명에 의하면, 의존 정규화 랜덤 측도 혼합 모델을 이용해서 트리 기반의 서로 연관된 여러 개의 데이터를 효과적으로 클러스터링하는 점층적 클러스터링 방법 및 장치를 제공할 수 있으며, 그에 의해 여러 개의 연관된 데이터를 군집의 개수에 대한 사전 정보 없이 효율적으로 클러스터링 할 수 있고, 실시간으로 갱신되는 데이터나 대용량 데이터의 경우에도 효율적인 클러스터링이 가능하다는 장점이 있다.
도 1은 본 발명의 일실시예에 따른 점층적 클러스터링 장치의 개략도
도 2는 본 발명의 일실시예에 따른 점층적 클러스터링 방법의 순서도
도 3은 본 발명의 다른 실시예에 따른 점층적 클러스터링 장치의 블록도
도 4는 본 발명의 다른 실시예에 따른 점층적 클러스터링 방법의 흐름도
도 5는 본 발명의 기반 기술인 베이지안 계층적 군집화를 도시한 개념도
도 6은 본 발명의 핵심 기술인 점층적 베이지안 계층적 군집화의 일실시예를 도시한 개념도
도 7은 본 발명의 핵심 기술인 순차 삽입 알고리즘의 도시한 개념도
도 8은 본 발명의 일실시예의 따른 클러스터링의 결과와 비교예에 따른 클러스터링의 결과를 표 형태로 정량적으로 나타낸 도면
도 9는 본 발명의 일실시예의 따른 클러스터링의 결과와 비교예에 따른 클러스터링의 결과를 분포 그래프 형태로 정성적으로 나타낸 도면
도 2는 본 발명의 일실시예에 따른 점층적 클러스터링 방법의 순서도
도 3은 본 발명의 다른 실시예에 따른 점층적 클러스터링 장치의 블록도
도 4는 본 발명의 다른 실시예에 따른 점층적 클러스터링 방법의 흐름도
도 5는 본 발명의 기반 기술인 베이지안 계층적 군집화를 도시한 개념도
도 6은 본 발명의 핵심 기술인 점층적 베이지안 계층적 군집화의 일실시예를 도시한 개념도
도 7은 본 발명의 핵심 기술인 순차 삽입 알고리즘의 도시한 개념도
도 8은 본 발명의 일실시예의 따른 클러스터링의 결과와 비교예에 따른 클러스터링의 결과를 표 형태로 정량적으로 나타낸 도면
도 9는 본 발명의 일실시예의 따른 클러스터링의 결과와 비교예에 따른 클러스터링의 결과를 분포 그래프 형태로 정성적으로 나타낸 도면
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일실시예에 따른 점층적 클러스터링(incremental clustering) 장치의 개략적인 블록도이다.
도 1을 참조하면, 본 실시예에 따른 점층적 클러스터링 장치(100)는 비교부110), 군집형성부(120) 및 삽입부(130)를 포함한다.
비교부(110)는 데이터의 원소들 중 어느 하나의 관심 원소로부터 다른 원소들의 트리들이 형성한 군집(군집들)과의 거리를 비교한다. 여기서, 데이터는 전처리 수단을 통해 정렬된 것으로 가정한다.
비교부(110)는 스트리밍 동영상 신호 등의 데이터에서 지속적으로 갱신되는 상황이나 물체의 경로를 군집화하기 위해 프레임들 간의 픽셀을 비교하여 위치에 따른 물체의 운동 경로를 계산할 수 있는 수단이나 이러한 수단에 상응하는 기능을 수행하는 구성부로 구현될 수 있다. 예를 들어, 비교부(110)는 프로세서의 일부 기능부 혹은 구성부로 구현될 수 있으나, 이에 한정되지는 않는다.
군집형성부(120)는, 비교부(110)에서 비교된 상기 거리의 최소값이 1 이상일 때, 관심 원소를 데이터의 다수의 군집 중 하나(이하, 특정 군집이라 함)의 형제 노드로서 특정 군집의 바로 옆에 삽입하여 관심 원소로 새로운 군집을 형성한다. 본 실시예에서 거리의 최소값은 미리 설정된 값의 하나로서 "1"로 설명하나, 이에 한정되지는 않으며, 거리의 비율이나 기준을 다르게 설정함으로써 1보다 작거나 1보다 큰 값을 사용하는 것이 가능하다.
군집형성부(120)는 비교부(110)의 출력단에 연결되어 비교부(110)의 특정 비교 결과에 따라 관심 원소로 새로운 군집을 형성하는 것으로서, 영상처리장치나 프로세서의 일부 기능부 혹은 구성부로 구현될 수 있으나, 이에 한정되지는 않는다.
삽입부(130)는, 비교부(110)에서 비교된 상기 거리의 최소값이 1보다 작을 때, 최소값의 거리를 갖는 군집(이하, 제1 군집이라 함)의 밑으로 관심 원소를 이동시켜 특정 군집의 특정 원소의 자손인 원소의 형제 노드로 관심 원소를 삽입한다. 여기서, 최소값의 거리를 갖는 제1 군집은 데이터의 다수의 군집 중 하나인 특정 군집과 동일할 수 있으나, 이에 한정되지는 않고, 서로 다른 군집일 수 있다.
삽입부(130)는, 비교부(110)의 출력단에 연결되어 비교부(110)의 특정 비교 결과에 따라 관심 원소를 제1 군집 밑으로 이동시키는 것으로서, 영상처리장치나 프로세서의 일부 기능부 혹은 구성부로 구현될 수 있으나, 이에 한정되지는 않는다.
본 실시예에 의하면, 여러 개의 연관된 데이터를 군집의 개수에 대한 사전 정보 없이 효율적으로 클러스터링 할 수 있고, 실시간으로 갱신되는 데이터나 대용량 데이터의 경우에도 효율적인 클러스터링 할 수 있다.
도 2는 본 발명의 일실시예에 따른 점층적 클러스터링 방법의 순서도이다.
본 실시예에 따른 점층적 클러스터링 방법은 도 1의 점층적 클러스터링 장치(100)에서 실행될 수 있으나, 이에 한정되지는 않는다.
도 2를 참조하면, 본 실시예에 따른 점층적 클러스터링 방법은, 입력된 데이터의 관심 원소와 군집 간의 거리(d)를 비교한다(S211). 여기서, 군집은 데이터의 원소들의 트리들이 형성한 군집을 지칭한다.
상기 단계(S211)에서의 비교 결과, 거리(d)의 최소값이 1 이상이면, 점층적 클러스터링 방법은 관심 원소로 새로운 군집을 형성한다(S212). 여기서, 새로운 군집은 특정 군집의 형제 노드로서 특정 군집의 바로 옆에 삽입되는 군집일 수 있다. 특정 군집은 데이터의 여러 군집들 중 어느 하나일 수 있다.
한편, 상기 단계(S211)에서의 비교 결과, 거리(d)의 최소값이 1보다 작으면, 점층적 클러스터링 방법은 관심 원소를 제1 군집에 삽입한다(S213). 본 단계에서 점층적 클러스터링 방법은 거리(d)의 최소값을 갖는 군집(이하, 제1 군집이라 함)의 밑으로 관심 원소를 이동시켜 제1 군집의 특정 원소의 자손인 원소의 형제 노드로 관심 원소를 삽입할 수 있다.
다음, 관심 원소를 제1 군집에 삽입한 후, 데이터의 모든 원소가 트리에 삽입되었는지를 판단할 수 있다(S214). 본 단계(S214)에서의 판단 결과, 모든 원소가 트리에 아직 삽입되지 않았으면, 상기의 단계들(S211 내지 S213)을 재귀적으로 반복 수행하여 데이터의 모든 원소가 트리에 삽입되도록 동작한다.
또한, 상기 단계(S214)에서의 판단 결과, 모든 원소가 트리에 삽입되었으면, 현재의 순차 삽입 알고리즘의 수행을 완료할 수 있다. 모든 원소가 트리에 삽입되면 점층적 트리 또는 이진 트리가 구축될 수 있다. 여기서, 점층적 트리 또는 이진 트리는 데이터의 군집화를 의미하는 것으로 이를 통해 최적의 군집 개수를 획득할 수 있다.
한편, 전술한 실시예의 점층적 클러스터링 장치 및 방법에 있어서, 상술된 구성요소들은 물리적인 구분이 아니라 기능적인 구분에 의해서 정의되는 구성요소들로서 각각이 수행하는 기능들에 의해서 정의될 수 있다. 각각의 구성요소들은 하드웨어 및/또는 각각의 기능을 수행하는 프로그램 코드 및 프로세싱 유닛으로 구현될 수 있을 것이며, 두 개 이상의 구성요소의 기능이 하나의 구성요소에 포함되어 구현될 수도 있을 것이다. 따라서, 본 실시예에서 구성요소에 부여되는 명칭은 각각의 구성요소를 물리적으로 구분하기 위한 것이 아니라 각각의 구성요소가 수행하는 대표적인 기능을 암시하기 위해서 부여된 것이며, 구성요소의 명칭에 의해서 본 발명의 기술적 사상이 한정되지 않는 것임에 유의하여야 한다.
즉, 본 실시예의 점층적 클러스터링 방법은 기록매체에 컴퓨터가 읽을 수 있는 프로그램 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 기록된 데이터나 프로그램이 컴퓨터 시스템에 의해 읽혀질 수 있는 모든 종류의 기록장치나 저장수단을 포함한다. 예를 들어, 기록매체는 ROM, RAM, CD-ROM, DVD-ROM, 블루레이, 자기테이프, 플로피디스크, 광데이터 저장장치 등을 포함할 수 있고, 또한 캐리어 웨이브(예컨대, 인터넷을 통한 전송)의 형태로 구현될 수 있다.
또한, 본 실시예의 점층적 클러스터링 장치는 컴퓨터 장치에 탑재되는 프로세서의 적어도 일부 기능부나 이러한 기능부의 기능을 수행하는 적어도 일부 구성부로 구현될 수 있다.
도 3은 본 발명의 다른 실시예에 따른 점층적 클러스터링 장치의 블록도이다.
도 3을 참조하면, 본 실시예에 따른 점층적 클러스터링 장치(200)는, 프로세서(210), 메모리 시스템(220), 입출력장치(230) 및 통신장치(240)를 포함할 수 있다.
프로세서(210)는 도 1을 참조하여 앞서 설명한 점층적 클러스터링 장치(100)를 모듈 형태로 탑재할 수 있다. 이 경우, 점층적 클러스터링 장치(100)의 비교부, 군집형성부 및 삽입부는 비교 모듈, 군집형성 모듈 및 삽입 모듈 형태로 프로세서(210)에 탑재되어 각각의 기능을 수행할 수 있다.
또한, 프로세서(210)는 비교 모듈에 의한 비교 결과, 군집의 왼쪽 또는 오른쪽 자손 노드와 관심 원소 사이의 거리가 가장 작으면 관심 원소를 해당 자손 노드의 형제 노드로서 삽입한 후, 왼쪽 자손 노드와 오른쪽 자손 노드 사이의 거리가 가장 작을 때까지 순차 삽입 알고리즘이 반복 수행되도록 삽입 모듈의 출력단과 비교 모듈의 입력단 사이에 연결되는 순환 모듈(140)을 더 포함할 수 있다. 이 경우,순환 모듈(140)은 도 1의 점층적 클러스티링 장치(100)에 포함가능한 순환부(도 2의 140 참조)에 대응될 수 있다.
전술한 프로세서(210)는 메모리 시스템(220)에 저장된 프로그램을 수행하거나, 입출력장치(230)를 통해 입력되는 신호에 따라 동작하거나, 통신 장치(240)를 통해 수신되는 신호에 따라 동작하여 점층적 클러스터링 방법을 수행할 수 있다. 프로세서(210)는 계산을 수행하는 연산장치(Arithmetic Logic Unit: ALU), 데이터 및 명령어의 일시적인 저장을 위한 레지스터, 및 미들웨어 간 인터페이스 장치를 제어하거나 관리하기 위한 컨트롤러를 구비할 수 있다. 또한, 프로세서(210)는, 점층적 클러스터링을 위한 비교 모듈, 군집형성 모듈 및 삽입 모듈을 레지스터의 소정 영역에 각각 저장하고, 이를 이용하여 점층적 클러스터링 방법을 수행할 수 있다.
프로세서(210)는 디지털(Digital) 사의 알파(Alpha), MIPS 테크놀로지, NEC, IDT, 지멘스(Siemens) 등의 MIPS, 인텔(Intel)과 사이릭스(Cyrix), AMD 및 넥스젠(Nexgen)을 포함하는 회사의 x86 및 IBM과 모토롤라(Motorola)의 파워PC(PowerPC)와 같이 다양한 아키텍쳐(Architecture)를 구비할 수 있다.
메모리 시스템(220)은 RAM(Random Access Memory)과 ROM(Read Only Memory) 같은 저장 매체 형태의 메인 메모리와, 플로피 디스크, 하드 디스크, 테이프, CD-ROM, 플래시 메모리 등의 장기(long-term) 저장 매체 형태의 보조 메모리를 포함할 수 있다.
입출력장치(230)는 이기종 장치의 미들웨어와 연결될 수 있고, 사용자 인터페이스를 포함할 수 있다. 입출력장치(230)는 입력 포트, 출력 포트, 키보드, 마우스, 디스플레이 장치, 터치 패널 또는 이들의 조합으로 구현될 수 있다. 키보드나 마우스는 예컨대 터치 스크린 또는 마이크로폰과 같은 물리적 변환기(Physical transducer) 등을 포함할 수 있다. 또한, 입출력장치(230)는 사용자 인터페이스(UI)의 입력 또는 질의에 응답하거나 장치의 관리를 위한 그래픽 화면을 제공하기 위해 동영상 보드를 포함할 수 있다.
통신장치(240)는 네트워크를 통해 다른 통신 장치와 연결될 수 있다. 또한, 통신장치(240)는 네트워크를 통해 점층적 클러스터링 방법을 구현하는 프로그램을 실시간 수신할 수 있다. 통신장치(240)는 미들웨어나 사용자 인터페이스와 통신을 수행하는 네트워크 인터페이스로서, 유선, 무선 또는 이들 모두를 위한 인터페이스를 포함할 수 있다.
본 실시예에 의하면, 프로세서, 메모리 시스템, 입출력장치 및 통신장치를 포함하는 컴퓨터 장치에 점층형 클러스터링 장치의 모듈들을 탑재시키거나 점층형 클러스터링 방법을 구현하는 프로그램을 저장, 입력 혹은 전송하여 점층형 클러스터링을 수행하는 장치를 구현할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 점층적 클러스터링 방법의 흐름도이다.
도 4를 참조하면, 본 실시예에 따른 점층적 클러스터링 방법은, 데이터를 전처리하는 단계(S100) 및 정렬된 데이터를 점층적으로 클러스터링하는 단계(S200)를 포함할 수 있다.
데이터를 전처리하는 단계(S100)는 서로 연관된 여러개의 데이터를 몇 개의 조각으로 나누어 데이터 전처리 단계(S110)를 포함할 수 있다. 여기서, 서로 연관된 데이터는 스트리밍 동영상과 같이 데이터의 전체가 한번에 주어지지 않고 일부가 지속적으로 갱신되는 데이터이거나 지속적으로 쌓이는 데이터로서 데이터의 크기가 매우 커서 한번에 군집화하기 힘든 데이터를 포함할 수 있다.
정렬된 데이터를 점층적으로 클러스터링하는 단계(S200)는, 순차 삽입을 통한 점층적 트리를 구축하는 제1 단계(S210)와, 점층적 트리로부터 군집화를 도출하는 제2 단계(S220)를 포함할 수 있다.
제1 단계(S210)는 도 2를 참조하여 앞서 설명한 단계들을 포함할 수 있다. 그리고, 제2 단계(S210)는 데이터의 모든 원소들이 트리에 삽입되었을 때 데이터의 군집화를 의미하는 이진 트리 또는 점층적 트리를 구축하고 데이터에 대한 군집화를 완료하며 이진 트리 또는 점층적 트리로부터 최적의 군집 개수를 획득하는 단계들을 포함할 수 있다. 이러한 점층적 클러스터링 단계(S200)는 도 5 내지 도 9를 참조하는 아래의 상세 설명으로부터 더욱 명확하게 될 것이다.
이하의 설명에서는, 비모수 베이지안 클러스터링 모델(nonparametric Bayesian clustering model)과 의존 정규화 랜덤 측도(dependent normalized random measure) 그리고 본 발명의 기반이 되는 베이지안 계층적 클러스터링 (Bayesian hierarchical clustering)를 먼저 설명한 후, 본 발명의 일 실시예에 따라 생성되는 데이터 클러스터링 방법에 대해 상세하게 설명하기로 한다.
비모수 베이지안 클러스터링 모델
클러스터링(clustering)하고자 하는 데이터를 집합 으로 표현할 수 있다. 데이터의 클러스터링 π는 X의 원소들의 인덱스(index)의 집합 을 분할(partition)하는 부분집합들의 집합을 의미한다. 이때, 각 부분집합들은 서로 공통되는 원소들이 없어야 하고, 모든 부분집합들의 합집합은 원래의 집합 이 되어야 한다.
비모수 베이지안 클러스터링 모델에서는 이러한 클러스터링 π를 확률 변수로 취급하여 특정 사전 분포를 통해 생성할 수 있다.
본 실시예에서는 정규화 랜덤 측도(normalized random measure)를 이용해서 클러스터링을 생성한다고 가정한다. 정규화 랜덤 측도에서는 먼저 랜덤 측도 μ를 생성하고, 랜덤 측도로부터 데이터의 클러스터링과 각 군집을 표현하는 매개변수(parameter)를 생성할 수 있다.
또한, 수학식 1에서 μ와 θ 역시 확률 변수이므로 일련의 생성 과정을 나타내는 확률 를 얻을 수 있으며, 여기서 μ와 θ를 주변화(marginalize out)하면 데이터의 클러스터링이 생성될 확률을 의미하는 를 얻을 수 있다.
여기서, Γ는 감마 함수(Gamma function)를 의미한다.
를 사전 분포로 이용하면, 주어진 데이터 X와 클러스터링 π의 확률 을 계산할 수 있다. 베이즈 정리(Bayes’theorem)을 이용하면 데이터가 주어졌을 때 클러스터링의 사후 분포(posterior distribution) 를 다음의 수학식 3과 같이 계산할 수 있다.
위의 수학식 3에서 사후 분포의 확률값은 클러스터링 π가 데이터 X를 얼마나 잘 설명하는가를 의미하며, 이 확률값을 최대화함으로써 가장 적절한 클러스터링 개수를 찾을 수 있게 된다. 사전 분포 에 의해 생성되는 클러스터링은 군집의 개수에 제약이 없는 가능한 모든 클러스터링을 포함하므로, 클터스터링의 사후 분포 를 최대화하는 π를 찾으면 가장 적절한 군집의 개수가 자동으로 선택할 수 있게 된다.
하지만, 클러스터링의 사후 분포 를 정확하게 계산하기 위해서는 가능한한 모든 클러스터링에 대한 확률(값) 을 계산해야 하는데, 가능한 모든 클러스터링의 개수가 매우 많으므로 일반적으로 이를 정확하게 계산하는 것은 불가능하다.
따라서 통상 가능한 모든 클러스터링이 아닌 일부의 클러스터링에 대한 확률값만 계산하여 사후분포의 확률값을 근사하는 방법이 이용된다. 대표적인 근사 방법으로는 마르코프 체인 몬테 카를로 샘플링(Markov chain Monte Carlo Sampling, 이하 MCMC)과 변분 추론 방법(variational inference)이 있다.
의존 정규화 랜덤 측도
이제 클러스터링 하고자 하는 데이터가 하나가 아닌 연관된 여러개의 데이터 로 주어진다고 가정하자. Xt는 t번째 데이터를 의미하고, 로 쓸 수 있으며, 개개의 원소 xti는 t번째 데이터의 i번째 원소를 의미할 수 있다.
각 데이터 Xt는 정규화 랜덤 측도 μt를 이용해 비모수 베이지안 클러스터링 모델로 구성한다. 정규화 랜덤 측도 μt로부터 생성된 각 데이터 Xt의 클러스터링을 πt라고 하면, 데이터 클러스터링의 목표는 사후분포 를 최대화하는 것이 된다.
이때, 인접한 시간의 데이터 Xt와 Xt+1은 유사하므로, 그들의 클러스터링 πt와 πt+1도 유사해야 한다. 따라서, 정규화 랜덤 측도 μt와 μt+1은 서로 의존성을 지닌 유사한 랜덤 측도가 되어야 한다.
이를 모델링하기 위한 기법이 혼합된 정규화 랜덤 측도 (mixed normalized random measure, 이하 MNRM)인데, 서로 연관된 랜덤 측도들을 생성하는 모델이다. MNRM에서는 R개의 기저 측도(basis measure) 가 존재하며, 각 영상을 생성하는 랜덤 측도 μt는 다음의 수학식 4와 같이 표현될 수 있다.
즉, 각각의 랜덤 측도 μt는 기저 측도들의 선형 결합으로 표현되며, 선형 결합의 비율(weight)은 qtr에 의해 결정된다. 만약 t와 t'의 값이 비슷하다면 그들의 선형 결합 비율 qtr과 qt'r이 비슷해지므로, 결과적으로 랜덤 측도 μt와 μt'도 비슷한 값을 가지게 되고 클러스터링 πt와 πt+1도 유사한 값을 가지게 된다.
MNRM의 사후분포 는 디리클레 과정에서와 마찬가지로 MCMC를 이용해 근사적으로 추론할 수 있지만, MCMC는 데이터의 크기가 클 경우 시간이 매우 오래 걸리고, 점층적 추론이 불가능한 단점이 있다.
따라서 본 발명의 실시예에서는 MNRM의 사후 분포를 대용량 데이터에서도 효과적이고 점층적으로 추론할 수 있는 방법을 제안한다.
베이지안 계층적 클러스터링
베이지안 계층적 클러스터링(Bayesian hierarchical clustering, 이하 BHC)은 계층적 클러스터링의 확률론적 방법이면서, 동시에 디리클레 과정 혼합 모델의 사후 분포 확률 를 효율적으로 최대화하기 위한 추론 방법이다.
BHC는 계층적 클러스터링 방법에서처럼 데이터 X의 원소들을 트리(tree)의 리프 노드(leaf node)로 구성한 후 거리가 가장 가까운 노드들을 반복적으로 합쳐서 이진 트리(binary tree)를 구성한다. 이 이진 트리는 데이터의 클러스터링의 계층적 구조를 표현하는데, 노드 사이의 거리는 노드를 합쳐야 할 확률값으로 표현된다. 이 확률값은 통상 디리클레 과정 혼합 모델을 이용해 계산된다. 더 자세히 서술하자면, Xl과 Xr을 노드의 쌍이라고 할 때, 트리의 확률은 다음의 수학식 5와 같이 쓸 수 있다.
여기서, H1은 두 노드가 하나의 군집에서 생성되었음을 가정하며, H2는 두 노드가 두 개 이상의 군집에서 생성되었음을 가정한다. 각 가정에 대한 사전 확률 p(H1)과 p(H2)는 디리클레 과정을 이용해 계산할 수 있다.
즉, p(H1)+p(H2)=1의 식을 이용해 두 노드가 합쳐질 확률, 즉 H1의 사후분포를 베이즈 정리를 이용해서 다음의 수학식 6과 같이 계산할 수 있다.
수학식 6에 있어서, 만약에 확률값이 0.5 이상이면 노드의 쌍 Xl과 Xr이 합쳐져야 될 확률이 그렇지 않을 확률보다 크다는 뜻이므로, 두 노드를 연결해 새로운 부모 노드를 만들면 된다. 반대로 확률값이 0.5보다 작을 경우는 두 노드를 합치지 않는다.
앞서 언급한 것처럼 BHC에서는 매 반복 과정마다 사후분포 가 가장 큰 노드의 쌍을 찾아 합치는데, 만약 사후분포의 최대값이 0.5보다 작을 경우 반복 과정이 중단되고 더이상 이진 트리를 합치지 않는다. 이때 생성된 최고 레벨 노드(top-level node)들이 데이터를 가장 잘 설명하는 클러스터링 π, 즉 디리클레 혼합 과정의 를 최대화하는 π가 되고, 최고 레벨 노드의 개수가 가장 적절한 군집의 개수가 된다.
이와 관련하여 도 5에 도시한 본 실시예의 기반 기술인 베이지안 계층적 군집화(BHC)를 참조하면, BHC 방법은 두 노드 Xl과 Xr을 포함하고 트리의 아래로부터 형성되어온 이진 트리에서, 사후 분포 가 0.5보다 커지는 단계에서 합치는 과정을 중단하고 클러스터링을 종료하여 총 두 개의 군집을 찾음을 알 수 있다.
MNRM의 점층적 사후 분포 추론을 위한 트리 기반의 추론 방법
본 발명에서 제안하는 방법은 BHC를 상기한 MNRM의 사후 분포 추론에 맞게 개량한 방법이다. 노드의 쌍 Xl과 Xr이 있을 때, 이들을 포함하는 이진 트리의 포텐셜 함수(정규화 되지 않은 확률)는 다음의 수학식 7과 같이 기술할 수 있다.
여기서, T는 리프 노드간의 확률이고, H는 리프 노드가 합쳐질 확률이다.
이렇게 정의된 포텐셜 함수들을 이용하면, 계층적 클러스터링 과정에서 사용되는 노드가 합쳐질 확률(H1의 사후분포)을 다음의 수학식 8과 같이 쓸 수 있다.
수학식 8에서, d(Xl, Xr)은 두 노드가 합쳐질 확률에 반비례하는 양으로서, 두 노드 사이의 거리 역할을 한다.
즉, MNRM의 사후 분포 추론을 위해서는 디리클레 과정의 사후 분포 추론에서와 마찬가지로 거리가 가장 작은(혹은 합쳐질 확률이 가장 큰) 노드의 쌍을 차례로 합쳐 나가다가 거리의 최소값이 1보다 커질 경우(혹은 합쳐질 확률의 최대값이 0.5보다 작아질 경우) 클러스터링을 중단할 수 있다.
이처럼 이론적으로는 MNRM의 경우에도 하나의 데이터만을 클러스터링하는 디리클레 과정 모델처럼 계층적 클러스터링을 수행하면 되지만, 해당 방식은 점층적 방식이 아니므로 본 발명의 실시예에서 목표로 하는 점층적 클러스터링에 적용할 수 없다.
따라서 본 실시예에서는 베이지안 계층적 클러스터링을 점층적으로 수행하는 점층적 베이지안 클러스터링(incremental Bayesian hierarchical clustering, 이하 IBHC)을 제안한다.
기존의 BHC는 클러스터링할 데이터에 속하는 모든 원소들을 리프 노드로 구성하고, 모든 노드의 쌍 간의 거리를 계산하여야 하므로 데이터 개수가 n개일 때의 시간 복잡도가 O(n2)이다.
반면에, IBHC에서는 모든 노드의 쌍 간의 거리를 계산하지 않고, 데이터를 임의의 순서로 트리에 삽입하는 방식으로 트리를 만든다.
즉, 데이터 이 의 순서로 트리에 삽입된다고 가정하자. 첫 번째 원소 x1이 첫 번째 리프 노드가 되고, 은 차례로 트리에 삽입된다. 을 이용해 트리를 만들었고, 원소 xi를 이 트리에 삽입하는 상황을 가정한다.
도 6은 이러한 상황을 모식적으로 나타낸 개념도이다. 즉, 도 6은 본 발명의 핵심 기술인 점층적 베이지안 계층적 군집화의 일실시예를 도시한 개념도이다.
이는 원소 xi와 기존의 트리들이 형성한 군집 Xc사이의 거리 를 측정하여 비교할 때, 만약 거리의 최소값이 1 이상이면 원소 xi는 기존의 군집에 삽입되지 않고 새로운 군집을 형성할 수 있다.
그리고, 거리 의 최소값이 1보다 작으면, 원소 xi는 해당 군집 Xc에 삽입될 수 있다. 이때, 군집 Xc 안에서 원소 xi의 가장 적절한 위치를 결정해야 한다. 이를 위해 본 실시예에서는 순차 삽입 알고리즘(혹은 순차 삽입 방법)을 제안하여 이 문제를 해결한다.
도 7은 본 발명의 핵심 기술인 순차 삽입 알고리즘의 도시한 개념도이다.
본 실시예에 따른 순차 삽입 알고리즘(방법)에서 데이터의 관심 원소 xi는 특정 군집 Xc의 형제 노드로써 특정 군집 Xc의 바로 옆에 삽입될 수 있다. 또한, 원소 xi는 특정 군집 Xc(제1 군집)의 밑으로 들어가 c의 자손 노드인 cl이나 cr의 형제 노드로서 삽입될 수 있다.
위의 세 가지 경우에 대해 트리의 포텐셜 함수 값을 비교하면 다음과 같은 세 가지 결과를 얻을 수 있다.
첫째, 도 7(a)에 나타낸 바와 같이 원소 xi가 군집 Xc의 형제 노드로서 군집 Xc의 바로 옆에 삽입되는 경우이다. 이 경우, 포텐셜 함수 값을 나타내면 수학식 9와 같다.
둘째, 도 7(b)에 나타낸 바와 같이, 원소 xi가 군집 Xc의 왼쪽 자손 노드인 Xcl의 형제 노드로서 삽입되는 경우이다. 이 경우, 포텐셜 함수 값을 나타내면 수학식 10과 같다.
셋째, 도 7(c)에 나타낸 바와 같이, 원소 xi가 군집 Xc의 오른쪽 자손 노드인 Xcr의 형제 노드로서 삽입되는 경우이다. 이 경우, 포텐셜 함수 값을 나타내면 수학식 11과 같다.
위의 세 가지 경우의 포텐셜 함수의 값을 비교하려면 공통된 부분만 비교하면 된다는 것을 알 수 있다. 공통된 세 부분을 다시 쓰면, 수학식 12와 같이 된다.
결국 포텐셜 함수가 가장 큰 경우를 선택하려면, 거리 d가 가장 가까운 경우를 선택하면 된다는 것을 알 수 있다.
즉, 형제 노드 Xcl과 Xcr 사이의 거리가 가장 작으면 첫 번째 경우를 선택하고, 형제 노드 Xcl과 원소 xi 사이의 거리가 가장 작으면 두 번째 경우를 선택하고, 형제 노드 Xcr과 원소 xi 사이의 거리가 가장 작으면 세 번째 경우를 선택하면 된다.
만약, 첫 번째 경우가 선택되면, 본 실시예에 따른 점층적 클러스터링 장치는 원소 xi(관심 원소)를 특정 군집(Xc)의 형제 노드로서 특정 군집의 바로 옆에 삽입하고 순차 삽입 과정을 종료할 수 있다.
그리고, 만약 두 번째나 세 번째 경우가 선택되면, 점층적 클러스터링 장치는 관심 원소를 제1 군집의 하위로 집어넣고 다시 첫 번째 경우가 선택될 때까지 순차 삽입을 재귀적으로 반복할 수 있다.
본 실시예에 의하면, 점층적 클러스터링 장치에서 순차 삽입 알고리즘을 통해 모든 데이터들이 트리에 삽입되고 데이터의 모든 원소들이 트리에 삽입되면, 데이터의 클러스터링을 의미하는 점층적 트리(이진 트리 등)가 완성되어 최종적으로 원하는 결과인 클러스터링과 최적의 군집의 개수를 얻을 수 있다.
도 8은 본 발명의 실시예에 따른 점층적 클러스터링의 결과와 비교예의 클러스터링 결과를 표 형태로 정량적으로 나타낸 도면으로서, 본 실시예에서 제안하는 IBHC와 비교예의 MNRM의 사후 분포 추론을 위한 방법인 Gibbs sampler와 Sequential Monte Carlo(이하 SMC)를 비교하여 보여주고 있다.
도 8의 표(1)은 가우시안 혼합 분포(Mixture of Gaussians)에서 임의로 생성한 15개의 서로 연관된 데이터들을 클러스터링하여 MNRM의 사후 분포에서 최대화하고자 하는 목적함수인 로그 우도(log-likelihood)를 본 실시예와 비교예에서 각각 측정한 결과 데이터로서, 데이터 클러스터링에 대한 최적의 값을 찾기 위해 걸린 시간을 비교하여 보여준다.
도 8에 의하면, 본 실시예에서 제안하는 방법(IBHC)이 비교예의 방법들(Gibbs, SMC)보다 훨씬 짧은 시간 안에 로그 우도 관점에서 더욱 더 정확한 클러스터링을 찾아줌을 알 수 있다.
도 9는 본 발명의 실시예에 따른 클러스터링의 결과와 비교예의 클러스터링 결과를 그래프 형태로 정성적으로 나타낸 도면(사진)으로서, 본 실시예에서 제안하는 IBHC와 비교예의 방법들을 이용한 클러스터링 결과를 정성적으로 보여주고 있다.
도 9에서 보여주는 실험 결과는, 가우시안 혼합 분포에서 임의로 생성한 데이터들을 클러스터링 한 후 클러스터링 결과를 색상을 이용해 표시한 것이다. 도 9에서 (a)는 본 실시예를, (b)와 (c)는 비교예를 각각 나타낸다. 단일 색상으로 표시된 데이터들은 단일 군집에 속함을 의미한다. (b)와 (c)의 경우 (a)에 비해 서로 다른 색깔의 점들이 겹쳐 있는 경우가 많고 군집 간의 경계가 명확하지 않다.
도 9에 의하면, 본 실시예에서 제안하는 IBHC로 찾아낸 클러스터링이 비교예의 경우에 비해 정성적으로 가장 정답에 가까운 결과를 보여줌을 알 수 있다. 여기서, 정답에 가깝다는 의미는 육안으로 군집한 결과를 확인했을 때 본 실시예에서 제안하는 기법으로 군집화한 결과가 서로 다른 군집 간의 경계를 잘 구분하였다는 것을 의미한다.
이상에서와 같이 실시 예들을 중심으로 본 발명을 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시 예의 본질적인 기술내용을 벗어나지 않는 범위에서 실시예에 예시되지 않은 여러 가지의 조합 또는 변형과 응용이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 실시예들로부터 용이하게 도출가능한 변형과 응용에 관계된 기술내용들은 본 발명에 포함되는 것으로 해석되어야 할 것이다.
100, 200: 점층적 클러스터링 장치
110: 비교부
120: 군집형성부
130: 삽입부
140: 순환부
110: 비교부
120: 군집형성부
130: 삽입부
140: 순환부
Claims (15)
- 데이터의 원소들 중 어느 하나의 관심 원소와 다른 원소들의 트리들이 형성하는 군집과의 거리를 비교하는 단계;
상기 거리의 최소값이 미리 설정한 값 이상이면, 상기 관심 원소를 특정 군집의 형제 노드로서 상기 특정 군집의 바로 옆에 삽입하여 상기 관심 원소로 새로운 군집을 생성하는 단계; 및
상기 거리의 최소값이 상기 미리 설정한 값보다 작으면, 상기 최소값의 거리를 갖는 제1 군집의 밑으로 상기 관심 원소를 이동시켜 상기 제1 군집의 특정 원소의 자손인 원소의 형제 노드로서 상기 관심 원소를 삽입하는 단계를 포함하는 점층적 클러스터링 방법. - 청구항 1에 있어서,
상기 삽입하는 단계는, 상기 거리의 최소값이 상기 미리 설정된 값보다 작을 때 상기 관심 원소를 상기 제1 군집의 왼쪽 자손 노드(XCl)의 형제 노드로 삽입하거나 상기 제1 군집의 오른쪽 자손 노드(XCr)의 형제 노드로 삽입하는 점층적 클러스터링 방법. - 청구항 2에 있어서,
상기 관심 원소가 상기 특정 군집의 형제 노드로서 바로 옆에 삽입되는 경우를 나타내면 다음의 수학식 9와 같고,
[수학식 9]
상기 관심 원소가 상기 제1 군집의 상기 왼쪽 자손 노드(XCl)의 형제 노드로서 삽입되는 경우를 나타내면 다음의 수학식 10과 같고,
[수학식 10]
[수학식 11]
상기 관심 원소가 상기 제1 군집의 상기 오른쪽 자손 노드(XCr)의 형제 노드로서 삽입되는 경우를 나타내면 상기의 수학식 11과 같으며,
상기 수학식 9, 10 및 11에서 포텐셜 함수가 가장 큰 경우는 상기 왼쪽 자손 노드와 상기 오른쪽 자손 노드 사이의 거리가 가장 가까운 경우인 점층적 클러스터링 방법. - 청구항 3에 있어서,
상기 관심 원소로 새로운 군집을 생성하는 단계는, 상기 데이터의 자손 원소들에 대한 자손 노드들 사이의 거리 중 상기 왼쪽 자손 노드와 상기 오른쪽 자손 노드 사이의 거리가 가장 작을 때 수행되는 점층적 클러스터링 방법. - 청구항 4에 있어서,
상기 자손 원소의 형제 노드로 상기 관심 원소를 삽입하는 단계는, 상기 왼쪽 자손 노드와 상기 관심 원소 사이의 거리가 가장 작거나 상기 오른쪽 자손 노드와 상기 관심 원소 사이의 거리가 가장 작을 때 수행되는 점층적 클러스터링 방법. - 청구항 5에 있어서,
상기 왼쪽 자손 노드와 상기 오른쪽 자손 노드 사이의 거리가 가장 작으면 상기 관심 원소를 상기 특정 군집의 형제 노드로서 바로 옆에 삽입한 후 현재의 순차 삽입 알고리즘의 수행을 종료하는 단계; 및
상기 왼쪽 자손 노드와 상기 관심 원소 사이의 거리가 가장 작으면 상기 관심 원소를 상기 왼쪽 자손 노드의 형제 노드로서 삽입하고 상기 오른쪽 자손 노드와 상기 관심 원소 사이의 거리가 가장 작으면 상기 관심 원소를 상기 오른쪽 자손 노드의 형제 노드로서 삽입한 후 상기 왼쪽 자손 노드와 상기 오른쪽 자손 노드 사이의 거리가 가장 작을 때까지 상기 순차 삽입 알고리즘을 반복 수행하는 단계를 더 포함하는 점층적 클러스터링 방법. - 청구항 6에 있어서,
상기 순차 삽입 알고리즘의 수행을 통해 상기 데이터의 모든 원소들이 트리에 삽입되면, 상기 데이터의 군집화를 의미하는 이진 트리 또는 점층적 트리를 구축하고 상기 데이터에 대한 군집화를 완료하며 상기 이진 트리 또는 점층적 트리를 통해 최적의 군집 개수를 획득하는 단계를 더 포함하는 점층적 클러스터링 방법. - 청구항 1에 있어서,
상기 미리 설정된 값은 두 노드가 합쳐질 확률에 반비례하는 양으로서 1을 포함하는 점층적 클러스터링 방법. - 청구항 1 내지 청구항 8 중 어느 한 항의 점층적 클러스터링 방법을 실행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
- 데이터의 원소들 중 어느 하나의 관심 원소와 다른 원소들의 트리들이 형성하는 군집과의 거리를 비교하는 비교부;
상기 거리의 최소값이 미리 설정된 값 이상이면, 상기 관심 원소를 특정 군집의 형제 노드로서 상기 특정 군집의 바로 옆에 삽입하여 상기 관심 원소로 새로운 군집을 생성하는 군집형성부; 및
상기 거리의 최소값이 상기 미리 설정된 값보다 작으면, 상기 최소값의 거리를 갖는 상기 제1 군집의 밑으로 상기 관심 원소를 이동시켜 상기 제1 군집의 특정 원소의 자손인 원소의 형제 노드로 상기 관심 원소를 삽입하는 삽입부를 포함하는 점층적 클러스터링 장치. - 청구항 10에 있어서,
상기 삽입부는 상기 거리의 최소값이 상기 미리 설정된 값보다 작을 때 상기 관심 원소를 상기 제1 군집의 왼쪽 자손 노드(XCl)의 형제 노드로 삽입하거나 상기 제1 군집의 오른쪽 자손 노드(XCr)의 형제 노드로 삽입하는 점층적 클러스터링 장치. - 청구항 11에 있어서,
상기 관심 원소가 상기 특정 군집의 형제 노드로서 상기 특정 군집의 바로 옆에 삽입되는 경우를 표현하면 다음의 수학식 9와 같고,
[수학식 9]
상기 관심 원소가 상기 제1 군집의 왼쪽 자손 노드(XCl)의 형제 노드로서 삽입되는 경우를 표현하면 다음의 수학식 10과 같고,
[수학식 10]
[수학식 11]
상기 관심 원소가 상기 제1 군집의 오른쪽 자손 노드(XCr)의 형제 노드로서 삽입되는 경우를 표현하면 상기의 수학식 11과 같고,
상기 수학식 9, 10 및 11에서 포텐셜 함수가 가장 큰 경우는 상기 왼쪽 자손 노드와 상기 오른쪽 자손 노드 사이의 거리가 가장 가까운 경우인 점층적 클러스터링 장치. - 청구항 12에 있어서,
상기 비교부, 상기 군집형성부 및 상기 삽입부는 1개 이상의 프로세서에 탑재되는 점층적 클러스터 장치. - 청구항 13에 있어서,
상기 프로세서는, 상기 왼쪽 자손 노드와 상기 오른쪽 자손 노드 사이의 거리가 가장 작으면 상기 관심 원소를 상기 특정 군집의 형제 노드로서 바로 옆에 삽입하고 현재의 순차 삽입 알고리즘을 종료하고,
상기 왼쪽 자손 노드와 상기 관심 원소 사이의 거리가 가장 작으면 상기 관심 원소를 상기 왼쪽 자손 노드의 형제 노드로서 삽입하고, 상기 오른쪽 자손 노드와 상기 관심 원소 사이의 거리가 가장 작으면 상기 관심 원소를 상기 오른쪽 자손 노드의 형제 노드로서 삽입한 후, 상기 왼쪽 자손 노드와 상기 오른쪽 자손 노드 사이의 거리가 가장 작을 때까지 상기 순차 삽입 알고리즘을 반복 수행하는 점층적 클러스터링 장치. - 청구항 14에 있어서,
상기 프로세서는, 상기 데이터의 모든 원소들이 트리에 삽입되면 상기 데이터의 군집화를 의미하는 이진 트리 또는 점층적 트리를 출력하고 상기 데이터에 대한 군집화를 완료하며 상기 이진 트리 또는 점층적 트리로부터 최적의 군집 개수를 획득하는 점층적 클러스터링 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140170260A KR101735894B1 (ko) | 2014-12-02 | 2014-12-02 | 의존 정규화 랜덤 측도를 이용한 트리 기반의 점층적 클러스터링 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140170260A KR101735894B1 (ko) | 2014-12-02 | 2014-12-02 | 의존 정규화 랜덤 측도를 이용한 트리 기반의 점층적 클러스터링 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160066212A true KR20160066212A (ko) | 2016-06-10 |
KR101735894B1 KR101735894B1 (ko) | 2017-05-24 |
Family
ID=56190572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140170260A KR101735894B1 (ko) | 2014-12-02 | 2014-12-02 | 의존 정규화 랜덤 측도를 이용한 트리 기반의 점층적 클러스터링 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101735894B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102009454B1 (ko) * | 2017-12-26 | 2019-08-09 | 경희대학교 산학협력단 | 분산 클라우드 환경에서 실시간 데이터 처리의 지연 시간 최소화를 위한 지능적 데이터 전처리 시스템 및 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110067337A (ko) | 2009-12-14 | 2011-06-22 | 동국대학교 산학협력단 | 온톨로지를 이용한 문서의 다단계 군집화 방법 및 장치 |
KR20110085844A (ko) | 2010-01-19 | 2011-07-27 | 한국전자통신연구원 | 소셜 네트워크에서의 서픽스 트리 인덱싱 방법 및 장치 |
-
2014
- 2014-12-02 KR KR1020140170260A patent/KR101735894B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110067337A (ko) | 2009-12-14 | 2011-06-22 | 동국대학교 산학협력단 | 온톨로지를 이용한 문서의 다단계 군집화 방법 및 장치 |
KR20110085844A (ko) | 2010-01-19 | 2011-07-27 | 한국전자통신연구원 | 소셜 네트워크에서의 서픽스 트리 인덱싱 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR101735894B1 (ko) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sieranoja et al. | Fast and general density peaks clustering | |
Abu-El-Haija et al. | Learning edge representations via low-rank asymmetric projections | |
Bach et al. | Structured sparsity through convex optimization | |
De Boer et al. | A tutorial on the cross-entropy method | |
CN109214002A (zh) | 一种文本对比方法、装置及其计算机存储介质 | |
CN112085041B (zh) | 神经网络的训练方法、训练装置和电子设备 | |
CN112948575A (zh) | 文本数据处理方法、装置和计算机可读存储介质 | |
CN113821657A (zh) | 基于人工智能的图像处理模型训练方法及图像处理方法 | |
Kadavankandy et al. | The power of side-information in subgraph detection | |
Pham et al. | Unsupervised training of Bayesian networks for data clustering | |
KR101735894B1 (ko) | 의존 정규화 랜덤 측도를 이용한 트리 기반의 점층적 클러스터링 방법 및 장치 | |
Su et al. | Minimum description length and cognitive modeling | |
Rojo et al. | GaCoVi: a Correlation Visualization to Support Interpretability-Aware Feature Selection for Regression Models. | |
CN115168609A (zh) | 一种文本匹配方法、装置、计算机设备和存储介质 | |
Zhao et al. | Reconstructing images corrupted by noise based on D–S evidence theory | |
Gao et al. | Structured feature selection | |
CN111291182A (zh) | 热点事件发现方法、装置、设备及存储介质 | |
Lamine et al. | The threshold EM algorithm for parameter learning in bayesian network with incomplete data | |
Zhang et al. | Image segmentation by selecting eigenvectors based on extended information entropy | |
Hirayama et al. | Sparse and low-rank matrix regularization for learning time-varying Markov networks | |
Zhang et al. | Reinforcement learning cropping method based on comprehensive feature and aesthetics assessment | |
CN116127386B (zh) | 一种样本分类方法、装置、设备和计算机可读存储介质 | |
Wang et al. | Learning Fundamental Visual Concepts Based on Evolved Multi-Edge Concept Graph | |
CN114579762B (zh) | 知识图谱对齐方法、装置、设备、存储介质及程序产品 | |
CN116226686B (zh) | 一种表格相似性分析方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |