KR20150108173A - 보로노이 셀 기반의 서포트 클러스터링 장치 및 방법 - Google Patents

보로노이 셀 기반의 서포트 클러스터링 장치 및 방법 Download PDF

Info

Publication number
KR20150108173A
KR20150108173A KR1020140031027A KR20140031027A KR20150108173A KR 20150108173 A KR20150108173 A KR 20150108173A KR 1020140031027 A KR1020140031027 A KR 1020140031027A KR 20140031027 A KR20140031027 A KR 20140031027A KR 20150108173 A KR20150108173 A KR 20150108173A
Authority
KR
South Korea
Prior art keywords
data
clustering
representative point
cluster
representative
Prior art date
Application number
KR1020140031027A
Other languages
English (en)
Other versions
KR101577249B1 (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 KR1020140031027A priority Critical patent/KR101577249B1/ko
Publication of KR20150108173A publication Critical patent/KR20150108173A/ko
Application granted granted Critical
Publication of KR101577249B1 publication Critical patent/KR101577249B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification

Landscapes

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

Abstract

본 발명은 데이터 저장소에 저장되어 있는 데이터 집합에서 샘플 데이터를 추출하고, 상기 추출된 샘플 데이터로부터 각 클러스터를 정의하는 클러스터링 정의부; 및 상기 데이터 집합의 각 데이터를 상기 정의된 각 클러스터 중 하나로 할당하는 클러스터링 할당부;를 포함하되, 상기 클러스터링 정의부는 보로노이 셀(Voronoi cell)의 시드(seed)로 사용할 수 있는 대표점을 산출하여, 상기 대표점을 라벨링(labelling)함으로써 상기 각 클러스터를 정의하는 클러스터링 장치를 제공한다.

Description

보로노이 셀 기반의 서포트 클러스터링 장치 및 방법{DEVICE AND METHOD FOR VORONOI CELL-BASED SUPPORT CLUSTERING}
본 발명은 클러스터링 장치 및 방법에 관한 것이다.
클러스터링(clustering, 군집화)는 유사하거나 서로 관련있는 항목끼리 묶어서 다수의 클러스터(cluster, 이하 클러스터 또는 군집으로 지칭)로 분류하는 것으로, 이를 공간상에 나타내면 도 5에 도시되어 있는 예와 같은 모습을 보인다. 즉, 클러스터링은 각 객체들과 그들의 특징을 나타내는 데이터들을 가지고 서로 유사한 데이터들은 같은 군집으로 분류하고 각 군집들은 서로 다르게 하는 것이다.
이러한 군집화 분석은 군집화된 데이터들의 특성을 파악하기 위한 것으로 기계 학습, 이미지 분석, 정보 검색, 패턴 인식, 데이터 분석 등 매우 다양한 분야에서 사용된다. 따라서 다양한 군집화 방법이 개발되어 왔다.
그 중에서도 커널 서포트 군집화 방법(kernel support clustering), 즉, 커널을 사용하는 서포트 기반의 클러스터링 기법은 다른 군집화 방법에 비해서 복잡한 형태의 군집 경계를 만들 수 있고 이상치 데이터를 다루는 능력이 뛰어나 정확한 클러스터링이 가능하다는 장점이 있어 많이 연구되고 있다. 본 발명의 발명자도 동적 시스템 기법(dynamical system)을 사용하는 베이슨 셀 기반의 클러스터링 기법에 대한 특허를 출원한 적이 있다(출원번호 10-2007-00844468).
그러나 이러한 종래의 서포트 기반의 클러스터링은 클러스터링 연산 부하가 너무 높다는 문제가 있다. 특히 대용량 데이터를 처리할 때 어려움이 있다. 따라서 복잡한 형태의 클러스터를 정의할 수 있고 정확도가 높으면서도 연산 부하가 낮은 클러스터링 장치 및 방법이 필요하다.
본 발명과 관련하여 한국 등록특허 10-1024038("클러스터 센서 네트워크의 클러스터 구성방법 및 상기 방법이 적용된 센서 네트워크")에는 센서 네트워크의 센서 노드들을 클러스터링하는 구성이 개시되어 있다.
또한, 미국 공개 특허 US 2010-0036647("Efficient computation of Voronoi diagrams of general generators in general spaces and uses thereof")에는 보로노이 다이어그램을 생성하는 구성이 개시되어 있다.
본 발명은 전술한 문제를 해결하기 위한 것으로서, 그 목적은 연산 부하가 낮으면서도 정확도가 높은 클러스터링 장치 및 방법을 제공하는 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 제 1 측면에 따른 클러스터링 장치는 데이터 저장소에 저장되어 있는 데이터 집합에서 샘플 데이터를 추출하고, 상기 추출된 샘플 데이터로부터 각 클러스터를 정의하는 클러스터링 정의부; 및 상기 데이터 집합의 각 데이터를 상기 정의된 각 클러스터 중 하나로 할당하는 클러스터링 할당부;를 포함하되, 상기 클러스터링 정의부는 보로노이 셀(Voronoi cell)의 시드(seed)로 사용할 수 있는 대표점을 산출하여, 상기 대표점을 라벨링(labelling)함으로써 상기 각 클러스터를 정의하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 제 2 측면에 따른 클러스터링 장치를 사용하는 클러스터링 방법은 데이터 저장소에 저장되어 있는 데이터 집합에서 샘플 데이터를 추출하고, 상기 추출된 샘플 데이터로부터 각 클러스터를 정의하는 클러스터링 정의 단계; 및 상기 데이터 집합의 각 데이터를 상기 정의된 각 클러스터 중 하나로 할당하는 클러스터링 할당 단계;를 포함하되, 상기 클러스터링 정의 단계는 보로노이 셀(Voronoi cell)의 시드(seed)로 사용할 수 있는 대표점을 산출하여, 상기 대표점을 라벨링(labelling)함으로써 상기 각 클러스터를 정의하는 것을 특징으로 한다.
본 발명은 클러스터링 장치 및 방법에 있어, 연산 부하가 낮으면서도 정확도가 높다는 효과를 얻는다.
연산 복잡도가 높은 베이슨 셀 기반의 클러스터링 대신 보로노이 셀을 사용함으로써 연산 부하를 크게 낮출 수 있다.
또한, 필요한 데이터에 대해서는 베이슨 셀 기반의 클러스터링을 사용함으로써 복잡한 형태의 클러스터를 정의할 수 있고 정확하게 클러스터링할 수 있다는 장점을 유지할 수 있다.
도 1은 본 발명의 일실시예에 따른 클러스터링 장치의 구조를 도시하고 있다.
도 2는 본 발명의 일실시예에 따른 클러스터링 방법의 흐름을 도시하고 있다.
도 3은 본 발명의 일실시예에 따른 클러스터링 정의 단계의 흐름을 도시하고 있다.
도 4는 본 발명의 일실시예에 따른 클러스터링 할당 단계의 흐름을 도시하고 있다.
도 5는 클러스터링의 실시예를 도시하고 있다.
도 6은 베이슨 셀과 보로노이 셀을 비교 도시하고 있다.
도 7은 베이슨 셀의 개념을 도시하고 있다.
도 8은 보로노이 셀의 개념을 도시하고 있다.
도 9는 부분 그래프를 도시하고 있다.
도 10은 개념적으로 베이슨 셀 대신 보로노이 셀을 사용하는 실시예를 도시하고 있다.
도 11 내지 도 15는 본 발명의 효과를 검증하기 위한 실험 결과를 도시하고 있다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서는 먼저 도 1의 구조도 및 도 2 내지 도 4의 흐름도를 통해 본 발명의 일실시예에 따른 클러스터링 장치의 구조 및 본 발명의 일실시예에 따른 클러스터링 방법의 흐름을 간략히 살펴본 후, 도 5 내지 도 10의 도면을 통해 본 발명의 일실시예에 따른 베이슨 셀 기반 클러스터링의 개념을 좀더 자세히 설명하고, 이후 구체적인 수식 및 알고리즘을 살펴본 후, 도 21 내지 도 15의 실험 결과를 통해 본 발명의 효과를 검증한다.
도 1은 본 발명의 일실시예에 따른 클러스터링 장치의 구조를 도시하고 있다.
본 발명의 일실시예에 따른 클러스터링 장치(10)는 클러스터 정의부(100), 클러스터 할당부(200), 및 데이터 저장소(300)를 포함한다.
본 발명의 일실시예에 따른 클러스터링 장치(10)는 보로노이 셀(Voronoi cell) 기반의 커널 서포트 군집화 방법(kernel support clustering)을 사용하는데, 커널 서포트 군집화 방법은 크게 두 가지 단계로 나누어진다. 첫 번째 단계는 군집의 경계를 나타내는 서포트(support) 함수를 만드는 단계이고, 두 번째 단계는 서포트 함수를 통해 각 데이터들의 군집을 할당해주는 라벨링(labelling) 단계이다.
상기 두가지 단계는 각각 본 발명의 일실시예에 따른 클러스터링 장치(10)의 클러스터 정의부(100) 및 클러스터 할당부(200)에 의해 수행된다. 즉, 클러스터 정의부(100)는 서포트 함수를 만들어 각 클러스터를 정의하며, 클러스터 할당부(200)는 데이터를 정의된 클러스터 중 하나에 할당(라벨링)한다.
클러스터링할 데이터 및 클러스터링 결과는 데이터 저장소(300)에 저장될 수 있다. 예를 들어, 클러스터 정의부(100)는 데이터 저장소(300)에 저장되어 있는 데이터에서 추출한 샘플 데이터를 사용하여 클러스터를 정의할 수 있으며, 클러스터 할당부(200)가 데이터 저장소(300)에 저장되어 있는 데이터를 정의된 각 클러스터에 할당한 결과도 데이터 저장소(300)에 저장될 수 있다.
이때 베이슨 셀(basin cell)을 사용하여 클러스터를 정의하고 데이터를 라벨링하면, 데이터를 복잡한 형태의 클러스터들로 정확하게 분류할 수 있으나, 연산 부하가 높다. 따라서 본 발명의 일실시예에 따른 클러스터 정의부(100) 및 클러스터 할당부(200)는 보로노이 셀로 근사하여 클러스터 경계를 단순하게 정의한 후, 보로노이 셀로 근사시켜 정의된 클러스터 경계로 라벨링할 수 있는 데이터는 이를 이용하여 단순한 연산으로 라벨링하고, 그럴 수 없는 데이터에 대해서만 베이슨 셀을 사용하여 클러스터를 정의하였을 때의 라벨링하는 연산(예: 동적 시스템)을 사용함으로써, 정확도를 유지하면서도 연산 비용을 크게 감소시키는 효과를 갖는다.
도 2는 본 발명의 일실시예에 따른 클러스터링 방법의 흐름을 도시하고 있다.
먼저, 샘플 공간을 분할하여 클러스터를 정의한다(S100). 데이터 저장소(300)에 저장되어 있는 데이터 집합에서 샘플 데이터를 추출하고, 클러스터의 경계를 나타내는 서포트 함수를 만들어, 샘플 데이터의 공간을 다수의 클러스터로 분할한다.
다음, 데이터를 각 클러스터에 할당한다(S200). 즉, 서포트 함수를 통해 데이터 저장소(300)에 저장되어 있는 데이터를 라벨링한다.
도 3 내지 도 4는 본 발명의 일실시예에 따른 클러스터링 방법의 각 단계의 흐름을 도시하고 있다. 전술한 바와 같이 여기서는 각 단계의 흐름을 간략히 살펴보고, 자세한 내용은 후술한다.
도 3은 본 발명의 일실시예에 따른 클러스터링 정의 단계의 흐름을 도시하고 있다.
클러스터 정의(S100) 단계는 먼저, 데이터 샘플을 추출한다(S110).
다음, 서포트 함수 및 최적값을 산출한다(S120). 서포트 함수는 공식적인 정의는 후술하겠지만, 개념적으로는 데이터를 특징 공간(feature space)에 나타내었을 때의 등고선이라고 할 수 있다.
다음, 서포트 함수를 이용하여 동적 시스템을 구축하고 대표점을 산출한다(S130). 대표점은 후술하겠지만, 보로노이 셀의 시드(seed) 점으로 사용된다.
다음, 대표점을 이용하여 가중 그래프를 구축한다(S140).
다음, 부분 그래프로 변환한다(S150). 가중 그래프에서 임계값 이하의 가중치를 가지는 간선을 삭제하면 다수 개의 부분 그래프로 분할된다.
다음, 산출된 부분 그래프를 이용하여 각 대표점을 라벨링하여 클러스터 정의를 완료한다(S160).
도 4는 본 발명의 일실시예에 따른 클러스터링 할당 단계의 흐름을 도시하고 있다.
클러스터 할당(S200) 단계는 각 데이터에 대해(S210) 라벨링이 완료될 때까지(S260) 다음 단계들을 반복한다.
먼저, 데이터에서 가장 가까운 대표점과 다음으로 가까운 대표점을 산출한다(S220).
다음, 데이터와 두 대표점간 거리의 비율이 일정 수준 이상이거나, 또는 두 대표점이 같은 클러스터에 속하는지 판단한다(S230). 이는 전술한 바와 같이, 보로노이 셀을 사용하여 라벨링할 것인지 베이슨 셀 기반의 클러스터링 기법에서 사용하는 동적 시스템을 사용하여 라벨링할 것인지를 판단하는 단계이다.
보로노이 셀을 사용하여도 되면, 가장 가까운 대표점의 클러스터로 할당한다(S240).
보로노이 셀을 사용할 수 없으면, 동적 시스템을 이용하여 대표점 산출하고 산출한 대표점의 클러스터로 할당한다(S250).
이제, 도 5 내지 도 10을 통해 본 발명의 일실시예에 따른 베이슨 셀 기반 클러스터링의 개념을 좀더 자세히 설명한다.
도 5는 클러스터링의 실시예를 도시하고 있다.
(a)는 데이터 저장소(300)에 저장되어 있는 데이터들을 공간에 도시한 도면이며, (b)는 이를 다수 개의 클러스터로 분류한 결과를 도시한 도면이다. 도시되어 있는 바와 같이, 공간상에서의 서로간의 거리에 따라 데이터들은 다수 개의 클러스터로 분류된다.
따라서 클러스터링은 공간을 다수 개의 클러스터로 분할하는 것으로 볼 수 있다. 이에 대해 본 발명의 발명자는 기존에 베이슨 셀(basin cell)이라는 개념을 이용하여 클러스터의 경계를 정하는 특허를 출원한 바 있으며(출원번호 10-2007-00844468), 해당 특허는 복잡한 형태의 클러스터도 처리할 수 있다는 장점이 있으나, 전술한 바와 같이 연산 부하가 높다는 문제가 있어 본 발명에서는 이를 보로노이 셀로 단순화하였다.
도 6은 베이슨 셀과 보로노이 셀을 비교 도시하고 있으며, 도 7은 베이슨 셀의 개념을, 도 8은 보로노이 셀의 개념을 도시하고 있다.
먼저 도 7을 통해 베이슨 셀의 개념을 살펴보면, 어떤 함수의 기울기가 0이 되는 지점을 평형점(Stable Equilibrium Vector: SEV 또는 stable equilibrium point: SEP, 이하 평형점 또는 SEP)이라고 하면, 도시되어 있는 바와 같이, 베이슨 셀은 평형점으로 수렴하는 구간을 뜻한다. 따라서 각 평형점이 각 베이슨 셀을 대표할 수 있다.
다음, 도 8을 통해 보로노이 셀의 개념을 살펴보면, 보로노이 분할(Voronoi tessellation)은 시드(seed)라고 불리는 일련의 점을 사용하여 공간을 나누는 방법으로, 각 시드에 대해 다른 어떤 점보다 해당 시드에 가까운 위치에 있는 모든 점들로 구성된 영역을 보로노이 셀이라고 하며, 도 8과 같이 공간을 보로노이 셀들로 나눈 도면을 보로노이 다이어그램(Voronoi diagram)이라고 한다. 따라서 보로노이 셀에 포함되어 있는 점들은 다른 셀의 시드보다 해당 셀의 시드에 가까운 점들이므로, 보로노이 셀 기법이 클러스터링에 적합함을 알 수 있다.
본 명세서에서는 전술한 바와 같이 각 보로노이 셀의 시드를 대표점(representative equilibrium point: REP, 이하 대표점 또는 REP)으로 정의한다. 이 점은 도 7의 개념에서의 평형점이기도 하다. 즉, 본 발명의 일실시예에 따른 클러스터링 장치(10)는 각 베이슨 셀을 대표하는 점인 평형점을 각 보로노이 셀을 대표하는 점인 대표점으로 사용한다.
도 7 및 도 8의 개념을 통해 산출한 베이슨 셀과 보로노이 셀을 비교 도시하고 있는 도 6을 살펴보면, 도 6은 잘 알려진 2차원 인공 데이터 집합, (a) 2D-N200, (b) Four-Gaussian, (c) Two-circles, 및 (d) Three-circles에 대한 베이슨 셀(곡선)과 보로노이 셀(직선)을 도시하고 있다. 도시되어 있는 바와 같이, 보로노이 셀의 경계가 베이슨 셀의 경계에 매우 근사하도록 클러스터를 정의할 수 있음을 알 수 있다.
다만, 두 개의 인접한 대표점의 연결점(bridge)이 정확히 베이슨 셀 경계에 위치하지 않을 수 있기 때문에 보로노이 셀과 베이슨 셀이 정확히 일치하지는 않는 것을 보여준다. 따라서 전술한 바와 같이, 본발명의 일실시예에 따른 클러스터링 할당 단계(S200)는 데이터 라벨링을 보로노이 셀을 이용하여 하여도 되는지 판단하는 단계(S230)를 포함한다. 자세한 개념은 도 10에서 살펴본다.
도 9는 부분 그래프를 도시하고 있다.
도시되어 있는 바와 같이, 대표점을 정점으로 하고 간선에 가중치가 부여된 가중치 그래프를 구축한 후, 기준치 이하의 가중치를 갖는 간선(S3)을 제외하면, 다수 개의 부분 그래프로 분할할 수 있다. 각 부분 그래프가 하나의 보로노이 셀, 즉, 하나의 클러스터를 구성하게 된다. 가중치 그래프 및 부분 그래프의 개념은 전술한 바와 같은 본 발명자의 베이슨 셀을 이용한 클러스터링에 대한 출원에서 다룬 내용이므로 자세한 설명은 생략한다.
도 10은 개념적으로 베이슨 셀 대신 보로노이 셀을 사용하는 실시예를 도시하고 있다.
도면은 도 6에서 설명한 내용을 좀더 구체적으로 설명하기 위해 하나의 베이슨 셀과 대응되는 보로노이 셀을 도시하고 있다(대표점(R) 동일). 베이슨 셀(C1)은 도면과 같이 경계가 곡선으로 표현되므로, 클러스터의 형태가 복잡하더라도 데이터를 정확하게 라벨링할 수 있다. 반면 보로노이 셀(C2)는 경계가 직선으로 단순화되므로, 클러스터를 정의하는 연산 및 데이터를 클러스터에 할당하는 연산을 단순화할 수 있다.
(c)를 보면, 점 P1은 보로노이 셀과 베이슨 셀 모두 내부에 존재하므로, 베이슨 셀 대신 보로노이 셀을 사용하여도 해당 클러스터에 속하는 점으로 라벨링할 수 있다. 그러나 점 P2는 보로노이 셀 외부에 존재하나 베이슨 셀 내부에 존재하므로, 베이슨 셀 대신 보로노이 셀을 사용하면 해당 클러스터에 속하는 점으로 라벨링되지 않기 때문에, 베이슨 셀에서 사용한 방법을 사용하여야 한다.
따라서 해당 데이터 점(P2)에서 가장 가까운 대표점(R)과 다음으로 가까운 대표점(미도시)를 산출한 후(S220), 데이터와 두 대표점간 거리의 비율이 일정 수준 이상인지를 판단(S230)하는 것이다.
이상, 구체적으로 본 발명의 일실시예에 따른 보로노이 셀 기반 클러스터링에 대해 설명하기에 앞서, 기본적인 개념을 먼저 살펴보았다. 이제 본 발명의 일실시예에 따른 보로노이 셀 기반 클러스터링의 구체적인 수식 및 알고리즘을 좀더 자세히 살펴본다.
전술한 바와 같이, 커널 서포트 군집화 방법은 크게 두 가지 단계로 나누어진다. 첫 번째 단계는 군집의 경계를 나타내는 서포트 함수를 만드는 단계이고, 두 번째 단계는 서포트 함수를 통해 각 데이터들의 군집을 할당해주는 라벨링 단계이다.
1) 서포트 함수
Figure pat00001
는 n차원의 데이터를 양의 실수로 보내는 함수로 데이터 분포의 서포트를 측정한다. 이것은 다음과 같이 m 개의 연결된 서로소 집합으로 나누어진다.
Figure pat00002
(EQ-1-1)
여기서
Figure pat00003
는 연결된 서로소 집합으로
Figure pat00004
에 의해서 결정되는 각 m개의 군집에 해당한다. 전술한 바와 같이 도 5-(a)가 원래의 데이터이면, 도 5-(b)는 m개의 군집으로 나누어진 결과를 나타낸 것이다.
서포트 함수는 SVDD(Support Vector Domain Description) 방법에 의해서 생성될 수 있다. SVDD 방법은 데이터 점들을 고차원 특징 공간(Feature Space)으로 사상시키고, 이 특징 공간에서 대부분의 데이터를 포함하는 최소 반지름 구를 찾는 방법을 사용한다. 이렇게 찾아진 구를 다시 데이터 공간으로 역사상시키면 각각의 군집을 나타내는 m 개의 닫힌 집합으로 나누어 진다. 이 때, 가우시안 커널
Figure pat00005
를 가지고 SVDD 방법으로 훈련된 커널 서포트 함수를 구하면 다음 식 (EQ-1-2) 와 같다.
Figure pat00006
(EQ-1-2)
위 식에서
Figure pat00007
,
Figure pat00008
,
Figure pat00009
는 서포트 벡터와 그것들의 계수이다. 본 발명에서 사용하는 방법은 SVDD에만 국한되는 것이 아니라 데이터를 통해서 실험적으로 서포트 함수를 구하는 모든 방법에 적용될 수 있다.
2) 서포트 함수를 구한 후에는 라벨링 단계가 있다. 서포트 군집화 라벨링 방법에는 여러 가지 방법이 있는데, 근접성 그래프(Proximity Graph) 기반의 방법에는 Delaunay Diagram(DD), Minimum Spanning Tree(MST), K-nearest Neighbor(KNN)이 있다. 그러나 MST와 KNN의 방법은 중요한 모서리들을 놓칠 가능성이 있기 때문에 실제의 경계선과 다르게 잘 못 군집화 될 가능성이 있다. 이러한 문제를 해결하기 위하여 훈련된 서포트 함수의 위상학적 특징을 이용한 평형벡터 기반 군집화(Equilibrium Vector-based Cluster (EVC)) 방법이 제안되었다.
EVC 는 두 가지 단계로 이루어진다. 첫 번째 단계는 서포트 함수
Figure pat00010
와 연관된 식 (EQ-1-3) 과 같은 동적 시스템에 따라서 주어진 데이터를 몇 개의 서로소 집단으로 나누는 것이다.
Figure pat00011
(EQ-1-3)
여기서
Figure pat00012
는 모든 데이터
Figure pat00013
에 대해서 양의 정부호 행렬(Positive Definite Symmetric Matrix)이다.
Figure pat00014
가 식 (EQ-1-3)과 같은 동적 시스템과 관련된 시간 t 와 시작점 x 에 대한 함수라고 할 때, 각 초기값
Figure pat00015
에 대해서 유일한 해가 존재한다는 것은 함수
Figure pat00016
가 두 번 미분가능하고
Figure pat00017
의 norm이 제한되어 있다는 것으로 보장된다.
Figure pat00018
를 만족하는 스테이트 벡터(state vector)
Figure pat00019
를 식 (EQ-1-3) 과 같은 시스템의 평형벡터(equilibrium vector)라고 한다.
Figure pat00020
에서
Figure pat00021
의 자코비안(Jacobian) 행렬
Figure pat00022
이 0인 고유값이 없을 경우
Figure pat00023
를 Hyperbolic 하다고 한다. Hyperbolic Equilibrium Vector
Figure pat00024
는 (i) 헤시안(Hessian)의 모든 고유값이 양수일 경우 Stable Equilibrium Vector(SEV)라고 하며 (ii)그렇지 않을 경우 Unstable Equilibrium Vector(UEV)라고 한다. 여기서 SEV는 서포트 함수
Figure pat00025
의 국소 최소값에 해당한다.
귀납적 학습을 위한 EVC에서 중요한 개념으로 식 (EQ-1-3)과 관련된 베이슨 셀이 있다. SEV s의 베이슨 셀은 다음과 같이 동적 과정이 진행됨에 따라 s로 수렴하는 모든 점들의 집합을 의미한다. :
Figure pat00026
그리고 SEV s의 베이슨 셀이란 베이슨
Figure pat00027
의 Closure로서 정의 되며
Figure pat00028
로 나타낸다. :
Figure pat00029
이 때, 베이슨 셀의 경계는 베이슨 셀 Boundary라고 하며
Figure pat00030
로 나타낸다. 베이슨 셀의 좋은 특징 중 하나는 전체 데이터 공간이 어떤 조건 하에서는 다음 식 (EQ-1-4)와 같이 몇 개의 SEV의 베이슨 셀로 분할된다는 것이다.
Figure pat00031
(EQ-1-4)
여기서
Figure pat00032
는 식 (EQ-1-3)의 동적 시스템의 SEV들의 집합이다. 그러므로 전체 데이터 공간을 베이슨 셀로 분할할 수 있다. 이 때, 모든 데이터 점들이 위와 같은 동적 과정에 의해서 특정 SEV로 수렴하므로 SEV들을 찾아냄으로써 베이슨 셀을 파악할 수 있다. 그 다음, 두 번째 단계에서 SEV들의 adjacency 행렬을 이용하여 라벨링하거나, Transition Equilibrium Vector(TEV)를 이용하여 전체 데이터 공간을 라벨링한다.
또한 이 방법은 식 (EQ-1-1) 의 군집
Figure pat00033
가 다음의 식 (EQ-1-5)와 같은 더 큰 군집
Figure pat00034
로 확장될 수 있는 방식을 제공해 준다.
Figure pat00035
(EQ-1-5)
여기서
Figure pat00036
는 군집
Figure pat00037
에 있는 모든 SEV들을 나타낸다. 결과적으로 전체 데이터 공간은 다음의 식 (EQ-1-6)과 같이 더 확대된 군집으로 나누어질 수 있다.
Figure pat00038
(EQ-1-6)
그러므로 군집 경계선 밖에 위치한 bounded support vector들 뿐만 아니라 학습에 사용되지 않은 데이터에 대해서도 귀납적인 군집 라벨링을 할 수 있게 된다.
서포트 기반 군집화에서 quadratic programming 을 풀기 위해 널리 사용되는 알고리즘인 SMO 알고리즘은 커널 서포트 함수를 구성하기 위해
Figure pat00039
(
Figure pat00040
: 데이터의 개수) 의 커널 계산을 필요로 한다. 한편 클러스터 라벨링의 시간 복잡도는 대략
Figure pat00041
(
Figure pat00042
: 서포트 함수를 구성하는 서포트 벡터 개수, m : 각 커널 함수의 계산 횟수) 이다.
군집 라벨링을 빠르게 하고 서포트 벡터의 추정을 적게 하게 위해, 빠른 계산 과정을 위한 두 가지 주요 근사 방법을 이용한다. 1) 첫째, 전체 데이터의 서포트 추정치는 작은 데이터 샘플로부터 구한 서포트 추정치로 근사된다. 2) 둘째, 베이슨 셀을 이용한 분할된 군집 경계는 보로노이 셀로 근사된다. 보로노이 셀은 커널 서포트 함수의 명시적 호출 없이 각각의 데이터를 가장 가까운 대표점의 것으로 근사한다. 다음 절에서 이 방법의 세부 사항을 설명한다.
<샘플링과 서포트 레벨 함수 구축>
서포트 레벨 함수는 양수의 스칼라 함수
Figure pat00043
로 정의된다. 그리고 레벨집합
Figure pat00044
은 데이터 분포의 서포트 도메인(혹은 데이터 포인트의 대부분을 둘러싸는 도메인)을 추정한다. 이것은 다음과 같이 m 개의 연결된 서로소 집합으로 나누어진다.
Figure pat00045
(EQ-2-1)
일반적으로 서포트 레벨함수는 SVDD(Support Vector Domain Description) 방법, 또는 가우시안 과정 군집화나 다른 커널 분포 함수 추정을 이용한다. 본 발명에서는 서포트 함수를 추정하는데 있어 SVDD 를 이용한다. 그럼에도 불구하고 본 방법은 어느 서포트 함수에나 쉽게 적용할 수 있다. 데이터 집합이
Figure pat00046
와 같이 주어질 때, SVDD 방법은 데이터 점들을 고차원 특징 공간(Feature Space)으로 사상시키고, 이 특징 공간에서 대부분의 데이터를 포함하는 최소 반지름 구를 찾는 방법을 사용한다. 이렇게 찾아진 구는 다시 데이터 공간으로 역사상되면 각각의 군집을 나타내는 m 개의 닫힌 집합으로 나누어 진다. 가우시안 커널
Figure pat00047
를 가지고 SVDD 방법으로 훈련된 커널 서포트 함수를 구하면 다음 식과 같다.
Figure pat00048
(EQ-2-2)
위 식에서
Figure pat00049
,
Figure pat00050
,
Figure pat00051
는 서포트 벡터와 그것들의 계수이다.
많은 실제 대규모 데이터 집합에서 데이터의 대부분은 일반적으로 약간 좁은 영역에 집중되고 일반적으로 데이터의 매우 작은 부분도 전체 데이터의 분포, 특히, 이것의 서포트를 꽤 잘 설명할 수 있다. 다음에서 샘플링된 데이터 포인트의 사용을 정당화하고 훈련된 가우시안 커널 서포트 함수가 클래스 조건부 분포의 서포트를 어떻게 나타내는지 설명하고자 한다. 이 때 일반화 오류 한계 정리를 적용하도록 한다.
결과 1: 이산적 성분을 포함하지 않는 어떤 확률 분포 P로부터 i.i.d(independently and identically distributed)로 뽑은
Figure pat00052
개의 샘플을
Figure pat00053
이라고 하자. 식 (EQ-2-2)로 주어진 훈련된 가우시간 커널 서포트 함수에 대해 레벨집합
Figure pat00054
은 레벨 값 r로부터 유도된 부분을 가리킨다. 이 때,
Figure pat00055
의 확률로 샘플
Figure pat00056
은 모든
Figure pat00057
에 다하여 다음을 만족한다.
Figure pat00058
(EQ-2-3)
Figure pat00059
, 함수
Figure pat00060
의 모든 서포트 벡터
Figure pat00061
에 대해
Figure pat00062
일 때,
Figure pat00063
(EQ-2-4)
이 결과는 대용량의 데이터에 대해 식 (EQ-2-2) 의 우변 값을 본 발명의 목적에 맞도록 충분히 작게 할 만큼
Figure pat00064
<<
Figure pat00065
이 큰 경우에는
Figure pat00066
크기의 샘플 데이터가 데이터 분포의 서포트를 충분히 잡아낼 수 있다는 것을 의미한다.
<샘플 공간 분할>
전체 큰 데이터 집합에 대해 작은 비율로 샘플링 된 데이터 집합으로부터 서포트 레벨 함수가 만들어지고 난 다음 과정은, 이렇게 샘플된 데이터와 남은 데이터들(혹은 알려지지 않은 테스트 데이터)에 대해 군집 라벨을 할당하는 것이다. 이 과정은 유도성 베이슨 셀 기반 라벨링 방법들을 이용하면 이들이 만들어진 군집들을 자연스럽게 확장시키면서 전체 데이터 공간을 베이슨 셀들로 분할 하기 때문에 쉽게 이루어질 수 있다.
그러나 이 라벨링 과정에 있어한 가지 중요한 단점은 이것이 훈련된 서포트 레벨 함수나 SV의 갯수에 비례하는 복잡도를 같은 함수의 그레디언트를 이용하기 때문에 계산 비용이 매우 커질 수 있다는 것이다. 이러한 단점을 극복하고 라벨링 과정을 촉진시키기 위해 본 발명은 함수의 계산을 필요로 하지 않는 새로운 라벨링 방법을 사용한다.
함수
Figure pat00067
의 스테이트 벡터
Figure pat00068
Figure pat00069
의 지역 최소점인 경우 이 점을 대표 평형점(representative equilibrium point, REP)로 정의한다(이 점은 안정된 평형 벡터(stable equilibrium point, SEP)라고 불리기도 한다). 본 발명의 핵심 아이디어는 각 데이터의 군집을 결정하기 위하여 각 REP와 비슷한 데이터들에게 가장 가까운 REP의 군집 라벨을 할당하는 것이다. REP s 의 보로노이 셀을 다음과 같이 s 의 가까운 모든 데이터 집합의 closure로 정의하자.
Figure pat00070
(EQ-2-5)
Figure pat00071
에 있는 모든 데이터는 s와 같은 군집으로 할당된다. 그러면 이 방법은 전체 데이터 공간을 다음과 같이 REP의 보로노이 셀들로 분리한다. (이는 기존의 베이슨 셀 기반 방법에서 전체 데이터 공간이 베이슨 셀들로 분리된 것과 유사하다.)
Figure pat00072
(EQ-2-6)
두 REP은 각각의 보로노이 셀이 서로 만날 때 인접하다(adjacent)고 정의한다. 그리고 두 인접한 REP 사이의 선분 가중치를 다음과 같이 정의하자.
Figure pat00073
(EQ-2-7)
즉, 선분 가중치는
Figure pat00074
Figure pat00075
의 구역의 경계의 겹치는 부분 위에 있는 점들에서의 함수값 중 가장 작은 값이다. 그리고 이렇게 가장 작은 함수 값을 갖는 점을 연결점(bridging point)이라고 부르도록 하자. (이 때, 연결점은 기존의 방법에서의 전이 평형점(transition equilibrium point, TEV)와 다른 점이다.)
이러한 용어를 익히고 나면 다음과 같이 가중치가 있는 완전 그래프
Figure pat00076
를 정의할 수 있다.
Figure pat00077
: REP
Figure pat00078
Figure pat00079
: 모든 REP
Figure pat00080
들을 서로 있는 선으로,
Figure pat00081
에 대해 각 선분의 가중치
Figure pat00082
Figure pat00083
사이의 경로
Figure pat00084
가 인접한
Figure pat00085
,
Figure pat00086
들로만 이루어질 때, 다음의 식과 같이 주어진다.
Figure pat00087
(EQ-2-8)
반면 모든 경로 위에 인접한 REP 쌍이 없는 경우,
Figure pat00088
와 같이 주어진다.
이러한 얻어진 REP 간 거리에 관한 정의는 종래 기술에서의 경로 거리에 관한 정의와 비슷해 보이지만 다른 점이 있다. 종래 기술에서는
Figure pat00089
위의 점들 중 최소 함수 값을 갖는 TEV 점을 사용하는 것에 반해 위의 정의는 보로노이 셀의 경계에서의 최소값을 갖는 연결점을 사용하기 때문이다.
기하학적으로 거리
Figure pat00090
는 하나의 REP를 탈출하여 다른 REP로 가는 연결점을 통하여 두 REP 사이를 잇는 경로 위의 있는 점들 중 최대 함수 값을 갖는 점들 중에서 가장 작은 값으로 지정한다. 그래프
Figure pat00091
를 가지고 agglomerative 계층 군집화에서와 동일한 절차를 이용하여, 각각의 REP 에 대해 군집 하나씩을 지정해주고, 계층적으로 두 REP의 군집을 하나의 군집으로 병합하는 식으로 하여 군집의 개수 K를 조절할 수 있다. 이
Figure pat00092
와 보로노이 셀의 큰 특징은 데이터들에 대한 라벨링 과정을 신속히 처리하고 더 이상
Figure pat00093
의 정보를 필요로 하지 않으며 REP나 선분 가중치 등 G의 정보들만을 이용하기 때문에 많은 저장공간을 절약할 수 있다는 점이다.
이제
Figure pat00094
의 부분 그래프
Figure pat00095
Figure pat00096
,
Figure pat00097
Figure pat00098
REP 쌍들을 이은 선분 집합
Figure pat00099
로 정의하자. REP의 베이슨 셀
Figure pat00100
는 일반적으로
Figure pat00101
로 부터 생성된 군집
Figure pat00102
를 특징짓는다.
Figure pat00103
(EQ-2-9)
일반적으로 보로노이 셀은 이러한 속성을 만족시키지 않는다. 그러나 많은 경우에, 그래프
Figure pat00104
은 레벨집합
Figure pat00105
의 위상구조를 거의 보존한다. 즉 두 REP
Figure pat00106
Figure pat00107
Figure pat00108
에서 같은 connected comp. 에 있으면
Figure pat00109
Figure pat00110
의 는 레벨집합
Figure pat00111
에서 같은 군집에 속하며, 이 역도 성립한다.
전술한 바와 같이 도 6은 잘 알려진 2 차원 인공 데이터 집합, 2D-N200 , Four-Gaussian, Two-circles, Three-circles 에 대한 보로노이 셀과 베이슨 셀의 비교를 도시하고 있다. 도면은 두 개의 인접한 REP 의 연결점이 정확히 베이슨 셀 경계에 위치하지 않을 수 있기 때문에 보로노이 셀과 베이슨 셀이 정확히 일치하지는 않는 것을 보여준다.
그러나
Figure pat00112
에 의해 생성된 군집 경계는 베이슨 셀을 이용해 생성된 군집 경계와 배우 비슷하며, 모든 예제에 있어서 기존의 군집 집합
Figure pat00113
의 이상 구조가 유지된다. 그 이유는 부분적으로 대표점 부근의 데이터가 밀집된 지역에서 데이터들이 서로 같은 라벨을 공유하기 때문이다. 그리고 이는 각각의 REP에 대해
Figure pat00114
을 만족 시키는
Figure pat00115
가 존재하며, 데이터 집합에 대해 특정 군집을 구성하는 보로노이 셀의 합집합이 베이슨 셀들과 마찬가지로 r보다 큰 함수 값을 갖기 때문이다.
실제 구현을 위해 본 발명의 알고리즘을 기술한다. 본 발명은 세 단계로 나눌 수 있다. : 1) '결과 1'에 기반하여 샘플링된 데이터 집합을 통해 서포트 레벨 함수를 구성한다. 2) 군집을 라벨링할 수 있도록 서포트 레벨 함수의 REP를 탐색한다. 3) 빠른 단계와 느린 단계를 이용하여 나머지 데이터들을 라벨링한다.
<알고리즘 : 보로노이 셀 기반 커널 서포트 군집화>
<1) 서포트 레벨 함수 구성>
1: 주어진 데이터 집합
Figure pat00116
로부터 샘플의 대표성을 최대한 유지하는 특정 비율로 샘플을 선택하여 훈련 데이터 집합
Figure pat00117
을 구성한다. 남은 집합
Figure pat00118
은 남은 데이터 포인터들을 구성한다.
2:
Figure pat00119
로 부터 서포트 레벨 함수
Figure pat00120
를 구성하고 최적값으로
Figure pat00121
를 설정한다.
<2) 서포트 레벨함수의 REP 를 탐색하고 REP 들에 군집 라벨을 할당>
1: 주어진 서포트 레벨 함수
Figure pat00122
를 이용하여
Figure pat00123
로 부터 REP 들의 집합
Figure pat00124
를 찾는다. 이 작업은 다음의 두 가지 방법 중 하나를 가지고 이루어진다. 이때 주로 빠른 탐색을 위하여 두 번째 방법을 사용한다.
각각의 데이터 포인트
Figure pat00125
를 초기점으로 하여
Figure pat00126
에 대한 아무 사용 가능한 효율적인 최적화 기법을 적용한다.
Figure pat00127
을 여러 개의 집합으로 나누고 동적 시스템 (EQ-1-3)을 중심점에 대해서만 적용한다.
2:
Figure pat00128
를 REP 로,
Figure pat00129
를 두 인접한 REP 들을 (EQ-2-7) 또는 (EQ-2-8) 의 식을 이용하여 만든 가중치를 가진 선분의 집합으로 구성하여 그래프
Figure pat00130
를 산출한다.
3: single-linkage amalgamation 을 이용하여
Figure pat00131
보다 작은 선분 가중치를 가진 선분들만 모아서
Figure pat00132
의 부분 그래프
Figure pat00133
을 산출한다. 그리고
Figure pat00134
에 대해 해당하는 군집의 라벨을 할당한다.
<3) 나머지 데이터에 대해 군집 라벨링 >
1 : 애매성 비율 한계치
Figure pat00135
를 설정한다.
2 : for
Figure pat00136
do
3:
Figure pat00137
에 대해 가장 가까운 REP
Figure pat00138
과 두번째로 가까운 REP
Figure pat00139
를 찾는다.
4: if
Figure pat00140
이거나
Figure pat00141
가 서로 같은 군집 라벨을 가짐
Figure pat00142
의 군집 라벨을
Figure pat00143
와 같은 라벨로 할당한다.
5: else
동적 시스템 (EQ-1-3)을 적용하여 2)-1의 과정과 같이 REP
Figure pat00144
를 탐색한다. 그리고
Figure pat00145
의 군집 라벨을
Figure pat00146
와 같은 라벨로 할당한다.
6: end if
7: end for
이 때, 구현 시 다음과 같은 이슈들이 발생한다. 먼저, 2)-2 에서와 같이 두 인접한 REP 들 간의 거리
Figure pat00147
를 계산하기 위해서 두 인접한 보로노이 셀의 겹치는 경계점들, 즉
Figure pat00148
를 만족하는 x들이 다음과 같은 방정식을 만족해야 한다.
Figure pat00149
(EQ-2-10)
Figure pat00150
사이의 중간점
Figure pat00151
에서 내려가는 기울기 방향
Figure pat00152
의 평면 S 에 대한 사영(projection)은 다음과 같이 주어진다. :
Figure pat00153
그러면
Figure pat00154
는 시작점 x0로부터 감소 방향 d를 가진 평면 S에서의 직선이다. 그러면 이것으로부터 (EQ-2-7) 에서의 최소화 문제를 다음과 같이 근사 시킬 수 있다. :
Figure pat00155
(EQ-2-11)
이것은 1 차원의 최적화 문제로, 에서와 같이 잘 알려진 cubic interpolation line search 기법을 통해 쉽게 풀 수 있다. 단계 2) 에서 모든 샘플 공간은 군집 라벨이 할당된 몇 개의 보로노이 셀로 나뉘어진다. 따라서 테스트 포인트에 라벨을 결정하기 위한 다음 단계는 테스트 포인트가 속한 보로노이 셀을 결정하는 것이다. 그리고 이는 테스트 포인트로부터 가장 가까운 REP를 구함으로써 구할 수 있다.
단계 3) 에서
Figure pat00156
의 가장 가까운 REP
Figure pat00157
과 두 번째로 가까운 REP
Figure pat00158
를 구하기 위해 모든 REP 로부터 이 점까지의 거리를 계산하기 위하여 exhaustive 탐색 알고리즘이 사용될 수 있다. 그러나 라벨링 속도를 빠르게 하기 위하여 이러한 가까운 REP를 구하는 데에는 이러한 탐색 알고리즘을 사용하는 대신 kdtree 와 같은 보다 진보된 방법을 사용한다.
또한
Figure pat00159
식을 확인하기 위한 애매성 비율 임계치
Figure pat00160
가 사용되는데, 데이터 포인트
Figure pat00161
가 두 인접한
Figure pat00162
의 보로노이 셀 사이의 애매한 지역에 있게 되면 단계 3)-5 에서와 같이 느린 방법을 불러오게 된다. 이 발명에서는 군집화 과정을 더 신속히 처리하기 위하여 대부분의 실험에서
Figure pat00163
과 같이 설정하여 빠른 단계만 사용하였다. 이는 실험에서 사용된 대부분의 데이터가 첫 번째, 두 번째로 가까운 REP 가 같은 군집에 속하거나 애매성 비율
Figure pat00164
가 1에 비해 매우 작기 때문이다. 데이터 집합이 애매성 비율이 1에 가까운 데이터 포인트들을 상당 비율 포함하고 있을 경우에는,
Figure pat00165
혹은 특정 비율로 설정하고 느린 단계를 더해야 한다.
이상, 본 발명의 일실시예에 따른 베이슨 셀 기반 클러스터링의 구체적인 수식 및 알고리즘을 설명하였다.
도 11 내지 도 15는 본 발명의 효과를 검증하기 위한 실험 결과를 도시하고 있다.
도면은 본 발명의 군집화 성능을 보여주기 위해 몇 가지 잘 알려진 벤치마크 데이터 집합에 대해 실시한 실험의 결과이다. 본 발명의 성능을 같은 데이터에 대해서 종래 기법들의 성능과 비교하였다.
도 11 및 도 12는 각 테스트 데이터에 대한 라벨링 시간을 나타낸 것으로 이 실험 결과로부터 본 발명의 라벨링 시간의 개선 결과를 확인할 수 있다.
도 13 내지 도 15는 이미지 세분화에 적용하기 위하여 종래 방법에서 일부 적용되어온 이미지를 참조한다. 다른 군집화 방법과 비교한 실험 결과는 도 14에 나타나 있으며, 이미지 정보와 세분화 시간은 도 15에 나타나 있다. 실험 결과를 보면 본 발명의 세분화 결과는 비슷한 색깔별로 영역이 잘 나누어졌으며 속도도 다른 방법에 비해 매우 빠른 것을 알 수 있다.
이상과 같이 본 발명은 군집화 방법에서 대용량 문제일 경우 정확도는 유지하면서 라벨링 시간을 효과적으로 줄이는 것을 실험적으로 확인할 수 있었다. 특히 본 발명의 군집화 방법이 이미지 세분화와 같은 실제적인 대용량 문제에서도 잘 적용됨을 알 수 있다.
본 발명의 일실시예에 따른 클러스터링 장치(10)는 대용량 데이터의 군집화 분석이 필요한 다양한 산업에 응용할 수 있는 기술이다. 유통업체나 전자업체 등의 마케팅 분석에서 고객 데이터 등의 대용량 데이터를 분석할 때 적용할 수 있으며, 이미지 세분화를 통해 이미지나 동영상에서 개체를 식별하는 분야에서 적용할 수 있다.
(예1) 새로운 군집화 방법은 이미지 세분화(Segmentation)에 적용될 수 있다. 이미지 세분화란 특정 이미지에서 특정 형태의 개체 간 경계를 인식하여 개체를 식별하는 것으로 이미지 압축 등에 활용될 수 있다. 그러나 이미지 데이터는 대용량 데이터로써 특히 고해상도의 이미지나 동영상의 경우에는 기존으로 방법으로는 실시간으로 처리하는 것이 어렵다. 그러나 본 발명을 통해서 대용량 이미지 데이터에서도 이미지 세분화를 실시간으로 할 수 있으며, 이것은 컴퓨터 시각화(Visualization) 등의 연구 분야에서도 적용될 수 있을 것이다.
(예2) 은행과 같은 금융 기관의 경우 고객 데이터를 활용하여 대출여부 등을 판단하거나 고객군을 분석하는 것이 필요하다. 그러나 새로운 고객이 증가할 경우 고객을 군집화하기 위하여 다시 모든 데이터에 대해서 군집화 과정을 거쳐야 하고 데이터가 늘어날수록 트레이닝 시간이나 새로운 데이터의 군집 할당 시간이 늘어나게 된다. 그러나 본 발명을 사용할 경우 새로운 데이터에 대해서도 귀납적으로 트레이닝 과정을 거치지 않고 군집 할당을 할 수 있으며, 데이터가 대용량일 경우에도 실시간으로 고객 분석이 가능하다. 뿐만 아니라 고객 분류군의 수를 조절하는 것에 있어서도 본 발명을 사용하면 전체 고객을 원하는 수의 고객 집단으로 분류하고 같은 집단에 속한 고객들의 특성을 파악함으로써 각 고객군을 특징지을 수 있어, 보다 정확하고 효율적인 분석이 가능하다.
이상의 내용을 다시 한번 정리하면, 본 발명은 군집화 성능의 손실 없이 서포트 기반 군집화의 속도를 빠르게 하는 보로노이 셀 기반의 군집화 기법을 제공한다. 훈련 단계와 라벨링 과정에서의 두 단계 중 하나만을 최적화하는 데에 초점을 맞춘 기존의 연구들과는 대조적으로, 본 발명은 시간과 공간 복잡성에 측면에서 두 과정을 모두 최적화한다.
라벨링 과정과 커널 서포트의 추정은 매 서포트 함수 호출에서 커널에 대한 매우 많은 수의 집중적인 수의 계산을 수반한다. 계산의 복잡도 측면에서 볼 때, SEV 라벨링은 트레이닝 데이터 샘플 크기를 고려했을 때 적당한 계산 시간 안에 이루어진다. 전체 데이터 개수에 비해서 SEV의 수는 대체적으로 매우 작기 때문이다. 그러나 N개의 모든 트레이닝 데이터에 대해서 각 데이터에 해당하는 SEV를 찾아야 하는 과정이 N의 크기가 매우 클 때는 상당한 계산 시간을 요구한다. 하나의 데이터에서 SEV를 찾는 것은 서포트 함수의 최소값을 찾는 과정이 포함되며 이것의 계산 복잡도는
Figure pat00166
이다. 그러므로 N개 데이터 각각의 SEV를 찾는 것의 계산 복잡도는
Figure pat00167
가 된다.
이러한 점이 평형(Equilibrium) 기반의 군집화가 이미지 분할과 같은 대용량 데이터 문제에는 적용되기 어려운 이유이다. 따라서, 본 발명이 이루고자 하는 기술적 과제는 서포트 함수 기반의 군집화의 라벨링 단계에서 정확도는 크게 손상되지 않으면서 앞에서 설명한 유용한 성질들을 유지하는 동시에 속도를 향상시켜 대용량 문제에도 적용할 수 있는 방법을 제공하는데 있다.
본 발명은 두 단계에서의 계산적 부담을 덜기 위하여 두 가지 주요 근사 기법을 소개하였는데, 하나는 서포트를 추정하는데 있어 일반 오류 한계를 기반으로 한 샘플링을 도입하였다는 것과 두 번째는 각 데이터에 대해 동적 시스템에 의해 수렴하는 REP를 찾는 대신, 빠른 라벨링을 위한 첫 단계로 간단히 각각의 데이터로부터 가장 가까운 REP를 찾는 유사성에 의한 추론을 이용하였다는 것이다.
첫 번째의 방법을 통해 데이터 분포의 서포트를 충분히 잡아낼 수 있는 샘플 수를 계산하여 샘플링 하고 이 데이터만을 이용하여 서포트 함수를 계산함으로써, 서포트 함수를 구성하는 데 드는 비용인
Figure pat00168
의 비용을 개선시킬 수 있었다. 뿐만 아니라 이러한 샘플들이 서포트를 잘 나타낼 수 있음을 증명하여 샘플링된 데이터의 사용을 정당화 할 수 있었을 뿐 아니라, 이론적 강점을 더하였다.
두 번째로 라벨링의 단계에서, 기존의 방법들의 라벨링 시간 복잡도는 대략
Figure pat00169
(
Figure pat00170
: 서포트 함수를 구성하는 서포트 벡터 개수, m : 각 커널 함수의 계산 횟수) 으로 훈련된 서포트 레벨 함수나 SV의 개수에 비례하는 복잡도를 같은 함수의 그레디언트를 이용하기 때문에 계산 비용이 매우 커질 수 있었다. 이러한 함수의 계산 시간이 매우 큰 단점이었으나 이를 해결하기 위해 각 데이터에 대해 가장 가까운 REP를 찾는 방식으로 전체 데이터 공간을 분할하여 함수의 계산을 필요로 하지 않는 새로운 라벨링 방법을 사용함으로써, 라벨링의 시간이 성능의 저하 없이 극적으로 개선되었음을 확인할 수 있었다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 클러스터링 장치
100: 클러스터 정의부
200: 클러스터 할당부
300: 데이터 저장소

Claims (10)

  1. 클러스터링 장치에 있어서,
    데이터 저장소에 저장되어 있는 데이터 집합에서 샘플 데이터를 추출하고, 상기 추출된 샘플 데이터로부터 각 클러스터를 정의하는 클러스터링 정의부; 및
    상기 데이터 집합의 각 데이터를 상기 정의된 각 클러스터 중 하나로 할당하는 클러스터링 할당부;를 포함하되,
    상기 클러스터링 정의부는 보로노이 셀(Voronoi cell)의 시드(seed)로 사용할 수 있는 대표점을 산출하여, 상기 대표점을 라벨링(labelling)함으로써 상기 각 클러스터를 정의하는 클러스터링 장치.
  2. 제 1 항에 있어서,
    상기 클러스터링 할당부는 상기 각 데이터에서 가장 가까운 대표점과 다음으로 가까운 대표점을 산출하고, 상기 데이터와 상기 가장 가까운 대표점간 거리와 상기 데이터와 상기 다음으로 가까운 대표점간 거리의 비율이 임계값 이하일 때, 상기 데이터를 상기 가장 가까운 대표점의 클러스터로 할당하는 클러스터링 장치.
  3. 제 1 항에 있어서,
    상기 클러스터링 할당부는 상기 각 데이터에서 가장 가까운 대표점과 다음으로 가까운 대표점을 산출하고, 상기 데이터와 상기 두 대표점(상기 가장 가까운 대표점 및 상기 다음으로 가까운 대표점)간 거리의 비율이 임계값 이상일 때, 동적 시스템(dynamical system)을 이용하여 대상 대표점을 산출하고 상기 데이터를 상기 산출한 대상 대표점의 클러스터로 할당하는 클러스터링 장치.
  4. 제 1 항에 있어서,
    상기 클러스터링 정의부는 상기 샘플 데이터로부터 서포트(support) 함수를 산출하고, 상기 서포트 함수를 사용하여 상기 대표점을 산출하는 클러스터링 장치.
  5. 제 1 항에 있어서,
    상기 클러스터링 정의부는 상기 대표점을 이용하여 가중 그래프를 구축하고, 상기 가중 그래프에서 임계값 이하의 가중치를 가지는 간선을 삭제하여 부분 그래프로 분할하여, 상기 분할된 각 부분 그래프가 상기 각 클러스터에 포함되도록 상기 각 클러스터를 정의하는 클러스터링 장치.
  6. 클러스터링 장치를 사용하는 클러스터링 방법에 있어서,
    데이터 저장소에 저장되어 있는 데이터 집합에서 샘플 데이터를 추출하고, 상기 추출된 샘플 데이터로부터 각 클러스터를 정의하는 클러스터링 정의 단계; 및
    상기 데이터 집합의 각 데이터를 상기 정의된 각 클러스터 중 하나로 할당하는 클러스터링 할당 단계;를 포함하되,
    상기 클러스터링 정의 단계는 보로노이 셀(Voronoi cell)의 시드(seed)로 사용할 수 있는 대표점을 산출하여, 상기 대표점을 라벨링(labelling)함으로써 상기 각 클러스터를 정의하는 클러스터링 방법.
  7. 제 6 항에 있어서,
    상기 클러스터링 할당 단계는 상기 각 데이터에서 가장 가까운 대표점과 다음으로 가까운 대표점을 산출하고, 상기 데이터와 상기 가장 가까운 대표점간 거리와 상기 데이터와 상기 다음으로 가까운 대표점간 거리의 비율이 임계값 이하일 때, 상기 데이터를 상기 가장 가까운 대표점의 클러스터로 할당하는 클러스터링 방법.
  8. 제 6 항에 있어서,
    상기 클러스터링 할당 단계는 상기 각 데이터에서 가장 가까운 대표점과 다음으로 가까운 대표점을 산출하고, 상기 데이터와 상기 두 대표점(상기 가장 가까운 대표점 및 상기 다음으로 가까운 대표점)간 거리의 비율이 임계값 이상일 때, 동적 시스템(dynamical system)을 이용하여 대상 대표점을 산출하고 상기 데이터를 상기 산출한 대상 대표점의 클러스터로 할당하는 클러스터링 방법.
  9. 제 6 항에 있어서,
    상기 클러스터링 정의 단계는 상기 샘플 데이터로부터 서포트(support) 함수를 산출하고, 상기 서포트 함수를 사용하여 상기 대표점을 산출하는 클러스터링 방법.
  10. 제 6 항에 있어서,
    상기 클러스터링 정의 단계는 상기 대표점을 이용하여 가중 그래프를 구축하고, 상기 가중 그래프에서 임계값 이하의 가중치를 가지는 간선을 삭제하여 부분 그래프로 분할하여, 상기 분할된 각 부분 그래프가 상기 각 클러스터에 포함되도록 상기 각 클러스터를 정의하는 클러스터링 방법.
KR1020140031027A 2014-03-17 2014-03-17 보로노이 셀 기반의 서포트 클러스터링 장치 및 방법 KR101577249B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140031027A KR101577249B1 (ko) 2014-03-17 2014-03-17 보로노이 셀 기반의 서포트 클러스터링 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140031027A KR101577249B1 (ko) 2014-03-17 2014-03-17 보로노이 셀 기반의 서포트 클러스터링 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150108173A true KR20150108173A (ko) 2015-09-25
KR101577249B1 KR101577249B1 (ko) 2015-12-14

Family

ID=54246287

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140031027A KR101577249B1 (ko) 2014-03-17 2014-03-17 보로노이 셀 기반의 서포트 클러스터링 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101577249B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112543460A (zh) * 2019-09-20 2021-03-23 中兴通讯股份有限公司 基站覆盖管理方法、装置、网络设备和可读存储介质
CN116152277A (zh) * 2023-03-10 2023-05-23 麦岩智能科技(北京)有限公司 一种地图分割方法、装置、电子设备及介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102542451B1 (ko) * 2020-11-04 2023-06-12 서울대학교산학협력단 공정 분포 추정을 통한 공정 군집화 방법 및 그의 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112543460A (zh) * 2019-09-20 2021-03-23 中兴通讯股份有限公司 基站覆盖管理方法、装置、网络设备和可读存储介质
CN112543460B (zh) * 2019-09-20 2024-05-14 深圳市中兴通讯技术服务有限责任公司 基站覆盖管理方法、装置、网络设备和可读存储介质
CN116152277A (zh) * 2023-03-10 2023-05-23 麦岩智能科技(北京)有限公司 一种地图分割方法、装置、电子设备及介质
CN116152277B (zh) * 2023-03-10 2023-09-22 麦岩智能科技(北京)有限公司 一种地图分割方法、装置、电子设备及介质

Also Published As

Publication number Publication date
KR101577249B1 (ko) 2015-12-14

Similar Documents

Publication Publication Date Title
CN110443281B (zh) 基于hdbscan聚类的文本分类自适应过采样方法
Fischer et al. Bagging for path-based clustering
US20130343619A1 (en) Density estimation and/or manifold learning
CN110188763B (zh) 一种基于改进图模型的图像显著性检测方法
CN113221065A (zh) 数据密度估计及回归方法、相应装置、电子设备、介质
Kim et al. Improving discrimination ability of convolutional neural networks by hybrid learning
Richards et al. Clustering and unsupervised classification
He et al. Instance-aware embedding for point cloud instance segmentation
CN108564083A (zh) 一种遥感图像变化检测方法及装置
KR101577249B1 (ko) 보로노이 셀 기반의 서포트 클러스터링 장치 및 방법
Xu et al. MSGCNN: Multi-scale graph convolutional neural network for point cloud segmentation
Zeybek Inlier point preservation in outlier points removed from the ALS point cloud
Liu et al. A new local density and relative distance based spectrum clustering
Zheliznyak et al. Analysis of clustering algorithms
Ghoshal et al. Estimating uncertainty in deep learning for reporting confidence: An application on cell type prediction in testes based on proteomics
Xu et al. The image segmentation algorithm of colorimetric sensor array based on fuzzy C-means clustering
KR100895261B1 (ko) 평형기반 서포트 벡터를 이용한 귀납적이고 계층적인군집화 방법
Yu et al. Sparse reconstruction with spatial structures to automatically determine neighbors
Shi et al. Fuzzy support tensor product adaptive image classification for the internet of things
Pappula A Novel Binary Search Tree Method to Find an Item Using Scaling.
CN113779287A (zh) 基于多阶段分类器网络的跨域多视角目标检索方法及装置
Rao et al. Common object discovery as local search for maximum weight cliques in a global object similarity graph
Chang et al. Fast marching based superpixels generation
Barchiesi et al. Learning incoherent subspaces: classification via incoherent dictionary learning
Chen et al. Target Detection for Mine Remote Sensing Using Deep Learning

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181203

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191203

Year of fee payment: 5