KR101919698B1 - 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템 - Google Patents

실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템 Download PDF

Info

Publication number
KR101919698B1
KR101919698B1 KR1020170072879A KR20170072879A KR101919698B1 KR 101919698 B1 KR101919698 B1 KR 101919698B1 KR 1020170072879 A KR1020170072879 A KR 1020170072879A KR 20170072879 A KR20170072879 A KR 20170072879A KR 101919698 B1 KR101919698 B1 KR 101919698B1
Authority
KR
South Korea
Prior art keywords
solutions
data
solution
clusters
silhouette
Prior art date
Application number
KR1020170072879A
Other languages
English (en)
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 KR1020170072879A priority Critical patent/KR101919698B1/ko
Application granted granted Critical
Publication of KR101919698B1 publication Critical patent/KR101919698B1/ko

Links

Images

Classifications

    • G06F17/30598
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

일 실시예에 따르면, 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법은, 복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 문제의 해와 관련하여, 상기 복수의 클러스터들 각각 내에서 데이터들 사이의 거리 및 상기 복수의 클러스터들간 데이터들 사이의 거리와 관련된 실루엣 목적 함수를 설정하는 단계; 상기 복수의 데이터들 각각이 상기 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성하는 단계; 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 상기 초기 해들을 업데이트하여 최적의 해를 획득하는 단계; 및 상기 최적의 해를 참조하여 상기 복수의 데이터들을 상기 복수의 클러스터들로 클러스터링하는 단계를 포함한다.

Description

실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템{GROUP SEARCH OPTIMIZATION DATA CLUSTERING METHOD AND SYSTEM USING SILHOUETTE}
아래의 실시예들은 데이터 클러스터링 시스템 및 그 방법에 관한 것으로, 보다 상세하게는, 그룹 탐색 최적화 기법을 이용하는 데이터 클러스터링 기술에 관한 것이다.
최근 널리 사용되고 있는 사물인터넷(Internet of Things; IoT) 기기는 사물의 상태를 감지하는 센싱 기능을 포함함으로써, 수많은 데이터들을 생성하며 수집하고 있다. 이에, 수집된 빅 데이터를 분석하여 가치 있는 정보를 추출함으로써, 비즈니스 모델을 생성하는 등과 같은 수익 창출의 필요성이 대두되고 있다.
이와 같은 필요성에 발 맞춰, 가치 있는 정보 추출을 위한 데이터 분석 분야 중 데이터 클러스터링 방법 개발이 꾸준히 진행되어 왔다. 데이터 클러스터링 기법 중 가장 널리 사용되어온 K-means는 효과적인 방법이지만 다음과 같은 문제점이 존재한다. 첫째, K-means는 초기값에 민감하고 지역 해에 빠질 가능성이 높다. 둘째, 클러스터 개수를 결정하기 위하여 사전 데이터 정보가 요구되며, 클러스터 개수가 고정된 상태에서만 적용 가능하다. 셋째, K-means는 데이터 클러스터링 문제의 해를 평가하는 평가 기준으로 클러스터 내에서의 거리만을 고려하기 때문에, 클러스터간의 거리를 전혀 고려하지 못한다.
초기값에 민감하고 지역 해에 빠질 가능성이 높은 문제점을 해결하기 위해 진화 알고리즘과 같은 휴리스틱 알고리즘을 이용하거나, K-means와 파티클 군집 최적화를 혼합하여 이용하거나, 인공 벌 군집 기법을 이용하거나, 그룹 탐색 최적화 기법을 이용하는 연구가 진행되어 왔다.
그러나 상술한 알고리즘과 기법을 단순히 이용하는 경우, 클러스터 개수가 고정된 상태에서만 적용 가능하다는 문제점과 클러스터간의 거리를 전혀 고려하지 못한다는 문제점이 여전히 존재한다.
따라서, 클러스터 개수가 고정된 상태에서만 적용 가능하다는 문제점과 클러스터간의 거리를 전혀 고려하지 못한다는 문제점을 해결하기 위한 기술이 요구된다.
일 실시예들은 실루엣 목적 함수를 평가 기준으로 사용함으로써, 클러스터 개수를 적응적으로 결정하고, 전역 해를 탐색하는 그룹 탐색 최적화 기법 기반의 데이터 클러스터링 방법 및 시스템을 제안한다.
구체적으로, 일 실시예들은 복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 데이터 클러스터링 문제의 해와 관련하여, 복수의 클러스터들 각각 내에서 데이터들 사이의 거리 및 복수의 클러스터들간 데이터들 사이의 거리와 관련된 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법을 사용함으로써, 데이터 클러스터링 문제의 해를 탐색하는 기술을 제안한다.
일 실시예에 따르면, 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법은, 복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 문제의 해와 관련하여, 상기 복수의 클러스터들 각각 내에서 데이터들 사이의 거리 및 상기 복수의 클러스터들간 데이터들 사이의 거리와 관련된 실루엣 목적 함수를 설정하는 단계; 상기 복수의 데이터들 각각이 상기 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성하는 단계; 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 상기 초기 해들을 업데이트하여 최적의 해를 획득하는 단계; 및 상기 최적의 해를 참조하여 상기 복수의 데이터들을 상기 복수의 클러스터들로 클러스터링하는 단계를 포함한다.
일측에 따르면, 상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 상기 초기 해들을 업데이트하여 최적의 해를 획득하는 단계는, 상기 초기 해들 중 상기 실루엣 목적 함수를 최대화하는 프로듀서 해를 선택하는 단계; 상기 초기 해들 중 상기 프로듀서 해를 제외한 나머지 해들 중 미리 설정된 확률에 따라 스크라운저 해들을 획득하는 단계; 상기 초기 해들 중 상기 프로듀서 해 및 상기 스크라운저 해들을 제외한 나머지 해들을 레인저 해들로 설정하는 단계; 상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 단계; 및 상기 업데이트된 프로듀서 해, 상기 업데이트된 스크라운저 해들 및 상기 업데이트된 레인저 해들 중 상기 실루엣 목적 함수를 최대화하는 상기 최적의 해를 결정하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 단계는, 상기 프로듀서 해 상에서 상기 복수의 데이터들 각각에 대한 난수를 생성하는 단계; 상기 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하는 단계; 상기 비교 결과에 기초하여 상기 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 상기 프로듀서 해의 이웃 해를 생성하는 단계; 및 상기 프로듀서 해 및 상기 이웃 해 중 상기 실루엣 목적 함수를 최대화하는 해로 상기 프로듀서 해를 업데이트하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 단계는, 상기 스크라운저 해들 각각에서 상기 복수의 데이터들 각각에 대한 난수를 생성하는 단계; 상기 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하는 단계; 상기 비교 결과에 기초하여 상기 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 상기 프로듀서 해와 동일하게 변경함으로써, 상기 스크라운저 해들의 이웃 해들을 생성하는 단계; 및 상기 스크라운저 해들 및 상기 이웃 해들 중 상기 실루엣 목적 함수를 최대화하는 해들로 상기 스크라운저 해들을 업데이트하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 단계는, 상기 레인저 해들 각각에서 상기 복수의 데이터들 각각에 대한 난수를 생성하는 단계; 상기 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하는 단계; 상기 비교 결과에 기초하여 상기 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 상기 레인저 해들의 전역 해들을 생성하는 단계; 및 상기 레인저 해들 및 상기 전역 해들 중 상기 실루엣 목적 함수를 최대화하는 해들로 상기 레인저 해들을 업데이트하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 상기 업데이트된 프로듀서 해, 상기 업데이트된 스크라운저 해들 및 상기 업데이트된 레인저 해들 중 상기 실루엣 목적 함수를 최대화하는 상기 최적의 해를 결정하는 단계는, 상기 업데이트된 프로듀서 해, 상기 업데이트된 스크라운저 해들 및 상기 업데이트된 레인저 해들 중 상기 복수의 클러스터들간 데이터들 사이의 거리 및 상기 복수의 클러스터들 각각 내에서 데이터들 사이의 거리의 차가 가장 큰 상기 최적의 해를 결정하는 단계를 포함할 수 있다.
또 다른 일측에 따르면, 상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 단계는, 상기 적어도 하나의 세대의 반복 횟수와 미리 설정된 반복 횟수를 비교하거나, 상기 획득된 최적의 해와 미리 설정된 기준 해를 비교하거나, 상기 최적의 해를 획득하는데 소요된 시간과 미리 설정된 시간을 비교함으로써, 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 것을 중지하는 단계를 더 포함할 수 있다.
또 다른 일측에 따르면, 상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 단계는, 상기 업데이트된 프로듀서 해, 상기 업데이트된 스크라운저 해들 및 상기 업데이트된 레인저 해들을 다음 세대 동안에 사용하는 단계를 더 포함할 수 있다.
또 다른 일측에 따르면, 상기 복수의 데이터들 각각이 상기 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성하는 단계는, 상기 초기 해들 중 상기 실루엣 목적 함수를 최대화하는 초기 해의 클러스터 개수를 최적의 클러스터 개수로 결정하는 단계; 및 상기 최적의 클러스터 개수에 기초하여 상기 초기 해들을 업데이트하는 단계를 더 포함할 수 있다.
또 다른 일측에 따르면, 상기 복수의 데이터들 각각이 상기 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성하는 단계는, 상기 복수의 데이터들 각각이 상기 복수의 클러스터들 중 하나의 클러스터에 클러스터링되는 조건 및 복수의 클러스터들 각각에는 복수의 데이터들 중 적어도 하나 이상의 데이터가 클러스터링되는 조건을 만족하도록 상기 초기 해들을 임의로 생성하는 단계를 포함할 수 있다.
일 실시예에 따르면, 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법을 실행시키기 위해 컴퓨터로 읽을 수 있는 매체에 저장된 컴퓨터 프로그램에 있어서, 상기 그룹 탐색 최적화 데이터 클러스터링 방법은, 복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 문제의 해와 관련하여, 상기 복수의 클러스터들 각각 내에서 데이터들 사이의 거리 및 상기 복수의 클러스터들간 데이터들 사이의 거리와 관련된 실루엣 목적 함수를 설정하는 단계; 상기 복수의 데이터들 각각이 상기 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성하는 단계; 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 상기 초기 해들을 업데이트하여 최적의 해를 획득하는 단계; 및 상기 최적의 해를 참조하여 상기 복수의 데이터들을 상기 복수의 클러스터들로 클러스터링하는 단계를 포함한다.
일 실시예에 따르면, 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 시스템은, 복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 문제의 해와 관련하여, 상기 복수의 클러스터들 각각 내에서 데이터들 사이의 거리 및 상기 복수의 클러스터들간 데이터들 사이의 거리와 관련된 실루엣 목적 함수를 설정하는 실루엣 목적 함수 설정부; 상기 복수의 데이터들 각각이 상기 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성하는 초기 해 생성부; 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 상기 초기 해들을 업데이트하여 최적의 해를 획득하는 최적 해 획득부; 및 상기 최적의 해를 참조하여 상기 복수의 데이터들을 상기 복수의 클러스터들로 클러스터링하는 클러스터링부를 포함한다.
일측에 따르면, 상기 최적 해 획득부는, 상기 초기 해들 중 상기 실루엣 목적 함수를 최대화하는 프로듀서 해를 선택하고, 상기 초기 해들 중 상기 프로듀서 해를 제외한 나머지 해들 중 미리 설정된 확률에 따라 스크라운저 해들을 획득하며, 상기 초기 해들 중 상기 프로듀서 해 및 상기 스크라운저 해들을 제외한 나머지 해들을 레인저 해들로 설정하는 그룹 탐색 최적화 해 설정부; 상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 해 업데이트부; 및 상기 업데이트된 프로듀서 해, 상기 업데이트된 스크라운저 해들 및 상기 업데이트된 레인저 해들 중 상기 실루엣 목적 함수를 최대화하는 상기 최적의 해를 결정하는 최적 해 결정부를 포함할 수 있다.
또 다른 일측에 따르면, 상기 해 업데이트부는, 상기 프로듀서 해 상에서 상기 복수의 데이터들 각각에 대한 난수를 생성하고, 상기 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하며, 상기 비교 결과에 기초하여 상기 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 상기 프로듀서 해의 이웃 해를 생성하고, 상기 프로듀서 해 및 상기 이웃 해 중 상기 실루엣 목적 함수를 최대화하는 해로 상기 프로듀서 해를 업데이트할 수 있다.
또 다른 일측에 따르면, 상기 해 업데이트부는, 상기 스크라운저 해들 각각에서 상기 복수의 데이터들 각각에 대한 난수를 생성하고, 상기 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하며, 상기 비교 결과에 기초하여 상기 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 상기 프로듀서 해와 동일하게 변경함으로써, 상기 스크라운저 해들의 이웃 해들을 생성하고, 상기 스크라운저 해들 및 상기 이웃 해들 중 상기 실루엣 목적 함수를 최대화하는 해들로 상기 스크라운저 해들을 업데이트할 수 있다.
또 다른 일측에 따르면, 상기 해 업데이트부는, 상기 레인저 해들 각각에서 상기 복수의 데이터들 각각에 대한 난수를 생성하고, 상기 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하며, 상기 비교 결과에 기초하여 상기 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 상기 레인저 해들의 전역 해들을 생성하고, 상기 레인저 해들 및 상기 전역 해들 중 상기 실루엣 목적 함수를 최대화하는 해들로 상기 레인저 해들을 업데이트할 수 있다.
또 다른 일측에 따르면, 상기 초기 해 생성부는, 상기 초기 해들 중 상기 실루엣 목적 함수를 최대화하는 초기 해의 클러스터 개수를 최적의 클러스터 개수로 결정하고, 상기 최적의 클러스터 개수에 기초하여 상기 초기 해들을 업데이트할 수 있다.
일 실시예들은 실루엣 목적 함수를 평가 기준으로 사용함으로써, 클러스터 개수를 적응적으로 결정하고, 전역 해를 탐색하는 그룹 탐색 최적화 기법 기반의 데이터 클러스터링 방법 및 시스템을 제안할 수 있다.
구체적으로, 일 실시예들은 복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 데이터 클러스터링 문제의 해와 관련하여, 복수의 클러스터들 각각 내에서 데이터들 사이의 거리 및 복수의 클러스터들간 데이터들 사이의 거리와 관련된 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법을 사용함으로써, 데이터 클러스터링 문제의 해를 탐색하는 기술을 제안할 수 있다.
따라서, 일 실시예들은 데이터에 대한 사전 정보가 없을 때에도 제한된 시간 내에서 클러스터 개수를 적응적으로 결정할 수 있고, 클러스터 내에서의 거리뿐만 아니라 클러스터간의 거리를 고려함으로써, 데이터 클러스터링 문제에서 최적의 해를 효율적으로 탐색하는 데이터 클러스터링 방법 및 시스템을 제안할 수 있다.
도 1은 일 실시예에 따른 복수의 데이터들이 복수의 클러스터들로 클러스터링되는 데이터 클러스터링 문제 및 실루엣 목적 함수를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법에서 최적의 클러스터 개수를 결정하는 과정을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법에서 프로듀서 해를 업데이트하는 과정을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법에서 스크라운저 해들을 업데이트하는 과정을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법에서 레인저 해들을 업데이트하는 과정을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법을 나타낸 플로우 차트이다.
도 7은 도 6에 도시된 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 초기 해들을 업데이트하여 최적의 해를 획득하는 단계를 구체적으로 나타낸 플로우 차트이다.
도 8은 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 시스템을 나타낸 블록도이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
또한, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 시청자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 일 실시예에 따른 복수의 데이터들이 복수의 클러스터들로 클러스터링되는 데이터 클러스터링 문제 및 실루엣 목적 함수를 설명하기 위한 도면이다.
도 1을 참조하면, 데이터 클러스터링은 복수의 데이터들 각각이 복수의 클러스터들로 클러스터링 되는 문제의 해로서 수리적으로 정립화될 수 있다.
예를 들어, 복수의 데이터들이
Figure 112017055364689-pat00001
과 같이 n개의 데이터 집합으로 구성되고(각 데이터
Figure 112017055364689-pat00002
는 d 차원 특징(feature)로 구성되며, i번째 데이터의 특징 값은
Figure 112017055364689-pat00003
로 표현됨), 복수의 데이터들이 K 개의 복수의 클러스터들(복수의 클러스터들 중 어느 하나의 클러스터 k는
Figure 112017055364689-pat00004
의 값을 가짐)로 클러스터링되는 경우, 복수의 데이터들이 복수의 클러스터들로 클러스터링되는 데이터 클러스터링 문제의 해는 식 1과 같이 제1 논리값 또는 제2 논리값 중 어느 하나로 결정되는 이진 변수로 표현되는 매트릭스
Figure 112017055364689-pat00005
로 정의될 수 있다.
<식 1>
Figure 112017055364689-pat00006
식 1에서, i번째 데이터
Figure 112017055364689-pat00007
가 k번째 클러스터에 클러스터링되는 경우에
Figure 112017055364689-pat00008
는 1의 이진 변수로 표시되며, 그렇지 않는 경우에는 0의 이진 변수로 표시된다.
또한, 데이터 클러스터링 문제의 해는, 복수의 데이터들 각각이 복수의 클러스터들 중 하나의 클러스터에 클러스터링되는 조건 및 복수의 클러스터들 각각에 복수의 데이터들 중 적어도 하나 이상의 데이터가 클러스터링되는 조건을 만족해야 한다. 즉, 데이터 클러스터링 문제는 i번째 데이터
Figure 112017055364689-pat00009
가 하나의 클러스터에 클러스터링되는 것과 k번째 클러스터에 적어도 하나 이상의 데이터가 클러스터링되는 것을 전제로 한다.
이에, 식 1을 기반으로 i번째 데이터
Figure 112017055364689-pat00010
가 k번째 클러스터에 클러스터링되는 여부는 식 2와 같이 표현된다.
<식 2>
Figure 112017055364689-pat00011
또한, 식 2를 기반으로, k번째 클러스터에 적어도 하나 이상의 i번째 데이터
Figure 112017055364689-pat00012
가 포함되는 여부는 식 3과 같이 표현된다.
<식 3>
Figure 112017055364689-pat00013
한편, 데이터 클러스터링 문제에서 실루엣 평가 함수는, 복수의 클러스터들 각각 내에서 데이터들(동일한 클러스터로 클러스터링된 데이터들)이 얼마나 조밀하게 모여 있는지, 그리고 복수의 클러스터들 사이가 얼마나 뚜렷하게 구분되는지를 평가하는 평가 기준으로 사용된다. 따라서, 실루엣 평가 함수는 복수의 클러스터들 각각 내에서 데이터들 사이의 거리와 복수의 클러스터들간 데이터들 사이의 거리로 표현될 수 있다.
보다 상세하게는, 클러스터 A에 클러스터링되어 있는 데이터
Figure 112017055364689-pat00014
와 클러스터 A에 클러스터링되어 있는 다른 데이터들 사이의 평균 거리
Figure 112017055364689-pat00015
는, 클러스터 A 내에서 데이터들이 조밀하게 모여있는 정도를 나타낸다. 예를 들어,
Figure 112017055364689-pat00016
가 작을수록 클러스터 A 내에서 데이터들이 조밀하게 모여있음을 의미한다.
또한, 클러스터 A와 다른 클러스터 B 및 C가 존재하고, 클러스터 A에 클러스터링되어 있는 i번째 데이터
Figure 112017055364689-pat00017
에서 다른 클러스터 B 및 C의 각 데이터들과의 평균 거리를 각각
Figure 112017055364689-pat00018
Figure 112017055364689-pat00019
라 할 때,
Figure 112017055364689-pat00020
는 식 4와 같이, 클러스터 A에 클러스터링되어 있는 i번째 데이터
Figure 112017055364689-pat00021
에서 다른 클러스터 B 및 C의 각 데이터들 사이의 평균 거리 중 가장 작은 값을 의미한다. 예를 들어,
Figure 112017055364689-pat00022
Figure 112017055364689-pat00023
보다 작다면,
Figure 112017055364689-pat00024
가 된다.
<식 4>
Figure 112017055364689-pat00025
식 4에서,
Figure 112017055364689-pat00026
의 값이 클수록 클러스터들간의 구별이 뚜렷함을 의미한다.
따라서, 식 5와 같이 표현되는 실루엣 값
Figure 112017055364689-pat00027
는 i번째 데이터
Figure 112017055364689-pat00028
가 클러스터링되어 있는 클러스터 내에서 데이터들 사이의 거리 및 i번째 데이터
Figure 112017055364689-pat00029
와 다른 클러스터(i번째 데이터
Figure 112017055364689-pat00030
가 클러스터링되어 있는 클러스터와 다른 클러스터)에 클러스터링된 데이터들 사이의 거리를 나타낸다.
<식 5>
Figure 112017055364689-pat00031
즉, 식 5에서, 실루엣 값
Figure 112017055364689-pat00032
가 클수록 i번째 데이터
Figure 112017055364689-pat00033
가 클러스터링되어 있는 클러스터 내에서 데이터들은 조밀하게 모여 있고, i번째 데이터
Figure 112017055364689-pat00034
가 클러스터링되어 있는 클러스터와 다른 클러스터간 데이터들 사이가 뚜렷하게 구별됨을 의미한다.
이에, 복수의 데이터들 모두에 대해 실루엣 값
Figure 112017055364689-pat00035
을 구하여 합한 값을 복수의 데이터들의 개수 n으로 나누면, 평균 실루엣 값
Figure 112017055364689-pat00036
이 식 6과 같이 계산된다.
<식 6>
Figure 112017055364689-pat00037
식 6에서, 평균 실루엣 값
Figure 112017055364689-pat00038
이 1에 가까운 경우는 데이터 클러스터링이 매우 잘된 것을 의미하고, -1에 가까운 경우는 데이터 클러스터링이 잘 되지 않음을 의미한다. 평균 실루엣 값
Figure 112017055364689-pat00039
이 0에 가까운 경우는 데이터 클러스터링에서 데이터 클러스터 소속이 불분명한 경우를 의미한다.
데이터 클러스터 과정에서 평균 실루엣 값
Figure 112017055364689-pat00040
이 계산되는 예시는 다음과 같다. 도면과 같이, 10개의 데이터들
Figure 112017055364689-pat00041
각각이 특징
Figure 112017055364689-pat00042
Figure 112017055364689-pat00043
로 구성되고,
Figure 112017055364689-pat00044
으로 3개의 클러스터들로 10개의 데이터들이 클러스터링되어, 클러스터 1에 데이터
Figure 112017055364689-pat00045
,
Figure 112017055364689-pat00046
Figure 112017055364689-pat00047
가 클러스터링되고, 클러스터 2에 데이터
Figure 112017055364689-pat00048
,
Figure 112017055364689-pat00049
,
Figure 112017055364689-pat00050
Figure 112017055364689-pat00051
가 클러스터링되며, 클러스터 3에 데이터
Figure 112017055364689-pat00052
,
Figure 112017055364689-pat00053
Figure 112017055364689-pat00054
가 클러스터링된 경우, 클러스터 1에 속한
Figure 112017055364689-pat00055
과 클러스터 1의 다른 데이터들과의 평균 거리
Figure 112017055364689-pat00056
Figure 112017055364689-pat00057
로 계산되고, 클러스터 1에 속한 데이터
Figure 112017055364689-pat00058
에서 다른 클러스터 2의 각 데이터들과의 평균거리
Figure 112017055364689-pat00059
Figure 112017055364689-pat00060
로 계산되며, 클러스터 1에 속한 데이터
Figure 112017055364689-pat00061
에서 다른 클러스터 3의 각 데이터들과의 평균거리
Figure 112017055364689-pat00062
Figure 112017055364689-pat00063
로 계산될 수 있다. 이에, 식 4에 따라,
Figure 112017055364689-pat00064
Figure 112017055364689-pat00065
로 계산되고, 식 5에 따라,
Figure 112017055364689-pat00066
Figure 112017055364689-pat00067
로 계산된다. 이와 같이
Figure 112017055364689-pat00068
내지
Figure 112017055364689-pat00069
도 동일한 방식으로 계산되어, 최종적으로 식 6에 따라, 평균 실루엣 값
Figure 112017055364689-pat00070
Figure 112017055364689-pat00071
로 계산될 수 있다.
이러한 평균 실루엣 값
Figure 112017055364689-pat00072
은 실루엣 목적 함수로서, 일 실시예에 따른 데이터 클러스터링 문제에서 평가 기준으로 활용될 수 있다.
구체적으로, 일 실시예에 따른 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템은, 데이터 클러스터링 중 클러스터 개수를 결정하는 과정에서 실루엣 목적 함수
Figure 112017055364689-pat00073
를 이용할 수 있으며, 그룹 탐색 최적화(Group Search Optimization; GSO) 기법을 적용하는 과정에서 평가 기준으로 실루엣 목적 함수
Figure 112017055364689-pat00074
를 활용할 수 있다. 이에 대한 상세한 설명은 도 2 내지 5를 참조하여 기재하기로 한다.
도 2는 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법에서 최적의 클러스터 개수를 결정하는 과정을 설명하기 위한 도면이다.
도 2를 참조하면, 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법은 데이터 클러스터링 문제의 해를 생성하는 과정에서, 가장 먼저 최적의 클러스터 개수를 결정할 수 있다. 특히, 그룹 탐색 최적화 데이터 클러스터링 방법은 실루엣 목적 함수를 평가 기준으로 활용함으로써, 데이터에 대한 사전 정보가 없을 때에도 제한된 시간 내에서 최적의 클러스터 개수를 결정할 수 있다.
구체적으로, 그룹 탐색 최적화 데이터 클러스터링 방법은 데이터 클러스터링 문제의 해들을 임의로 생성한 뒤, 해들 각각의 실루엣 목적 함수를 계산함으로써, 해들 중 실루엣 목적 함수를 최대화하는 해의 클러스터 개수를 최적의 클러스터 개수로 결정할 수 있다. 예를 들어, 도면과 같이 임의로 생성된 해들 중 해 1(210)의 클러스터 개수가 4이고, 해 1(210)의 실루엣 목적 함수가 0.701941의 값을 가지며, 해 2(220)의 클러스터 개수가 3이고, 해 2(220)의 실루엣 목적 함수가 0.8214의 값을 갖는 경우, 그룹 탐색 최적화 데이터 클러스터링 방법은 해 2(220)의 클러스터 개수인 3을 최적의 클러스터 개수로 결정할 수 있다.
따라서, 그룹 탐색 최적화 데이터 클러스터링 방법은 상술한 바와 같이 결정된 최적의 클러스터 개수에 기초하여 초기 해들을 생성하고, 생성된 초기 해들을 후술되는 그룹 탐색 최적화 기법에 따라 최적의 해를 획득하는 과정에서 활용할 수 있다. 최적의 클러스터 개수에 기초하여 초기 해들을 생성한다는 것은, 최적의 클러스터 개수를 초기 해들 각각에서 복수의 데이터들이 클러스터링되는 복수의 클러스터 개수로 사용하는 것을 의미한다. 예컨대, 상술한 바와 같이, 최적의 클러스터 개수가 3으로 결정되는 경우, 초기 해들 각각의 복수의 클러스터들 개수는 3개일 수 있다.
여기서, 그룹 탐색 최적화 기법은, 초기 해들로부터 프로듀서(Producer) 해, 스크라운저(Scrounger) 해들 및 레인저(Ranger) 해들과 같이 세 가지 역할을 담당하는 구성원의 해들을 구분함으로써, 지역 해는 물론 전역 해를 탐색하는 데이터 클러스터링 기법이다. 이에 대한 상세한 설명은 10개의 데이터들
Figure 112017055364689-pat00075
각각이 3개의 클러스터들(최적의 클러스터 개수가 3개로 결정됨)로 클러스터링되는 예시로, 도 3 내지 5를 참조하여 기재하기로 한다.
도 3은 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법에서 프로듀서 해를 업데이트하는 과정을 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법은, 임의로 생성된 초기 해들로부터 적어도 하나의 세대 동안에 프로듀서 해를 선택, 업데이트할 수 있다.
구체적으로, 그룹 탐색 최적화 데이터 클러스터링 방법은, 초기 해들 중 실루엣 목적 함수를 최대화하는 해를 프로듀서 해로 선택할 수 있다. 그 다음, 그룹 탐색 최적화 데이터 클러스터링 방법은 선택된 프로듀서 해 상에서 복수의 데이터들 각각에 대한 난수를 생성하고, 생성된 난수를 미리 설정된 기준 확률과 비교할 수 있다. 그 다음, 그룹 탐색 최적화 데이터 클러스터링 방법은 비교 결과에 기초하여 복수의 데이터들 중 적어도 일부 데이터에 대해, 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 프로듀서 해의 이웃 해를 생성할 수 있다. 이에, 그룹 탐색 최적화 데이터 클러스터링 방법은, 선택된 프로듀서 해 및 이웃 해 중 실루엣 목적 함수를 최대화하는 해로 프로듀서 해를 업데이트할 수 있다.
예를 들어, 초기 해들 중 실루엣 목적 함수를 최대화하는 해가 올드 프로듀서 해(310)로 선택되고, 올드 프로듀서 해(310) 상에서 복수의 데이터들 각각에 대한 난수(311)가 도면과 같이 (0, 1) 사이에서 생성되었다면, 그룹 탐색 최적화 데이터 클러스터링 방법은 미리 설정된 기준 확률인 0.3과 복수의 데이터들 각각에 대한 난수(311)를 비교하여, 0.3보다 작은 난수를 갖는 데이터
Figure 112017055364689-pat00076
, 데이터
Figure 112017055364689-pat00077
및 데이터
Figure 112017055364689-pat00078
가 클러스터링되는 클러스터를 임의로 변경함으로써, 올드 프로듀서 해(310)의 이웃 해인 새로운 프로듀서 해(320)를 생성할 수 있다. 올드 프로듀서 해(310)의 실루엣 목적 함수의 값은 0.08142이고, 새로운 프로듀서 해(320)의 실루엣 목적 함수의 값은 0.57779이므로, 그룹 탐색 최적화 데이터 클러스터링 방법은 올드 프로듀서 해(310) 및 새로운 프로듀서 해(320) 중 실루엣 목적 함수를 최대화하는 새로운 프로듀서 해(320)를 이번 세대의 최종적인 프로듀서 해로 선정하여 업데이트할 수 있다.
이와 같이 업데이트된 이번 세대의 최종적인 프로듀서 해는 후술되는 스크라운저 해들을 업데이트하는 과정에서 활용될 수 있다. 이에 대한 상세한 설명은 도 4를 참조하여 기재하기로 한다.
또한, 업데이트된 이번 세대의 프로듀서 해는, 다음 세대에서 초기 프로듀서 해로 사용될 수도 있다. 이에 대한 상세한 설명은 도 6 내지 7을 참조하여 기재하기로 한다.
도 4는 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법에서 스크라운저 해들을 업데이트하는 과정을 설명하기 위한 도면이다.
도 4를 참조하면, 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법은, 적어도 하나의 세대 동안에 초기 해들 중 프로듀서 해를 제외한 나머지 해들 중 미리 설정된 확률에 따라 스크라운저 해들을 획득, 업데이트할 수 있다.
구체적으로, 그룹 탐색 최적화 데이터 클러스터링 방법은, 초기 해들 중 도 3을 참조하여 상술된 최초로 선택된 프로듀서 해(초기 해들 중 실루엣 목적 함수를 최대화하는 해)를 제외한 나머지 해들 중 미리 설정된 확률에 따라 스크라운저 해들을 획득할 수 있다. 그 다음, 그룹 탐색 최적화 데이터 클러스터링 방법은 획득된 스크라운저 해들 각각에서 복수의 데이터들 각각에 대한 난수를 생성하고, 생성된 난수를 미리 설정된 기준 확률과 비교할 수 있다. 그 다음, 그룹 탐색 최적화 데이터 클러스터링 방법은 비교 결과에 기초하여 복수의 데이터들 중 적어도 일부 데이터에 대해, 적어도 일부 데이터가 클러스터링되는 클러스터를 프로듀서 해(여기서, 프로듀서 해는, 도 3을 참조하여 상술된 바와 같이 업데이트되어 최종적으로 선택된 프로듀서 해를 의미함)와 동일하게 변경함으로써, 스크라운저 해들의 이웃 해들을 생성할 수 있다. 이에, 그룹 탐색 최적화 데이터 클러스터링 방법은, 스크라운저 해들 및 이웃 해들 중 실루엣 목적 함수를 최대화하는 해들로 스크라운저 해들을 업데이트할 수 있다.
예를 들어, 초기 해들 중 프로듀서 해를 제외한 나머지 해들 중 30%의 해들이 스크라운저 해들로 획득되고, 스크라운저 해들 중 특정 올드 스크라운저 해(410) 상에서 복수의 데이터들 각각에 대한 난수(411)가 도면과 같이 (0, 1) 사이에서 생성되었다면, 그룹 탐색 최적화 데이터 클러스터링 방법은 미리 설정된 기준 확률인 0.3과 복수의 데이터들 각각에 대한 난수(411)를 비교하여, 0.3보다 작은 난수를 갖는 데이터
Figure 112017055364689-pat00079
, 데이터
Figure 112017055364689-pat00080
, 데이터
Figure 112017055364689-pat00081
및 데이터
Figure 112017055364689-pat00082
가 클러스터링되는 클러스터를 프로듀서 해(420)에서 데이터
Figure 112017055364689-pat00083
, 데이터
Figure 112017055364689-pat00084
, 데이터
Figure 112017055364689-pat00085
및 데이터
Figure 112017055364689-pat00086
가 클러스터링되는 클러스터와 동일하게 변경함으로써, 특정 올드 스크라운저 해(410)의 이웃 해인 새로운 스크라운저 해(430)를 생성할 수 있다. 특정 올드 스크라운저 해(410)의 실루엣 목적 함수의 값은 -0.22649이고, 새로운 스크라운저 해(430)의 실루엣 목적 함수의 값은 0.29918이므로, 그룹 탐색 최적화 데이터 클러스터링 방법은 특정 올드 스크라운저 해(410) 및 새로운 스크라운저 해(430) 중 실루엣 목적 함수를 최대화하는 새로운 스크라운저 해(430)를 이번 세대의 최종적인 스크라운저 해로 업데이트할 수 있다.
이와 같은 업데이트 과정은 스크라운저 해들 모두에 대해 수행됨으로써, 스크라운저 해들 전반에 걸쳐 각각의 실루엣 목적 함수가 최대화될 수 있다.
또한, 이처럼 업데이트된 이번 세대의 스크라운저 해들은, 다음 세대에서 초기 스크라운저 해들로 사용될 수도 있다. 이에 대한 상세한 설명은 도 6 내지 7을 참조하여 기재하기로 한다.
도 5는 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법에서 레인저 해들을 업데이트하는 과정을 설명하기 위한 도면이다.
도 5를 참조하면, 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법은, 적어도 하나의 세대 동안에 초기 해들 중 프로듀서 해 및 스크라운저 해들을 제외한 나머지 해들을 레인저 해들로 설정, 업데이트할 수 있다.
구체적으로, 그룹 탐색 최적화 데이터 클러스터링 방법은, 초기 해들 중 도 3을 참조하여 상술된 최초로 선택된 프로듀서 해(초기 해들 중 실루엣 목적 함수를 최대화하는 해)와 도 4를 참조하여 상술된 최초로 획득된 스크라운저 해들을 제외한 나머지 해들을 레인저 해들로 설정할 수 있다. 그 다음, 그룹 탐색 최적화 데이터 클러스터링 방법은 설정된 레인저 해들 각각에서 복수의 데이터들 각각에 대한 난수를 생성하고, 생성된 난수를 미리 설정된 기준 확률과 비교할 수 있다. 그 다음, 그룹 탐색 최적화 데이터 클러스터링 방법은 비교 결과에 기초하여 복수의 데이터들 중 적어도 일부 데이터에 대해, 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 레인저 해들의 전역 해들을 생성할 수 있다. 이에, 그룹 탐색 최적화 데이터 클러스터링 방법은, 레인저 해들 및 전역 해들 중 실루엣 목적 함수를 최대화하는 해들로 레인저 해들을 업데이트할 수 있다.
예를 들어, 초기 해들 중 프로듀서 해 및 스크라운저 해들을 제외한 나머지 해들이 레인저 해들로 설정되고, 레인저 해들 중 특정 올드 레인저 해(510) 상에서 복수의 데이터들 각각에 대한 난수(511)가 도면과 같이 (0, 1) 사이에서 생성되었다면, 그룹 탐색 최적화 데이터 클러스터링 방법은 미리 설정된 기준 확률인 0.3과 복수의 데이터들 각각에 대한 난수(511)를 비교하여, 0.3보다 작은 난수를 갖는 데이터
Figure 112017055364689-pat00087
, 데이터
Figure 112017055364689-pat00088
, 데이터
Figure 112017055364689-pat00089
및 데이터
Figure 112017055364689-pat00090
가 클러스터링되는 클러스터를 임의로 변경함으로써, 특정 올드 레인저 해(510)의 전역 해인 새로운 레인저 해(520)를 생성할 수 있다. 특정 올드 레인저 해(510)의 실루엣 목적 함수의 값은 0.01087이고, 새로운 레인저 해(520)의 실루엣 목적 함수의 값은 -0.19457이므로, 그룹 탐색 최적화 데이터 클러스터링 방법은 특정 올드 레인저 해(510) 및 새로운 레인저 해(520) 중 실루엣 목적 함수를 최대화하는 특정 올드 레이저 해(510)를 이번 세대의 최종적인 레인저 해로 업데이트할 수 있다.
이와 같은 업데이트 과정은 레인저 해들 모두에 대해 수행됨으로써, 레인저 해들 전반에 걸쳐 각각의 실루엣 목적 함수가 최대화될 수 있다.
또한, 이처럼 업데이트된 이번 세대의 레인저 해들은, 다음 세대에서 초기 레인저 해들로 사용될 수도 있다. 이에 대한 상세한 설명은 도 6 내지 7을 참조하여 기재하기로 한다.
도 6은 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법을 나타낸 플로우 차트이다.
도 6을 참조하면, 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 방법은 하드웨어 모듈인 그룹 탐색 최적화 데이터 클러스터링 시스템에 의해 수행되는 것으로, 컴퓨터에서 판독 가능한 매체에 저장된 컴퓨터 프로그램의 형태로 구현될 수 있다.
그룹 탐색 최적화 데이터 클러스터링 시스템은, 복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 문제의 해와 관련하여, 복수의 클러스터들 각각 내에서 데이터들 사이의 거리 및 복수의 클러스터들간 데이터들 사이의 거리와 관련된 실루엣 목적 함수를 설정한다(S610).
구체적으로, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 식 4 내지 6을 통하여 정의되는 실루엣 목적 함수를 설정함으로써, 후술되는 그룹 탐색 최적화 기법을 적용하는 과정에서 실루엣 목적 함수를 평가 기준으로 활용할 수 있다.
이어서, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성한다(S620).
S620에서, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 도 2를 참조하여 상술한 바와 같이, 초기 해들 중 실루엣 목적 함수를 최대화하는 초기 해의 클러스터 개수를 최적의 클러스터 개수로 결정함으로써, 최적의 클러스터 개수에 기초하여 초기 해들을 업데이트할 수 있다.
이 때, S620에서, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 식 2와 같이 정의되는 복수의 데이터들 각각이 복수의 클러스터들 중 하나의 클러스터에 클러스터링되는 조건과 식 3과 같이 정의되는 복수의 클러스터들 각각에 복수의 데이터들 중 적어도 하나 이상의 데이터가 클러스터링되는 조건을 만족하도록 초기 해들을 임의로 생성할 수 있다.
예를 들어, 10개의 데이터들
Figure 112017055364689-pat00091
각각이 3개의 클러스터들(최적의 클러스터 개수가 3개로 결정됨)로 클러스터링되는 경우, S620에서 임의로 생성되는 초기 해들은 3*10의 2차원 해로 표현될 수 있다.
그 다음, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 도 2 내지 5를 참조하여 상술된 바와 같이, 적어도 하나의 세대 동안에, 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 초기 해들을 업데이트하여 최적의 해를 획득할 수 있다(S630). 이에 대한 상세한 설명은 도 7을 참조하여 기재하기로 한다.
그 후, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 최적의 해를 참조하여 복수의 데이터들을 복수의 클러스터들로 클러스터링한다(S640).
이처럼, 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 시스템은, 클러스터 개수를 적응적으로 결정하는 것과 그룹 탐색 최적화 기법을 적용함에 있어, 평가 기준으로 실루엣 평가 함수를 사용함으로써, 제한된 시간 내에서 데이터에 대한 사전 정보 없이도 클러스터 내에서의 거리뿐만 아니라 클러스터간의 거리를 더 고려하며, 데이터 클러스터링 문제에 대한 최적의 해를 효율적으로 탐색할 수 있다.
도 7은 도 6에 도시된 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 초기 해들을 업데이트하여 최적의 해를 획득하는 단계를 구체적으로 나타낸 플로우 차트이다.
도 7을 참조하면, 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 시스템은, 최적의 해를 획득하는 과정을 다음과 같은 세부 과정을 통하여 수행할 수 있다.
우선, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 초기 해들 중 실루엣 목적 함수를 최대화하는 프로듀서 해를 선택할 수 있다(S710).
이어서, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 초기 해들 중 프로듀서 해를 제외한 나머지 해들 중 미리 설정된 확률에 따라 스크라운저 해들을 획득할 수 있다(S720).
그 다음, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 초기 해들 중 프로듀서 해 및 스크라운저 해들을 제외한 나머지 해들을 레인저 해들로 설정할 수 있다(S730).
그 다음, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 적어도 하나의 세대 동안에, 실루엣 목적 함수를 이용하여 프로듀서 해, 스크라운저 해들 및 레인저 해들을 업데이트할 수 있다(S740).
예를 들어, S740에서, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 프로듀서 해 상에서 복수의 데이터들 각각에 대한 난수를 생성하고, 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하며, 비교 결과에 기초하여 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 프로듀서 해의 이웃 해를 생성한 뒤, 프로듀서 해 및 이웃 해 중 실루엣 목적 함수를 최대화하는 해로 프로듀서 해를 업데이트할 수 있다.
다른 예를 들면, S740에서, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 스크라운저 해들 각각에서 복수의 데이터들 각각에 대한 난수를 생성하고, 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하며, 비교 결과에 기초하여 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 프로듀서 해와 동일하게 변경함으로써, 스크라운저 해들의 이웃 해들을 생성한 뒤, 스크라운저 해들 및 이웃 해들 중 실루엣 목적 함수를 최대화하는 해들로 스크라운저 해들을 업데이트할 수 있다.
또 다른 예를 들면, S740에서, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 레인저 해들 각각에서 복수의 데이터들 각각에 대한 난수를 생성하고, 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하며, 비교 결과에 기초하여 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 레인저 해들의 전역 해들을 생성한 뒤, 레인저 해들 및 전역 해들 중 실루엣 목적 함수를 최대화하는 해들로 레인저 해들을 업데이트할 수 있다.
이와 같은 프로듀서 해, 스크라운저 해들 및 레인저 해들의 업데이트 과정은, 적어도 하나의 세대의 반복 횟수와 미리 설정된 반복 횟수를 비교하거나, 획득된 최적의 해와 미리 설정된 기준 해를 비교하거나, 최적의 해를 획득하는데 소요된 시간과 미리 설정된 시간을 비교함으로써, 중지될 수 있다.
또한, S740에서 업데이트된 이번 세대의 프로듀서 해, 스크라운저 해들, 레인저 해들은 다음 세대 동안에 초기 프로듀서 해, 초기 스크라운저 해들, 초기 레인저 해들로 사용될 수도 있다. 그러나 이에 제한되거나 한정되지 않고, S740에서 업데이트된 이번 세대의 프로듀서 해, 스크라운저 해들, 레인저 해들은 다음 세대 동안의 S710 내지 S730을 통하여 선택, 획득, 설정된 프로듀서 해, 스크라운저 해들, 레인저 해들 각각과 실루엣 평가 함수를 평가 기준으로 비교되는 것으로 사용될 수도 있다.
그 후, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 업데이트된 프로듀서 해, 업데이트된 스크라운저 해들 및 업데이트된 레인저 해들 중 실루엣 목적 함수를 최대화하는 최적의 해를 결정할 수 있다(S750).
즉, S750에서, 그룹 탐색 최적화 데이터 클러스터링 시스템은, 업데이트된 프로듀서 해, 업데이트된 스크라운저 해들 및 업데이트된 레인저 해들 중 복수의 클러스터들간 데이터들 사이의 거리 및 복수의 클러스터들 각각 내에서 데이터들 사이의 거리의 차가 가장 큰 최적의 해를 결정할 수 있다.
도 8은 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 시스템을 나타낸 블록도이다.
도 8을 참조하면, 일 실시예에 따른 그룹 탐색 최적화 데이터 클러스터링 시스템은, 실루엣 목적 함수 설정부(810), 초기 해 생성부(820), 최적 해 획득부(830) 및 클러스터링부(840)를 포함한다.
실루엣 목적 함수 설정부(810)는, 복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 문제의 해와 관련하여, 복수의 클러스터들 각각 내에서 데이터들 사이의 거리 및 복수의 클러스터들간 데이터들 사이의 거리와 관련된 실루엣 목적 함수를 설정한다.
구체적으로, 실루엣 목적 함수 설정부(810)는, 식 4 내지 6을 통하여 정의되는 실루엣 목적 함수를 설정함으로써, 후술되는 그룹 탐색 최적화 기법을 적용하는 과정에서 실루엣 목적 함수를 평가 기준으로 활용할 수 있다.
초기 해 생성부(820)는, 복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성한다.
여기서, 초기 해 생성부(820)는, 도 2를 참조하여 상술한 바와 같이, 초기 해들 중 실루엣 목적 함수를 최대화하는 초기 해의 클러스터 개수를 최적의 클러스터 개수로 결정함으로써, 최적의 클러스터 개수에 기초하여 초기 해들을 업데이트할 수 있다.
이 때, 초기 해 생성부(820)는, 식 2와 같이 정의되는 복수의 데이터들 각각이 복수의 클러스터들 중 하나의 클러스터에 클러스터링되는 조건과 식 3과 같이 정의되는 복수의 클러스터들 각각에 복수의 데이터들 중 적어도 하나 이상의 데이터가 클러스터링되는 조건을 만족하도록 초기 해들을 임의로 생성할 수 있다.
최적 해 획득부(830)는, 도 2 내지 5를 참조하여 상술된 바와 같이, 적어도 하나의 세대 동안에, 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 초기 해들을 업데이트하여 최적의 해를 획득할 수 있다.
구체적으로, 최적 해 획득부(830)는, 그룹 탐색 최적화 해 설정부(도면에는 도시되지 않음), 해 업데이트부(도면에는 도시되지 않음) 및 최적 해 결정부(도면에는 도시되지 않음)를 포함함으로써, 최적의 해를 획득하는 과정을 세분화하여 수행할 수 있다.
그룹 탐색 최적화 해 설정부는, 초기 해들 중 실루엣 목적 함수를 최대화하는 프로듀서 해를 선택하고, 초기 해들 중 프로듀서 해를 제외한 나머지 해들 중 미리 설정된 확률에 따라 스크라운저 해들을 획득하며, 초기 해들 중 프로듀서 해 및 스크라운저 해들을 제외한 나머지 해들을 레인저 해들로 설정할 수 있다.
해 업데이트부는, 적어도 하나의 세대 동안에, 실루엣 목적 함수를 이용하여 프로듀서 해, 스크라운저 해들 및 레인저 해들을 업데이트할 수 있다.
예를 들어, 해 업데이트부는, 프로듀서 해 상에서 복수의 데이터들 각각에 대한 난수를 생성하고, 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하며, 비교 결과에 기초하여 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 프로듀서 해의 이웃 해를 생성한 뒤, 프로듀서 해 및 이웃 해 중 실루엣 목적 함수를 최대화하는 해로 프로듀서 해를 업데이트할 수 있다.
다른 예를 들면, 해 업데이트부는, 스크라운저 해들 각각에서 복수의 데이터들 각각에 대한 난수를 생성하고, 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하며, 비교 결과에 기초하여 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 프로듀서 해와 동일하게 변경함으로써, 스크라운저 해들의 이웃 해들을 생성한 뒤, 스크라운저 해들 및 이웃 해들 중 실루엣 목적 함수를 최대화하는 해들로 스크라운저 해들을 업데이트할 수 있다.
또 다른 예를 들면, 해 업데이트부는, 레인저 해들 각각에서 복수의 데이터들 각각에 대한 난수를 생성하고, 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하며, 비교 결과에 기초하여 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 레인저 해들의 전역 해들을 생성한 뒤, 레인저 해들 및 전역 해들 중 실루엣 목적 함수를 최대화하는 해들로 레인저 해들을 업데이트할 수 있다.
이와 같은 프로듀서 해, 스크라운저 해들 및 레인저 해들의 업데이트 과정은, 적어도 하나의 세대의 반복 횟수와 미리 설정된 반복 횟수를 비교하거나, 획득된 최적의 해와 미리 설정된 기준 해를 비교하거나, 최적의 해를 획득하는데 소요된 시간과 미리 설정된 시간을 비교함으로써, 중지될 수 있다.
또한, 해 업데이트부에서 업데이트된 이번 세대의 프로듀서 해, 스크라운저 해들, 레인저 해들은 다음 세대 동안에 초기 프로듀서 해, 초기 스크라운저 해들, 초기 레인저 해들로 사용될 수도 있다. 그러나 이에 제한되거나 한정되지 않고, 해 업데이트부에서 업데이트된 이번 세대의 프로듀서 해, 스크라운저 해들, 레인저 해들은 다음 세대 동안 그룹 탐색 최적화 해 설정부를 통하여 선택, 획득, 설정된 프로듀서 해, 스크라운저 해들, 레인저 해들 각각과 실루엣 평가 함수를 평가 기준으로 비교되는 것으로 사용될 수도 있다.
최적 해결정부는, 업데이트된 프로듀서 해, 업데이트된 스크라운저 해들 및 업데이트된 레인저 해들 중 실루엣 목적 함수를 최대화하는 최적의 해를 결정할 수 있다.
즉, 최적 해 결정부는, 업데이트된 프로듀서 해, 업데이트된 스크라운저 해들 및 업데이트된 레인저 해들 중 복수의 클러스터들간 데이터들 사이의 거리 및 복수의 클러스터들 각각 내에서 데이터들 사이의 거리의 차가 가장 큰 최적의 해를 결정할 수 있다.
클러스터링부(840)는, 최적의 해를 참조하여 복수의 데이터들을 복수의 클러스터들로 클러스터링한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (17)

  1. 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법에 있어서,
    복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 문제의 해와 관련하여, 상기 복수의 클러스터들 각각 내에서 데이터들 사이의 거리 및 상기 복수의 클러스터들간 데이터들 사이의 거리와 관련된 실루엣 목적 함수를 설정하는 단계;
    상기 복수의 데이터들 각각이 상기 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성하는 단계;
    적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 상기 초기 해들을 업데이트하여 최적의 해를 획득하는 단계; 및
    상기 최적의 해를 참조하여 상기 복수의 데이터들을 상기 복수의 클러스터들로 클러스터링하는 단계
    를 포함하는 그룹 탐색 최적화 데이터 클러스터링 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 상기 초기 해들을 업데이트하여 최적의 해를 획득하는 단계는,
    상기 초기 해들 중 상기 실루엣 목적 함수를 최대화하는 프로듀서 해를 선택하는 단계;
    상기 초기 해들 중 상기 프로듀서 해를 제외한 나머지 해들 중 미리 설정된 확률에 따라 스크라운저 해들을 획득하는 단계;
    상기 초기 해들 중 상기 프로듀서 해 및 상기 스크라운저 해들을 제외한 나머지 해들을 레인저 해들로 설정하는 단계;
    상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 단계; 및
    상기 업데이트된 프로듀서 해, 상기 업데이트된 스크라운저 해들 및 상기 업데이트된 레인저 해들 중 상기 실루엣 목적 함수를 최대화하는 상기 최적의 해를 결정하는 단계
    를 포함하는 그룹 탐색 최적화 데이터 클러스터링 방법.
  3. 제2항에 있어서,
    상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 단계는,
    상기 프로듀서 해 상에서 상기 복수의 데이터들 각각에 대한 난수를 생성하는 단계;
    상기 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하는 단계;
    상기 비교 결과에 기초하여 상기 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 상기 프로듀서 해의 이웃 해를 생성하는 단계; 및
    상기 프로듀서 해 및 상기 이웃 해 중 상기 실루엣 목적 함수를 최대화하는 해로 상기 프로듀서 해를 업데이트하는 단계
    를 포함하는 그룹 탐색 최적화 데이터 클러스터링 방법.
  4. 제2항에 있어서,
    상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 단계는,
    상기 스크라운저 해들 각각에서 상기 복수의 데이터들 각각에 대한 난수를 생성하는 단계;
    상기 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하는 단계;
    상기 비교 결과에 기초하여 상기 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 상기 프로듀서 해와 동일하게 변경함으로써, 상기 스크라운저 해들의 이웃 해들을 생성하는 단계; 및
    상기 스크라운저 해들 및 상기 이웃 해들 중 상기 실루엣 목적 함수를 최대화하는 해들로 상기 스크라운저 해들을 업데이트하는 단계
    를 포함하는 그룹 탐색 최적화 데이터 클러스터링 방법.
  5. 제2항에 있어서,
    상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 단계는,
    상기 레인저 해들 각각에서 상기 복수의 데이터들 각각에 대한 난수를 생성하는 단계;
    상기 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하는 단계;
    상기 비교 결과에 기초하여 상기 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 상기 레인저 해들의 전역 해들을 생성하는 단계; 및
    상기 레인저 해들 및 상기 전역 해들 중 상기 실루엣 목적 함수를 최대화하는 해들로 상기 레인저 해들을 업데이트하는 단계
    를 포함하는 그룹 탐색 최적화 데이터 클러스터링 방법.
  6. 제2항에 있어서,
    상기 업데이트된 프로듀서 해, 상기 업데이트된 스크라운저 해들 및 상기 업데이트된 레인저 해들 중 상기 실루엣 목적 함수를 최대화하는 상기 최적의 해를 결정하는 단계는,
    상기 업데이트된 프로듀서 해, 상기 업데이트된 스크라운저 해들 및 상기 업데이트된 레인저 해들 중 상기 복수의 클러스터들간 데이터들 사이의 거리 및 상기 복수의 클러스터들 각각 내에서 데이터들 사이의 거리의 차가 가장 큰 상기 최적의 해를 결정하는 단계
    를 포함하는 그룹 탐색 최적화 데이터 클러스터링 방법.
  7. 제2항에 있어서,
    상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 단계는,
    상기 적어도 하나의 세대의 반복 횟수와 미리 설정된 반복 횟수를 비교하거나, 상기 획득된 최적의 해와 미리 설정된 기준 해를 비교하거나, 상기 최적의 해를 획득하는데 소요된 시간과 미리 설정된 시간을 비교함으로써, 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 것을 중지하는 단계
    를 더 포함하는 그룹 탐색 최적화 데이터 클러스터링 방법.
  8. 제2항에 있어서,
    상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 단계는,
    상기 업데이트된 프로듀서 해, 상기 업데이트된 스크라운저 해들 및 상기 업데이트된 레인저 해들을 다음 세대 동안에 사용하는 단계
    를 더 포함하는 그룹 탐색 최적화 데이터 클러스터링 방법.
  9. 제1항에 있어서,
    상기 복수의 데이터들 각각이 상기 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성하는 단계는,
    상기 초기 해들 중 상기 실루엣 목적 함수를 최대화하는 초기 해의 클러스터 개수를 최적의 클러스터 개수로 결정하는 단계; 및
    상기 최적의 클러스터 개수에 기초하여 상기 초기 해들을 업데이트하는 단계
    를 더 포함하는 그룹 탐색 최적화 데이터 클러스터링 방법.
  10. 제1항에 있어서,
    상기 복수의 데이터들 각각이 상기 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성하는 단계는,
    상기 복수의 데이터들 각각이 상기 복수의 클러스터들 중 하나의 클러스터에 클러스터링되는 조건 및 복수의 클러스터들 각각에는 복수의 데이터들 중 적어도 하나 이상의 데이터가 클러스터링되는 조건을 만족하도록 상기 초기 해들을 임의로 생성하는 단계
    를 포함하는 그룹 탐색 최적화 데이터 클러스터링 방법.
  11. 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법을 실행시키기 위해 컴퓨터로 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 그룹 탐색 최적화 데이터 클러스터링 방법은,
    복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 문제의 해와 관련하여, 상기 복수의 클러스터들 각각 내에서 데이터들 사이의 거리 및 상기 복수의 클러스터들간 데이터들 사이의 거리와 관련된 실루엣 목적 함수를 설정하는 단계;
    상기 복수의 데이터들 각각이 상기 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성하는 단계;
    적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 상기 초기 해들을 업데이트하여 최적의 해를 획득하는 단계; 및
    상기 최적의 해를 참조하여 상기 복수의 데이터들을 상기 복수의 클러스터들로 클러스터링하는 단계
    를 포함하는 기록 매체에 저장된 컴퓨터 프로그램.
  12. 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 시스템에 있어서,
    복수의 데이터들 각각이 복수의 클러스터들로 클러스터링되는 문제의 해와 관련하여, 상기 복수의 클러스터들 각각 내에서 데이터들 사이의 거리 및 상기 복수의 클러스터들간 데이터들 사이의 거리와 관련된 실루엣 목적 함수를 설정하는 실루엣 목적 함수 설정부;
    상기 복수의 데이터들 각각이 상기 복수의 클러스터들로 클러스터링되는 문제에 대한 초기 해들을 임의로 생성하는 초기 해 생성부;
    적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 평가 기준으로 그룹 탐색 최적화 기법에 따라 상기 초기 해들을 업데이트하여 최적의 해를 획득하는 최적 해 획득부; 및
    상기 최적의 해를 참조하여 상기 복수의 데이터들을 상기 복수의 클러스터들로 클러스터링하는 클러스터링부
    를 포함하는 그룹 탐색 최적화 데이터 클러스터링 시스템.
  13. 제12항에 있어서,
    상기 최적 해 획득부는,
    상기 초기 해들 중 상기 실루엣 목적 함수를 최대화하는 프로듀서 해를 선택하고, 상기 초기 해들 중 상기 프로듀서 해를 제외한 나머지 해들 중 미리 설정된 확률에 따라 스크라운저 해들을 획득하며, 상기 초기 해들 중 상기 프로듀서 해 및 상기 스크라운저 해들을 제외한 나머지 해들을 레인저 해들로 설정하는 그룹 탐색 최적화 해 설정부;
    상기 적어도 하나의 세대 동안에, 상기 실루엣 목적 함수를 이용하여 상기 프로듀서 해, 상기 스크라운저 해들 및 상기 레인저 해들을 업데이트하는 해 업데이트부; 및
    상기 업데이트된 프로듀서 해, 상기 업데이트된 스크라운저 해들 및 상기 업데이트된 레인저 해들 중 상기 실루엣 목적 함수를 최대화하는 상기 최적의 해를 결정하는 최적 해 결정부
    를 포함하는 그룹 탐색 최적화 데이터 클러스터링 시스템.
  14. 제13항에 있어서,
    상기 해 업데이트부는,
    상기 프로듀서 해 상에서 상기 복수의 데이터들 각각에 대한 난수를 생성하고, 상기 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하며, 상기 비교 결과에 기초하여 상기 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 상기 프로듀서 해의 이웃 해를 생성하고, 상기 프로듀서 해 및 상기 이웃 해 중 상기 실루엣 목적 함수를 최대화하는 해로 상기 프로듀서 해를 업데이트하는, 그룹 탐색 최적화 데이터 클러스터링 시스템.
  15. 제13항에 있어서,
    상기 해 업데이트부는,
    상기 스크라운저 해들 각각에서 상기 복수의 데이터들 각각에 대한 난수를 생성하고, 상기 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하며, 상기 비교 결과에 기초하여 상기 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 상기 프로듀서 해와 동일하게 변경함으로써, 상기 스크라운저 해들의 이웃 해들을 생성하고, 상기 스크라운저 해들 및 상기 이웃 해들 중 상기 실루엣 목적 함수를 최대화하는 해들로 상기 스크라운저 해들을 업데이트하는, 그룹 탐색 최적화 데이터 클러스터링 시스템.
  16. 제13항에 있어서,
    상기 해 업데이트부는,
    상기 레인저 해들 각각에서 상기 복수의 데이터들 각각에 대한 난수를 생성하고, 상기 복수의 데이터들 각각에 대한 난수를 미리 설정된 기준 확률과 비교하며, 상기 비교 결과에 기초하여 상기 복수의 데이터들 중 적어도 일부 데이터가 클러스터링되는 클러스터를 임의로 변경함으로써, 상기 레인저 해들의 전역 해들을 생성하고, 상기 레인저 해들 및 상기 전역 해들 중 상기 실루엣 목적 함수를 최대화하는 해들로 상기 레인저 해들을 업데이트하는, 그룹 탐색 최적화 데이터 클러스터링 시스템.
  17. 제12항에 있어서,
    상기 초기 해 생성부는,
    상기 초기 해들 중 상기 실루엣 목적 함수를 최대화하는 초기 해의 클러스터 개수를 최적의 클러스터 개수로 결정하고, 상기 최적의 클러스터 개수에 기초하여 상기 초기 해들을 업데이트하는, 그룹 탐색 최적화 데이터 클러스터링 시스템.
KR1020170072879A 2017-06-12 2017-06-12 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템 KR101919698B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170072879A KR101919698B1 (ko) 2017-06-12 2017-06-12 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170072879A KR101919698B1 (ko) 2017-06-12 2017-06-12 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101919698B1 true KR101919698B1 (ko) 2018-11-16

Family

ID=64565147

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170072879A KR101919698B1 (ko) 2017-06-12 2017-06-12 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101919698B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112925990A (zh) * 2021-02-26 2021-06-08 上海哔哩哔哩科技有限公司 目标群体分类方法及装置
CN117251755A (zh) * 2023-11-17 2023-12-19 核工业北京地质研究院 地震属性的聚类方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112925990A (zh) * 2021-02-26 2021-06-08 上海哔哩哔哩科技有限公司 目标群体分类方法及装置
CN117251755A (zh) * 2023-11-17 2023-12-19 核工业北京地质研究院 地震属性的聚类方法
CN117251755B (zh) * 2023-11-17 2024-02-27 核工业北京地质研究院 地震属性的聚类方法

Similar Documents

Publication Publication Date Title
US9613298B2 (en) Tracking using sensor data
JP4970531B2 (ja) 1つ以上のオブジェクトの行動を自動的に特徴付けるための方法。
KR101348904B1 (ko) 고차 상관 클러스터링을 이용한 이미지 분할 방법, 이를 처리하는 시스템 및 기록매체
US9563822B2 (en) Learning apparatus, density measuring apparatus, learning method, computer program product, and density measuring system
CN117057446A (zh) 机器学习和深度学习模型的基于梯度的自动调整
US20160162805A1 (en) Method and apparatus for classifying data, and method and apparatus for segmenting region of interest (roi)
JP2017062713A (ja) 識別器作成装置、識別器作成方法、およびプログラム
JP2012234528A (ja) 画像をスーパーピクセルにセグメント化する方法
JP5939056B2 (ja) 画像におけるテキスト領域を位置決めする方法及び装置
JP5123759B2 (ja) パターン検出器の学習装置、学習方法及びプログラム
WO2009152509A1 (en) Method and system for crowd segmentation
KR20210096473A (ko) 신뢰도 추정을 통한 글로벌 및 로컬 검색을 기반으로 한 견고한 시각적 물체 추적
WO2016095068A1 (en) Pedestrian detection apparatus and method
KR101919698B1 (ko) 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템
JP4926266B2 (ja) 学習データ作成装置、学習データ作成方法及びプログラム
CN109886311A (zh) 增量聚类方法、装置、电子设备和计算机可读介质
Chen et al. ChangeNet: Learning to detect changes in satellite images
US20210397948A1 (en) Learning method and information processing apparatus
KR101557577B1 (ko) 전자현미경 영상의 입자 분할 방법 및 장치
KR101953479B1 (ko) 거리의 상대적 비율을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템
CN113821657A (zh) 基于人工智能的图像处理模型训练方法及图像处理方法
KR20190105147A (ko) 반딧불 알고리즘을 이용한 데이터 클러스터링 방법 및 시스템
CN115953430B (zh) 基于改进的批量样本损失函数的视频单目标跟踪方法及系统
Yang et al. Probabilistic multimodal optimization
JP2023126130A (ja) オブジェクト検出のためのコンピュータにより実施される方法、データ処理機器及びコンピュータプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant