KR101906678B1 - 효율적인 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템 - Google Patents

효율적인 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템 Download PDF

Info

Publication number
KR101906678B1
KR101906678B1 KR1020160155816A KR20160155816A KR101906678B1 KR 101906678 B1 KR101906678 B1 KR 101906678B1 KR 1020160155816 A KR1020160155816 A KR 1020160155816A KR 20160155816 A KR20160155816 A KR 20160155816A KR 101906678 B1 KR101906678 B1 KR 101906678B1
Authority
KR
South Korea
Prior art keywords
solutions
solution
search spaces
data
groups
Prior art date
Application number
KR1020160155816A
Other languages
English (en)
Other versions
KR20180057321A (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 KR1020160155816A priority Critical patent/KR101906678B1/ko
Publication of KR20180057321A publication Critical patent/KR20180057321A/ko
Application granted granted Critical
Publication of KR101906678B1 publication Critical patent/KR101906678B1/ko

Links

Images

Classifications

    • G06F17/30318
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2219Large Object storage; Management thereof

Abstract

일실시예에 따르면, 효율적인 혼합 시뮬레이티드 어닐링(Efficient Hybrid Simulated Annealing; EHSA) 기반의 데이터 클러스터링 방법은 복수의 데이터들이 클러스터링된 복수의 그룹들 각각의 편차의 총합과 관련된 목적 함수를 설정하는 단계; 적어도 하나의 세대 동안에, 상기 복수의 데이터들이 상기 복수의 그룹들로 클러스터링되는 것과 관련되어 임의로 설정된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하는 단계; 상기 적어도 하나의 세대 동안에, 상기 1차 해를 기초로 SA(Simulated Annealing) 기법을 수행하여 최적 해가 존재할 복수의 탐색 공간의 해들을 추출하는 단계; 및 상기 적어도 하나의 세대 동안에, 상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 단계를 포함한다.

Description

효율적인 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템{METHOD AND SYSTEM FOR DATA CLUSTERING BASED ON EFFICIENT HYBRID SIMULATED ANNEALING}
아래의 실시예들은 데이터 클러스터링 시스템 및 그 방법에 대한 것으로, 보다 상세하게는, K-means 기법 및 SA(Simulated Annealing) 기법이 혼합된 효율적인 혼합 시뮬레이티드 어닐링(Efficient Hybrid Simulated Annealing; EHSA)을 이용하는 데이터 클러스터링 기술에 관한 것이다.
사물 인터넷(Internet of Things; IoT)의 비즈니스 모델에서는 빅 데이터를 분석하여 가치 있는 정보를 추출하고, 이에 대응하여 적합한 서비스 시나리오를 제공하는 것이 매우 중요하다.
구체적으로, 사물 인터넷의 비즈니스 모델의 개발 프레임 워크를 나타낸 도 1을 살펴보면, 사물 인터넷의 비즈니스 모델(100)은 빅 데이터 분석 기능 중심의 빅 데이터 플랫폼(110)과 서비스 시나리오 제공 기능 중심의 서비스 플랫폼(120)으로 구성된다. 이에, 복수의 IoT 디바이스들에서 데이터를 생성하여 빅 데이터 플랫폼(110)으로 전달하면, 빅 데이터 플랫폼(110)은 복수의 IoT 디바이스들로부터 수집되는 빅 데이터를 분석하여 가치 있는 정보를 추출하고, 서비스 플랫폼(120)은 빅 데이터 플랫폼(110)의 분석 결과에 따라 적합한 서비스 시나리오를 제공한다.
따라서, 수익 창출을 위한 적합한 서비스 시나리오가 제공되기 위해서는 빅 데이터 플랫폼(110)에서 빅 데이터를 분석하는 기능이 정확하게 수행되어야 한다.
이에 따라, 최근 빅 데이터를 분석하는 기능 중 데이터 클러스터링과 관련하여 K-means 기법과 같은 많은 연구가 진행되었다. 그러나, K-means 기법만을 사용하는 데이터 클러스터링은 랜덤하게 선택되는 초기 해에 따라 탐색되는 해의 편차가 매우 크고, 지역 해만을 탐색하게 되는 한계를 갖는다.
따라서, 빅 데이터의 분석을 위하여 안정적이고 빠르게 전역 해를 탐색할 수 있는 데이터 클러스터링 기법이 요구된다.
일실시예들은 K-means 기법 및 SA 기법이 혼합된 효율적인 혼합 시뮬레이티드 어닐링을 이용하는 데이터 클러스터링 방법 및 시스템을 제공함으로써, 안정적이고 빠르게 전역 해를 탐색하는 데이터 클러스터링 기술을 제안한다.
구체적으로, 일실시예들은 임의로 설정된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하고, 1차 해를 기초로 SA 기법을 수행하여 복수의 탐색 공간의 해들을 추출한 뒤, 복수의 탐색 공간의 해들 각각에 대해 K-means 기법을 수행하여 최적 해를 선정하는 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템을 제공한다.
일실시예에 따르면, 효율적인 혼합 시뮬레이티드 어닐링(Efficient Hybrid Simulated Annealing; EHSA) 기반의 데이터 클러스터링 방법은 복수의 데이터들이 클러스터링된 복수의 그룹들 각각의 편차의 총합과 관련된 목적 함수를 설정하는 단계; 적어도 하나의 세대 동안에, 상기 복수의 데이터들이 상기 복수의 그룹들로 클러스터링되는 것과 관련되어 임의로 설정된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하는 단계; 상기 적어도 하나의 세대 동안에, 상기 1차 해를 기초로 SA(Simulated Annealing) 기법을 수행하여 최적 해가 존재할 복수의 탐색 공간의 해들을 추출하는 단계; 및 상기 적어도 하나의 세대 동안에, 상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 단계를 포함한다.
상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 단계는 상기 복수의 탐색 공간의 해들 각각에 대해, 상기 복수의 그룹들 각각의 평균을 산출하는 단계; 상기 복수의 탐색 공간의 해들 각각에 대해, 상기 복수의 그룹들 각각에 포함되는 데이터와 상기 복수의 그룹들 각각의 평균 사이의 거리를 평가 함수로 계산하는 단계; 상기 복수의 탐색 공간의 해들 각각의 상기 평가 함수가 최적화되도록 상기 복수의 탐색 공간의 해들 각각을 업데이트하여 복수의 2차 해들을 획득하는 단계; 및 상기 복수의 2차 해들 중 상기 목적 함수를 최적화하는 상기 최적 해를 선정하는 단계를 포함할 수 있다.
상기 복수의 탐색 공간의 해들 각각의 상기 평가 함수가 최적화되도록 상기 복수의 탐색 공간의 해들 각각을 업데이트하여 복수의 2차 해들을 획득하는 단계는 상기 복수의 탐색 공간의 해들 각각에 대해, 상기 복수의 데이터들 각각을 상기 복수의 그룹들 중 상기 복수의 그룹들 각각의 평균과의 거리가 가장 가까운 그룹으로 재할당하여, 상기 복수의 탐색 공간의 해들 각각을 업데이트하는 단계를 포함할 수 있다.
상기 복수의 탐색 공간의 해들 각각을 업데이트하는 단계는 상기 업데이트된 복수의 탐색 공간의 해들 각각을 상기 평가 함수에 따라 평가한 결과를 기초로, 상기 복수의 탐색 공간의 해들 각각을 업데이트하는 것을 반복하는 단계; 또는 상기 업데이트된 복수의 탐색 공간의 해들 각각을 상기 평가 함수에 따라 평가한 결과를 기초로, 상기 복수의 탐색 공간의 해들 각각을 업데이트하는 것을 중단하여, 상기 업데이트된 복수의 탐색 공간의 해들을 상기 복수의 2차 해들로 획득하는 단계 중 어느 하나의 단계를 포함할 수 있다.
상기 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하는 단계는 상기 복수의 데이터들이 상기 복수의 그룹들로 클러스터링되는 것과 관련된 상기 초기 해를 임의로 설정하는 단계; 상기 초기 해에 기초하여 상기 복수의 그룹들 각각의 평균을 산출하는 단계; 상기 복수의 그룹들 각각에 포함되는 데이터와 상기 복수의 그룹들 각각의 평균 사이의 거리를 평가 함수로 계산하는 단계; 및 상기 평가 함수가 최적화되도록 상기 초기 해를 업데이트하여 상기 1차 해를 획득하는 단계를 포함할 수 있다.
상기 1차 해를 기초로 SA(Simulated Annealing) 기법을 수행하여 최적 해가 존재할 복수의 탐색 공간의 해들을 추출하는 단계는 상기 1차 해에 기초하여 데이터 군집 평가 값을 설정하는 단계; 상기 SA 기법의 규칙에 의해 이웃 해를 생성하는 단계; 상기 이웃 해의 데이터 군집 평가 값과 상기 1차 해의 데이터 군집 평가 값을 비교하는 단계; 확률적으로 이웃 해를 채택하는 단계; 및 상기 비교 결과 및 상기 채택 결과에 기초하여 상기 복수의 탐색 공간의 해들을 획득하는 단계를 포함할 수 있다.
상기 복수의 탐색 공간의 해들을 획득하는 단계는 상기 SA 기법을 적어도 하나의 세대 동안에 반복 수행하여 상기 복수의 탐색 공간의 해들을 업데이트하는 단계를 더 포함할 수 있다.
상기 데이터 클러스터링 방법은 상기 적어도 하나의 세대의 반복 횟수와 미리 설정된 반복 횟수를 비교하거나, 상기 최적 해와 미리 설정된 기준 해를 비교하여 상기 최적 해를 선정하는 것을 중단하는 단계를 더 포함할 수 있다.
상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 단계는 상기 최적 해를 다음 세대에서 상기 K-means 기법을 수행하여 상기 1차 해를 탐색하는 과정 중 상기 초기 해로 사용하는 단계를 더 포함할 수 있다.
상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 단계는 상기 최적 해에 기초하여 상기 복수의 데이터들을 상기 복수의 그룹들로 클러스터링하는 단계를 포함할 수 있다.
상기 목적 함수를 설정하는 단계는 상기 복수의 그룹들의 개수, 상기 복수의 데이터들이 상기 복수의 그룹들로 클러스터링되는 것과 관련된 해의 표현, 상기 SA 기법에서 이웃 해를 채택할 확률, 상기 SA 기법의 반복 횟수 및 상기 SA 기법에서 이웃 해를 생성하는 확률과 관련된 파라미터를 설정하는 단계를 더 포함할 수 있다.
일실시예에 따르면, 전자 기기를 구현하는 컴퓨터와 결합하여, 효율적인 혼합 시뮬레이티드 어닐링(Efficient Hybrid Simulated Annealing; EHSA) 기반의 데이터 클러스터링 방법을 실행시키기 위해 매체에 저장된 컴퓨터 프로그램에 있어서, 상기 데이터 클러스터링 방법은 복수의 데이터들이 클러스터링된 복수의 그룹들 각각의 편차의 총합과 관련된 목적 함수를 설정하는 단계; 적어도 하나의 세대 동안에, 상기 복수의 데이터들이 상기 복수의 그룹들로 클러스터링되는 것과 관련되어 임의로 설정된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하는 단계; 상기 적어도 하나의 세대 동안에, 상기 1차 해를 기초로 SA(Simulated Annealing) 기법을 수행하여 최적 해가 존재할 복수의 탐색 공간의 해들을 추출하는 단계; 및 상기 적어도 하나의 세대 동안에, 상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 단계를 포함한다.
일실시예에 따르면, 효율적인 혼합 시뮬레이티드 어닐링(Efficient Hybrid Simulated Annealing; EHSA) 기반의 데이터 클러스터링 시스템은 복수의 데이터들이 클러스터링된 복수의 그룹들 각각의 편차의 총합과 관련된 목적 함수를 설정하는 설정부; 적어도 하나의 세대 동안에, 상기 복수의 데이터들이 상기 복수의 그룹들로 클러스터링되는 것과 관련되어 임의로 설정된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하는 1차 해 탐색부; 상기 적어도 하나의 세대 동안에, 상기 1차 해를 기초로 SA(Simulated Annealing) 기법을 수행하여 최적 해가 존재할 복수의 탐색 공간의 해들을 추출하는 탐색 공간의 해 추출부; 및 상기 적어도 하나의 세대 동안에, 상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 최적 해 선정부를 포함한다.
상기 최적 해 선정부는 상기 복수의 탐색 공간의 해들 각각에 대해 상기 복수의 그룹들 각각의 평균을 산출하고, 상기 복수의 탐색 공간의 해들 각각에 대해 상기 복수의 그룹들 각각에 포함되는 데이터와 상기 복수의 그룹들 각각의 평균 사이의 거리를 평가 함수로 계산하며, 상기 복수의 탐색 공간의 해들 각각의 상기 평가 함수가 최적화되도록 상기 복수의 탐색 공간의 해들 각각을 업데이트하여 복수의 2차 해들을 획득하고, 상기 복수의 2차 해들 중 상기 목적 함수를 최적화하는 상기 최적 해를 선정할 수 있다.
일실시예들은 K-means 기법 및 SA 기법이 혼합된 효율적인 혼합 시뮬레이티드 어닐링을 이용하는 데이터 클러스터링 방법 및 시스템을 제공함으로써, 안정적이고 빠르게 전역 해를 탐색하는 데이터 클러스터링 기술을 제안할 수 있다.
구체적으로, 일실시예들은 임의로 설정된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하고, 1차 해를 기초로 SA 기법을 수행하여 복수의 탐색 공간의 해들을 추출한 뒤, 복수의 탐색 공간의 해들 각각에 대해 K-means 기법을 수행하여 최적 해를 선정하는 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템을 제공할 수 있다.
따라서, 일실시예들은 지역 및 전역 사이에서 해 탐색의 밸런스를 조화롭게 맞추어, 빅 데이터 분야에서 비계층적 데이터 클러스터링 방법의 성능을 효율적으로 개선할 수 있다.
도 1은 일반적인 사물 인터넷의 비즈니스 모델의 개발 프레임 워크를 나타낸 도면이다.
도 2는 일실시예에 따른 데이터 클러스터링 방법을 나타낸 플로우 차트이다.
도 3은 도 2에 도시된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하는 단계를 구체적으로 나타낸 플로우 차트이다.
도 4는 도 2에 도시된 1차 해를 기초로 SA 기법을 수행하여 복수의 탐색 공간의 해들을 추출하는 단계를 구체적으로 나타낸 플로우 차트이다.
도 5는 도 2에 도시된 복수의 탐색 공간의 해들 각각에 대해 K-means 기법을 수행하여 최적 해를 선정하는 단계를 구체적으로 나타낸 플로우 차트이다.
도 6은 일실시예에 따른 데이터 클러스터링 시스템을 나타낸 블록도이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
또한, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 시청자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 2는 일실시예에 따른 데이터 클러스터링 방법을 나타낸 플로우 차트이다. 이하, 일실시예에 따른 효율적인 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법은 클러스터링 시스템에 의해 수행된다. 여기서, 클러스터링 시스템은 하드웨어 모듈로 구현될 수 있으나, 이에 제한되거나 한정되지 않고, 전자 기기를 구현하는 컴퓨터와 결합되는 매체에 저장된 컴퓨터 프로그램의 형태로 구현될 수도 있다.
도 2를 참조하면, 일실시예에 따른 데이터 클러스터링 시스템은 복수의 데이터들을 복수의 그룹들로 클러스터링하는 문제에 대해 수리적으로 정립할 수 있다.
예를 들어, 복수의 데이터들이
Figure 112016114125296-pat00001
과 같이 n개의 데이터 집합으로 구성되고(각 데이터
Figure 112016114125296-pat00002
는 d 차원 특징(feature)로 구성되며, i번째 데이터의 특징 값은
Figure 112016114125296-pat00003
로 표현됨), 복수의 데이터들이 K개의 복수의 그룹들로 클러스터링되는 경우, 복수의 데이터들이 복수의 그룹들로 클러스터링되는 것은 식 1과 같은 매트릭스
Figure 112016114125296-pat00004
로 정의될 수 있다.
<식 1>
Figure 112016114125296-pat00005

식 1에서, i번째 데이터
Figure 112016114125296-pat00006
가 k번째 그룹(클러스터)에 클러스터링되는 경우에
Figure 112016114125296-pat00007
는 1의 이진 변수로 표시되며, 그렇지 않는 경우에는 0의 이진 변수로 표시된다.
또한, 데이터 클러스터링 시스템이 정의하는 복수의 데이터들을 복수의 그룹들로 클러스터링하는 문제는 i번째 데이터
Figure 112016114125296-pat00008
가 적어도 어느 하나의 그룹에 포함되는 것과 j번째 그룹에 적어도 하나 이상의 데이터가 포함되는 것을 전제로 한다.
이에, 식 1을 기반으로, i번째 데이터
Figure 112016114125296-pat00009
가 j번째 그룹에 포함되는 여부는 식 2와 같이 표현된다.
<식 2>
Figure 112016114125296-pat00010

또한, 식 2를 기반으로, j번째 그룹에 적어도 하나 이상의 i번째 데이터
Figure 112016114125296-pat00011
가 포함되는 여부는 식 3과 같이 표현된다.
<식 3>
Figure 112016114125296-pat00012

이와 같이 정의되는 복수의 데이터들이 복수의 그룹들로 클러스터링되는 문제에서, K번째 그룹에서 d번째 특징의 평균
Figure 112016114125296-pat00013
은 식 3을 기반으로 식 4와 같이 산출된다.
<식 4>
Figure 112016114125296-pat00014

또한, 식 4를 기반으로 k번째 그룹 내에서의 편차
Figure 112016114125296-pat00015
가 식 5와 같이 계산된다.
<식 5>
Figure 112016114125296-pat00016

따라서, 식 5를 기반으로, 복수의 데이터들이 클러스터링된 복수의 그룹들 각각의 편차의 총합(k개의 그룹들 각각의 편차를 모두 합산한 값)
Figure 112016114125296-pat00017
은 식 6과 같이 표현된다.
<식 6>
Figure 112016114125296-pat00018

즉, 복수의 데이터들이 복수의 그룹들로 클러스터링되는 문제는 목적 함수
Figure 112016114125296-pat00019
를 식 7과 같이 최소화하는 해를 얻는 것으로 정의된다.
<식 7>
Figure 112016114125296-pat00020

이에, 데이터 클러스터링 시스템은 복수의 데이터들을 복수의 그룹들로 클러스터링하는 문제를 해결하기 위하여, 복수의 데이터들이 클러스터링된 복수의 그룹들 각각의 편차의 총합과 관련된 목적 함수를 설정한다(210).
또한, 210 단계에서, 데이터 클러스터링 시스템은 복수의 데이터들을 클러스터링할 복수의 그룹들의 개수, 복수의 데이터들이 복수의 그룹들로 클러스터링되는 것과 관련된 해의 표현 및 후술되는 SA(Simulated Annealing) 기법과 관련된 파라미터를 설정할 수 있다.
예를 들어, 데이터 클러스터링 시스템은 분석할 복수의 데이터들이 150개이고, 클러스터링할 그룹의 개수가 3개로 설정된 경우, 해의 표현으로 2차원 매트릭스 3*150의 형태를 설정할 수 있다. 이러한 경우, 첫 번째 데이터가 첫 번째 그룹에 클러스터링되는 것(할당 되는 것)은 (1, 0)으로 표현하고, 나머지 데이터들이 복수의 그룹들로 클러스터링되는 것 역시 동일한 방식으로 표현될 수 있다.
여기서, SA 기법과 관련된 파라미터는 SA 기법에서 이웃 해(위해 해)를 채택할 확률과 SA 기법의 반복 횟수를 결정하는 역할을 하는 초기 온도 T의 값, 탐색 확률을 낮추고 수렴적 탐색을 증가시키기 위해 초기 온도 T를 감소시키는 역할을 하는 감소 온도
Figure 112016114125296-pat00021
T의 값, 이웃 해를 생성하는 확률의 역할을 하는 이웃 해 탐색 횟수 t의 값을 포함할 수 있다.
이와 같은 SA 기법과 관련된 파라미터를 설정하는 과정에서, 데이터 클러스터링 시스템은 클러스터링할 데이터들의 개수 및 크기에 기초하여, 각 파라미터를 적응적으로 설정할 수 있다.
이어서, 데이터 클러스터링 시스템은 임의로 설정된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색한다(220). 이하, 초기 해 및 1차 해를 포함하는 모든 해들은 복수의 데이터들이 복수의 그룹들로 클러스터링되는 문제에 대한 해를 의미한다. 이에 대한 상세한 설명은 도 3을 참조하여 기재하기로 한다.
그 다음, 데이터 클러스터링 시스템은 1차 해를 기초로 SA(Simulated Annealing) 기법을 수행하여 최적 해가 존재할 복수의 탐색 공간의 해들을 추출한다(230). 이에 대한 상세한 설명은 도 4를 참조하여 기재하기로 한다.
그 후, 데이터 클러스터링 시스템은 복수의 탐색 공간의 해들 각각에 대해, K-means 기법을 수행하여 목적 함수를 최적화하는 최적 해를 선정한다(240).
구체적으로, 220 단계에서, 데이터 클러스터링 시스템은 복수의 탐색 공간의 해들 각각에서 K-means 기법을 수행하여 복수의 2차 해들을 획득한 뒤, 복수의 2차 해들 중 목적 함수를 최적화하는 최적 해를 선정할 수 있다. 따라서, 선정된 최적 해는 복수의 데이터들이 클러스터링된 복수의 그룹들 각각의 편차의 총합을 최소화하는 해일 수 있다. 이에 대한 상세한 설명은 도 5를 참조하여 기재하기로 한다.
이 때, 데이터 클러스터링 시스템은 220 단계 내지 240 단계를 적어도 하나의 세대 동안에 수행할 수 있다. 이에, 데이터 클러스터링 시스템은 220 단계 내지 240 단계를 적어도 하나의 세대 동안 반복 수행한 이후, 종료 조건이 만족되는지를 판단할 수 있다(250). 여기서, 종료 조건은 적어도 하나의 세대의 반복 횟수와 미리 설정된 반복 횟수를 비교하거나, 선정된 최적 해와 미리 설정된 기준 해를 비교하거나, 최적 해를 산정하는데 소요된 시간과 미리 설정된 시간을 비교하는 조건일 수 있다.
만약, 종료 조건이 만족되는 경우, 데이터 클러스터링 시스템은 최적 해를 선정하는 것을 중단할 수 있다.
반면에, 종료 조건이 만족되지 않는 경우, 데이터 클러스터링 시스템은 상술한 220 단계 내지 240 단계를 다시 한번의 세대 동안 반복 수행할 수 있다. 이러한 경우, 데이터 클러스터링 시스템은 이전 세대에서 선정된 최적 해를 다음 세대에서의 220 단계 중 초기 해로 사용할 수 있다. 즉, 데이터 클러스터링 시스템은 이전 세대에서 선정된 최적 해를 다음 세대에서의 220 단계 중 K-means 기법의 초기 해로 사용할 수 있다.
240 단계에서 최적의 해가 선정되고 종료 조건이 만족되면, 데이터 클러스터링 시스템은 최적 해에 기초하여 복수의 데이터들을 복수의 그룹들로 클러스터링한다.
상술한 바와 같이 일실시예에 따른 데이터 클러스터링 시스템은 적은 계산 복잡도에 따라 효율적으로 지역 해를 탐색하는 K-means 기법과 안정적으로 전역 해를 탐색하는 SA 기법을 K-means 기법, SA 기법 및 K-means 기법의 순서로 순차적으로 혼합하여 사용함으로써, 지역 및 전역 사이에서 해 탐색의 밸런스를 조화롭게 맞추며, 안정적이고 효율적으로, 복수의 데이터들을 복수의 그룹들로 클러스터링하는 최적 해를 탐색할 수 있다.
도 3은 도 2에 도시된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하는 단계를 구체적으로 나타낸 플로우 차트이다.
도 3을 참조하면, 일실시예에 따른 데이터 클러스터링 시스템은 복수의 데이터들이 복수의 그룹들로 클러스터링되는 것과 관련된 초기 해를 임의로 설정할 수 있다(310).
이어서, 데이터 클러스터링 시스템은 초기 해에 기초하여 복수의 그룹들 각각의 평균을 산출할 수 있다(320). 이 때, 복수의 그룹들 각각의 평균은 초기 해에서 복수의 그룹들 각각 내의 특징의 평균을 의미한다.
그 다음, 데이터 클러스터링 시스템은 복수의 그룹들 각각에 포함되는 데이터와 복수의 그룹들 각각의 평균 사이의 거리를 평가 함수로 계산할 수 있다(330).
그 후, 데이터 클러스터링 시스템은 평가 함수가 최적화되도록 초기 해를 업데이트하여 1차 해를 획득할 수 있다(340).
구체적으로, 340 단계에서 데이터 클러스터링 시스템은 복수의 데이터들 각각을 복수의 그룹들 중 복수의 그룹들 각각의 평균과의 거리가 가장 가까운 그룹으로 재할당하여 초기 해를 업데이트할 수 있다. 예를 들어, 데이터 클러스터링 시스템은 복수의 그룹들 각각에 포함되는 데이터와 복수의 그룹들 각각의 평균 사이의 거리를 나타내는 평가 함수가 최소화되도록, 모든 데이터들에 대해 각 그룹의 평균과의 거리가 가장 가까운 그룹의 소속으로 각 데이터를 재할당하여 그룹들을 업데이트함으로써, 초기 해를 업데이트할 수 있다.
이 때, 데이터 클러스터링 시스템은 320 단계 내지 340 단계를 적어도 하나의 세대 동안에 수행할 수 있다. 이에, 데이터 클러스터링 시스템은 320 단계 내지 340 단계를 적어도 하나의 세대 동안 반복 수행한 이후, 업데이트된 초기 해를 평가 함수에 따라 평가한 결과를 기초로, 종료 조건이 만족되는지를 판단할 수 있다(350).
만약, 업데이트된 초기 해를 평가 함수에 따라 평가한 평가 값이 미리 설정된 기준 평가 값보다 좋은 경우 또는 업데이트된 초기 해를 평가 함수에 따라 평가한 평가 값이 더 이상 개선되지(변하지) 않는 경우, 데이터 클러스터링 시스템은 종료 조건이 만족했음을 판단하고, 초기 해를 업데이트하는 것을 중단하여, 업데이트된 초기 해를 1차 해로 획득할 수 있다.
반면에, 업데이트된 초기 해를 평가 함수에 따라 평가한 평가 값이 미리 설정된 기준 평가 값보다 나쁜 경우 또는 업데이트된 초기 해를 평가 함수에 따라 평가한 평가 값이 계속해서 개선되는(변하는) 경우, 데이터 클러스터링 시스템은 종료 조건이 만족되지 않았음을 판단하여, 초기 해를 업데이트하는 320 단계 내지 340 단계를 반복 수행할 수 있다. 이러한 경우, 데이터 클러스터링 시스템은 이전 세대에서 업데이트된 초기 해를 다음 세대에서의 320 단계 중 초기 해로 사용할 수 있다.
이와 같이 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하는 단계는 상술한 단계들에 제한되거나 한정되지 않고, 기존 널리 사용되는 K-means 기법의 세부 단계들에 따라 수행될 수 있다.
도 4는 도 2에 도시된 1차 해를 기초로 SA 기법을 수행하여 복수의 탐색 공간의 해들을 추출하는 단계를 구체적으로 나타낸 플로우 차트이다.
도 3을 참조하여 상술한 바와 같이 1차 해가 탐색되면, 일실시예에 따른 데이터 클러스터링 시스템은 1차 해를 기초로 SA 기법을 수행하여 복수의 탐색 공간의 해들을 추출할 수 있다. 이 때, SA 기법은 도 2를 참조하여 상술한 바와 같이 미리 설정된 파라미터에 기초하여 수행될 수 있다.
구체적으로, 도 4를 참조하면, 일실시예에 따른 데이터 클러스터링 시스템은 1차 해에 기초하여 데이터 군집 평가 값
Figure 112016114125296-pat00022
을 설정할 수 있다(410).
이어서, 데이터 클러스터링 시스템은 SA 기법의 규칙에 의해 이웃 해를 생성할 수 있다(420). 여기서, 데이터 클러스터링 시스템은 이웃 해를 생성하는 확률의 역할을 하는 이웃 해 탐색 횟수 t(도 2를 참조하여 설명한 미리 설정된 파라미터)에 따라 이웃 해를 생성할 수 있다.
이웃 해가 생성되면, 데이터 클러스터링 시스템은 이웃 해의 데이터 군집 평가 값
Figure 112016114125296-pat00023
을 계산한 뒤, 이웃 해의 데이터 군집 평가 값과 1차 해의 데이터 군집 평가 값을 비교할 수 있다(430).
이 때, 데이터 클러스터링 시스템은 확률적으로 이웃 해를 채택할 수 있다(440). 예를 들어, 데이터 클러스터링 시스템은 도 2를 참조하여 설명한 미리 설정된 파라미터인 이웃 해를 채택할 확률에 따라 이웃 해를 채택할 수 있다.
그 후, 데이터 클러스터링 시스템은 상기 비교 결과 및 상기 채택 결과에 기초하여 복수의 탐색 공간의 해들을 획득할 수 있다(450).
450 단계에서, 데이터 클러스터링 시스템은 탐색 확률을 낮추고 수렴적 탐색을 증가시키기 위해 초기 온도 T(도 2를 참조하여 설명한 미리 설정된 파라미터)를 감소 온도
Figure 112016114125296-pat00024
T(도 2를 참조하여 설명한 미리 설정된 파라미터)만큼 감소시킬 수 있다.
데이터 클러스터링 시스템은 410 단계 내지 450 단계를 적어도 하나의 세대 동안에 수행할 수 있다. 이에, 데이터 클러스터링 시스템은 410 단계 내지 450 단계를 적어도 하나의 세대 동안 반복 수행한 이후, 종료 조건이 만족되는지를 판단할 수 있다(460).
만약, 초기 온도 T가 감소 온도
Figure 112016114125296-pat00025
T에 의해 완전히 하강하지 않은 경우, 데이터 클러스터링 시스템은 종료 조건이 만족하지 않음을 판단하여, 410 단계 내지 450 단계를 반복 수행함으로써, 복수의 탐색 공간의 해들을 업데이트할 수 있다. 이러한 경우, 데이터 클러스터링 시스템은 이전 세대에서 획득된 복수의 탐색 공간의 해들 중 어느 하나를 다음 세대에서의 1차 해(초기 해)로 사용할 수 있다.
반면에, 초기 온도 T가 감소 온도
Figure 112016114125296-pat00026
T에 의해 완전히 하강한 경우, 데이터 클러스터링 시스템은 종료 조건이 만족했음을 판단하여, 복수의 탐색 공간의 해들을 업데이트하는 것을 중단할 수 있다.
이와 같이 1차 해를 기초로 SA 기법을 수행하여 복수의 탐색 공간의 해들을 추출하는 단계는 상술한 단계들에 제한되거나 한정되지 않고, 기존 널리 사용되는 SA 기법의 세부 단계들에 따라 수행될 수 있다.
도 5는 도 2에 도시된 복수의 탐색 공간의 해들 각각에 대해 K-means 기법을 수행하여 최적 해를 선정하는 단계를 구체적으로 나타낸 플로우 차트이다.
도 4를 참조하여 상술한 바와 같이 복수의 탐색 공간의 해들이 추출되면, 일실시예에 따른 데이터 클러스터링 시스템은 복수의 탐색 공간의 해들 각각에 대해 K-means 기법을 수행하여 최적 해를 선정할 수 있다.
구체적으로, 데이터 클러스터링 시스템은 복수의 탐색 공간의 해들 각각을 초기 해로 설정하여, 복수의 탐색 공간의 해들의 개수에 따라, 도 3을 참조하여 상술한 K-means 기법을 각각 수행함으로써, 복수의 2차 해들을 획득한 뒤, 복수의 2차 해들 중 목적 함수를 최적화하는 최적 해를 선정할 수 있다. 즉, 복수의 탐색 공간의 해들로 제1 탐색 공간의 해와 제2 탐색 공간의 해가 추출된 경우, 데이터 클러스터링 시스템은 제1 탐색 공간의 해를 초기 해로 첫 번째 K-means 기법을 수행하고, 제2 탐색 공간의 해를 초기 해로 두 번째 K-means 기법을 수행함으로써, 첫 번째 K-means 기법을 수행한 결과인 첫 번째 2차 해와 두 번째 K-means 기법을 수행한 결과인 두 번째 2차 해를 획득하여, 첫 번째 2차 해와 두 번째 2차 해 중 목적 함수를 최적화하는 최적 해를 선정할 수 있다.
보다 상세하게, 도 5를 참조하면, 일실시예에 따른 데이터 클러스터링 시스템은 복수의 탐색 공간의 해들 각각에 대해, 복수의 그룹들 각각의 평균을 산출할 수 있다(510). 이 때, 복수의 그룹들 각각의 평균은 탐색 공간의 해 별 복수의 그룹들 각각 내의 특징의 평균을 의미한다. 예를 들어, 복수의 탐색 공간의 해들로 제1 탐색 공간의 해와 제2 탐색 공간의 해가 추출된 경우, 데이터 클러스터링 시스템은 제1 탐색 공간의 해에서 복수의 그룹들 각각의 평균(이하, 첫 번째 평균)을 산출하고, 제2 탐색 공간의 해에서 복수의 그룹들 각각의 평균(이하, 두 번째 평균)을 산출할 수 있다.
그 다음, 데이터 클러스터링 시스템은 복수의 탐색 공간의 해들 각각에 대해, 복수의 그룹들 각각에 포함되는 데이터와 복수의 그룹들 각각의 평균 사이의 거리를 평가 함수로 계산할 수 있다(520). 예를 들어, 데이터 클러스터링 시스템은 제1 탐색 공간의 해에서 복수의 그룹들 각각에 포함되는 데이터와 첫 번째 평균 사이의 거리를 첫 번째 평가 함수로 계산하고, 제2 탐색 공간의 해에서 복수의 그룹들 각각에 포함되는 데이터와 두 번째 평균 사이의 거리를 두 번째 평가 함수로 계산할 수 있다.
그 후, 데이터 클러스터링 시스템은 복수의 탐색 공간의 해들 각각의 평가 함수가 최적화되도록 복수의 탐색 공간의 해들 각각을 업데이트하여 복수의 2차 해들을 획득할 수 있다(530).
구체적으로, 530 단계에서 데이터 클러스터링 시스템은 복수의 탐색 공간의 해들 각각에 대해, 복수의 데이터들 각각을 복수의 그룹들 중 복수의 그룹들 각각의 평균과의 거리가 가장 가까운 그룹으로 재할당하여 복수의 탐색 공간의 해들 각각을 업데이트할 수 있다. 예를 들어, 데이터 클러스터링 시스템은 복수의 탐색 공간의 해들 각각의 평가 함수가 최소화되도록, 복수의 탐색 공간의 해들 각각에 대해, 모든 데이터들을 각 그룹의 평균과의 거리가 가장 가까운 그룹의 소속으로 각 데이터를 재할당하여 그룹들을 업데이트함으로써, 복수의 탐색 공간의 해들 각각을 업데이트할 수 있다. 더 구체적인 예를 들면, 데이터 클러스터링 시스템은 제1 탐색 공간의 해에서 첫 번째 평가 함수가 최소화되도록 모든 데이터들에 대해 각 그룹의 평균과의 거리가 가장 가까운 그룹의 소속으로 각 데이터를 재할당하여 그룹들을 업데이트함으로써, 제1 탐색 공간의 해를 업데이트하고, 제2 탐색 공간의 해에서 두 번째 평가 함수가 최소화되도록 모든 데이터들에 대해 각 그룹의 평균과의 거리가 가장 가까운 그룹의 소속으로 각 데이터를 재할당하여 그룹들을 업데이트함으로써, 제2 탐색 공간의 해를 업데이트할 수 있다.
이 때, 데이터 클러스터링 시스템은 510 단계 내지 530 단계를 적어도 하나의 세대 동안에 수행할 수 있다. 이에, 데이터 클러스터링 시스템은 510 단계 내지 530 단계를 적어도 하나의 세대 동안 반복 수행한 이후, 업데이트된 복수의 탐색 공간의 해들을 각각의 평가 함수에 따라 평가한 결과를 기초로, 종료 조건이 만족되는지를 판단할 수 있다(540).
만약, 업데이트된 복수의 탐색 공간의 해들 각각을 복수의 탐색 공간의 해들 각각의 평가 함수에 따라 평가한 평가 값이 미리 설정된 기준 평가 값보다 좋은 경우 또는 업데이트된 복수의 탐색 공간의 해들 각각을 복수의 탐색 공간의 해들 각각의 평가 함수에 따라 평가한 평가 값이 더 이상 개선되지(변하지) 않는 경우, 데이터 클러스터링 시스템은 종료 조건이 만족했음을 판단하고, 복수의 탐색 공간의 해들을 업데이트하는 것을 중단하여, 업데이트된 복수의 탐색 공간의 해들을 복수의 2차 해들로 획득할 수 있다.
반면에, 업데이트된 복수의 탐색 공간의 해들 각각을 복수의 탐색 공간의 해들 각각의 평가 함수에 따라 평가한 평가 값이 미리 설정된 기준 평가 값보다 나쁜 경우 또는 업데이트된 복수의 탐색 공간의 해들 각각을 복수의 탐색 공간의 해들 각각의 평가 함수에 따라 평가한 평가 값이 계속해서 개선되는(변하는) 경우, 데이터 클러스터링 시스템은 종료 조건이 만족되지 않았음을 판단하여, 복수의 탐색 공간의 해들을 업데이트하는 510 단계 내지 530 단계를 반복 수행할 수 있다. 이러한 경우, 데이터 클러스터링 시스템은 이전 세대에서 업데이트된 복수의 탐색 공간의 해들을 다음 세대에서의 510 단계 중 초기 해들(복수의 탐색 공간의 해들)로 사용할 수 있다.
종료 조건이 만족되어 복수의 2차 해들이 획득되면, 데이터 클러스터링 시스템은 복수의 2차 해들 중 목적 함수를 최적화하는 최적 해를 선정할 수 있다(550). 예를 들어, 데이터 클러스터링 시스템은 복수의 데이터들이 클러스터링된 복수의 그룹들 각각의 편차의 총합을 나타내는 목적 함수를 최소화하는 최적 해를 선정할 수 있다.
도 2 내지 5를 참조하여 상술한 바와 같이, 일실시예에 따른 데이터 클러스터링 시스템은 효율적인 혼합 시뮬레이티드 어닐링 기법의 목적 함수를 K-means 기법의 평가 함수 및 SA 기법의 평가 함수(데이터 군집 평가 값)와 구별되도록 상이하게 설정함으로써, 데이터 클러스터링을 위하여 K-means 기법, SA 기법 및 K-means 기법을 순차적으로 적절하게 혼합할 수 있다.
도 6은 일실시예에 따른 데이터 클러스터링 시스템을 나타낸 블록도이다.
도 6을 참조하면, 일실시예에 따른 데이터 클러스터링 시스템은 설정부(610), 1차 해 탐색부(620), 탐색 공간의 해 추출부(630) 및 최적 해 선정부(640)를 포함한다.
설정부(610)는 복수의 데이터들이 클러스터링된 복수의 그룹들 각각의 편차의 총합과 관련된 목적 함수를 설정한다.
또한, 설정부(610)는 복수의 그룹들의 개수, 복수의 데이터들이 복수의 그룹들로 클러스터링되는 것과 관련된 해의 표현, 탐색 공간의 해 추출부(630)가 수행하는 SA 기법에서 이웃 해를 채택할 확률, SA 기법의 반복 횟수 및 SA 기법에서 이웃 해를 생성하는 확률과 관련된 파라미터를 설정할 수 있다.
1차 해 탐색부(620)는 적어도 하나의 세대 동안에, 복수의 데이터들이 복수의 그룹들로 클러스터링되는 것과 관련되어 임의로 설정된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색한다.
구체적으로, 1차 해 탐색부(620)는 복수의 데이터들이 복수의 그룹들로 클러스터링되는 것과 관련된 초기 해를 임의로 설정하고, 초기 해에 기초하여 복수의 그룹들 각각의 평균을 산출하며, 복수의 그룹들 각각에 포함되는 데이터와 복수의 그룹들 각각의 평균 사이의 거리를 평가 함수로 계산하고, 평가 함수가 최적화되도록 초기 해를 업데이트하여 1차 해를 획득할 수 있다.
예를 들어, 1차 해 탐색부(620)는 복수의 데이터들 각각을 복수의 그룹들 중 복수의 그룹들 각각의 평균과의 거리가 가장 가까운 그룹으로 재할당하여 초기 해를 업데이트함으로써, 1차 해를 획득할 수 있다.
이 때, 1차 해 탐색부(620)는 업데이트된 초기 해를 평가 함수에 따라 평가한 결과를 기초로, 초기 해를 업데이트하는 것을 반복하거나, 업데이트된 초기 해를 평가 함수에 따라 평가한 결과를 기초로, 초기 해를 업데이트하는 것을 중단하여, 업데이트된 초기 해를 1차 해로 획득할 수 있다.
만약, 초기 해를 업데이트하는 것을 반복하는 경우, 1차 해 탐색부(620)는 최적 해를 다음 세대에서 K-means 기법을 수행하여 1차 해를 탐색하는 과정 중 초기 해로 사용할 수 있다.
탐색 공간의 해 추출부(630)는 적어도 하나의 세대 동안에, 1차 해를 기초로 SA(Simulated Annealing) 기법을 수행하여 최적 해가 존재할 복수의 탐색 공간의 해들을 추출한다.
구체적으로, 탐색 공간의 해 추출부(630)는1차 해에 기초하여 데이터 군집 평가 값을 설정하고, SA 기법의 규칙에 의해 이웃 해를 생성하며, 이웃 해의 데이터 군집 평가 값과 1차 해의 데이터 군집 평가 값을 비교하고, 확률적으로 이웃 해를 채택하며, 비교 결과 및 채택 결과에 기초하여 복수의 탐색 공간의 해들을 획득할 수 있다.
여기서, 탐색 공간의 해 추출부(630)는 SA 기법을 적어도 하나의 세대 동안에 반복 수행하여 복수의 탐색 공간의 해들을 업데이트할 수 있다.
최적 해 선정부(640)는 적어도 하나의 세대 동안에, 복수의 탐색 공간의 해들 각각에 대해 K-means 기법을 수행하여 목적 함수를 최적화하는 최적 해를 선정한다.
구체적으로, 최적 해 선정부(640)는 복수의 탐색 공간의 해들 각각에 대해 복수의 그룹들 각각의 평균을 산출하고, 복수의 탐색 공간의 해들 각각에 대해 복수의 그룹들 각각에 포함되는 데이터와 복수의 그룹들 각각의 평균 사이의 거리를 평가 함수로 계산하며, 복수의 탐색 공간의 해들 각각의 평가 함수가 최적화되도록 복수의 탐색 공간의 해들 각각을 업데이트하여 복수의 2차 해들을 획득하고, 복수의 2차 해들 중 목적 함수를 최적화하는 최적 해를 선정할 수 있다.
예를 들어, 최적 해 선정부(640)는 복수의 탐색 공간의 해들 각각에 대해, 복수의 데이터들 각각을 복수의 그룹들 중 복수의 그룹들 각각의 평균과의 거리가 가장 가까운 그룹으로 재할당하여, 복수의 탐색 공간의 해들 각각을 업데이트함으로써, 복수의 2차 해들을 획득할 수 있다.
이 때, 최적 해 선정부(640)는 업데이트된 복수의 탐색 공간의 해들 각각을 평가 함수에 따라 평가한 결과를 기초로, 복수의 탐색 공간의 해들 각각을 업데이트하는 것을 반복하거나, 업데이트된 복수의 탐색 공간의 해들 각각을 평가 함수에 따라 평가한 결과를 기초로, 복수의 탐색 공간의 해들 각각을 업데이트하는 것을 중단하여, 업데이트된 복수의 탐색 공간의 해들을 복수의 2차 해들로 획득할 수 있다.
만약, 복수의 탐색 공간의 해들 각각을 업데이트하는 것을 반복하는 경우, 최적 해 선정부(640)는 복수의 탐색 공간의 해들 각각을 다음 세대에서 K-means 기법을 수행하는 과정 중 초기 해들로 사용할 수 있다.
이와 같은 설정부(610), 1차 해 탐색부(620), 탐색 공간의 해 추출부(630) 및 최적 해 선정부(640)의 동작들은 적어도 하나의 세대 동안 반복될 수 있는데, 그 반복 동작은 종료 조건에 따라 종료될 수 있다. 여기서, 종료 조건은 적어도 하나의 세대의 반복 횟수와 미리 설정된 반복 횟수를 비교하거나, 최적 해와 미리 설정된 기준 해를 비교하는 것을 포함할 수 있다.
따라서, 적어도 하나의 세대 동안 반복되는 동작을 통해 최적 해를 선정한 최적 해 선정부(640)는 최적 해에 기초하여 복수의 데이터들을 복수의 그룹들로 클러스터링할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (15)

  1. 효율적인 혼합 시뮬레이티드 어닐링(Efficient Hybrid Simulated Annealing; EHSA) 기반의 데이터 클러스터링 방법에 있어서,
    복수의 데이터들이 클러스터링된 복수의 그룹들 각각의 편차의 총합과 관련된 목적 함수를 설정하는 단계;
    적어도 하나의 세대 동안에, 상기 복수의 데이터들이 상기 복수의 그룹들로 클러스터링되는 것과 관련되어 임의로 설정된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하는 단계;
    상기 적어도 하나의 세대 동안에, 상기 1차 해를 기초로 SA(Simulated Annealing) 기법을 수행하여 최적 해가 존재할 복수의 탐색 공간의 해들을 추출하는 단계; 및
    상기 적어도 하나의 세대 동안에, 상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 단계
    를 포함하고,
    상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 단계는
    상기 복수의 탐색 공간의 해들 각각에 대해, 상기 복수의 그룹들 각각의 평균을 산출하는 단계;
    상기 복수의 탐색 공간의 해들 각각에 대해, 상기 복수의 그룹들 각각에 포함되는 데이터와 상기 복수의 그룹들 각각의 평균 사이의 거리를 평가 함수로 계산하는 단계;
    상기 복수의 탐색 공간의 해들 각각의 상기 평가 함수가 최적화되도록 상기 복수의 탐색 공간의 해들 각각을 업데이트하여 복수의 2차 해들을 획득하는 단계; 및
    상기 복수의 2차 해들 중 상기 목적 함수를 최적화하는 상기 최적 해를 선정하는 단계
    를 포함하는 데이터 클러스터링 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 복수의 탐색 공간의 해들 각각의 상기 평가 함수가 최적화되도록 상기 복수의 탐색 공간의 해들 각각을 업데이트하여 복수의 2차 해들을 획득하는 단계는
    상기 복수의 탐색 공간의 해들 각각에 대해, 상기 복수의 데이터들 각각을 상기 복수의 그룹들 중 상기 복수의 그룹들 각각의 평균과의 거리가 가장 가까운 그룹으로 재할당하여, 상기 복수의 탐색 공간의 해들 각각을 업데이트하는 단계
    를 포함하는 데이터 클러스터링 방법.
  4. 제3항에 있어서,
    상기 복수의 탐색 공간의 해들 각각을 업데이트하는 단계는
    상기 업데이트된 복수의 탐색 공간의 해들 각각을 상기 평가 함수에 따라 평가한 결과를 기초로, 상기 복수의 탐색 공간의 해들 각각을 업데이트하는 것을 반복하는 단계; 또는
    상기 업데이트된 복수의 탐색 공간의 해들 각각을 상기 평가 함수에 따라 평가한 결과를 기초로, 상기 복수의 탐색 공간의 해들 각각을 업데이트하는 것을 중단하여, 상기 업데이트된 복수의 탐색 공간의 해들을 상기 복수의 2차 해들로 획득하는 단계
    중 어느 하나의 단계를 포함하는 데이터 클러스터링 방법.
  5. 제1항에 있어서,
    상기 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하는 단계는
    상기 복수의 데이터들이 상기 복수의 그룹들로 클러스터링되는 것과 관련된 상기 초기 해를 임의로 설정하는 단계;
    상기 초기 해에 기초하여 상기 복수의 그룹들 각각의 평균을 산출하는 단계;
    상기 복수의 그룹들 각각에 포함되는 데이터와 상기 복수의 그룹들 각각의 평균 사이의 거리를 상기 평가 함수로 계산하는 단계; 및
    상기 평가 함수가 최적화되도록 상기 초기 해를 업데이트하여 상기 1차 해를 획득하는 단계
    를 포함하는 데이터 클러스터링 방법.
  6. 제1항에 있어서,
    상기 1차 해를 기초로 SA(Simulated Annealing) 기법을 수행하여 최적 해가 존재할 복수의 탐색 공간의 해들을 추출하는 단계는
    상기 1차 해에 기초하여 데이터 군집 평가 값을 설정하는 단계;
    상기 SA 기법의 규칙에 의해 이웃 해를 생성하는 단계;
    상기 이웃 해의 데이터 군집 평가 값과 상기 1차 해의 데이터 군집 평가 값을 비교하는 단계;
    확률적으로 이웃 해를 채택하는 단계; 및
    상기 비교 결과 및 상기 채택 결과에 기초하여 상기 복수의 탐색 공간의 해들을 획득하는 단계
    를 포함하는 데이터 클러스터링 방법.
  7. 제6항에 있어서,
    상기 복수의 탐색 공간의 해들을 획득하는 단계는
    상기 SA 기법을 적어도 하나의 세대 동안에 반복 수행하여 상기 복수의 탐색 공간의 해들을 업데이트하는 단계
    를 더 포함하는 데이터 클러스터링 방법.
  8. 제1항에 있어서,
    상기 적어도 하나의 세대의 반복 횟수와 미리 설정된 반복 횟수를 비교하거나, 상기 최적 해와 미리 설정된 기준 해를 비교하여 상기 최적 해를 선정하는 것을 중단하는 단계
    를 더 포함하는 데이터 클러스터링 방법.
  9. 제1항에 있어서,
    상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 단계는
    상기 최적 해를 다음 세대에서 상기 K-means 기법을 수행하여 상기 1차 해를 탐색하는 과정 중 상기 초기 해로 사용하는 단계
    를 더 포함하는 데이터 클러스터링 방법.
  10. 제1항에 있어서,
    상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 단계는
    상기 최적 해에 기초하여 상기 복수의 데이터들을 상기 복수의 그룹들로 클러스터링하는 단계
    를 포함하는 데이터 클러스터링 방법.
  11. 제1항에 있어서,
    상기 목적 함수를 설정하는 단계는
    상기 복수의 그룹들의 개수, 상기 복수의 데이터들이 상기 복수의 그룹들로 클러스터링되는 것과 관련된 해의 표현, 상기 SA 기법에서 이웃 해를 채택할 확률, 상기 SA 기법의 반복 횟수 및 상기 SA 기법에서 이웃 해를 생성하는 확률과 관련된 파라미터를 설정하는 단계
    를 더 포함하는 데이터 클러스터링 방법.
  12. 전자 기기를 구현하는 컴퓨터와 결합하여, 효율적인 혼합 시뮬레이티드 어닐링(Efficient Hybrid Simulated Annealing; EHSA) 기반의 데이터 클러스터링 방법을 실행시키기 위해 기록 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 데이터 클러스터링 방법은
    복수의 데이터들이 클러스터링된 복수의 그룹들 각각의 편차의 총합과 관련된 목적 함수를 설정하는 단계;
    적어도 하나의 세대 동안에, 상기 복수의 데이터들이 상기 복수의 그룹들로 클러스터링되는 것과 관련되어 임의로 설정된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하는 단계;
    상기 적어도 하나의 세대 동안에, 상기 1차 해를 기초로 SA(Simulated Annealing) 기법을 수행하여 최적 해가 존재할 복수의 탐색 공간의 해들을 추출하는 단계; 및
    상기 적어도 하나의 세대 동안에, 상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 단계
    를 포함하고,
    상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 단계는
    상기 복수의 탐색 공간의 해들 각각에 대해, 상기 복수의 그룹들 각각의 평균을 산출하는 단계;
    상기 복수의 탐색 공간의 해들 각각에 대해, 상기 복수의 그룹들 각각에 포함되는 데이터와 상기 복수의 그룹들 각각의 평균 사이의 거리를 평가 함수로 계산하는 단계;
    상기 복수의 탐색 공간의 해들 각각의 상기 평가 함수가 최적화되도록 상기 복수의 탐색 공간의 해들 각각을 업데이트하여 복수의 2차 해들을 획득하는 단계; 및
    상기 복수의 2차 해들 중 상기 목적 함수를 최적화하는 상기 최적 해를 선정하는 단계
    를 포함하는 기록 매체에 저장된 컴퓨터 프로그램.
  13. 삭제
  14. 효율적인 혼합 시뮬레이티드 어닐링(Efficient Hybrid Simulated Annealing; EHSA) 기반의 데이터 클러스터링 시스템에 있어서,
    복수의 데이터들이 클러스터링된 복수의 그룹들 각각의 편차의 총합과 관련된 목적 함수를 설정하는 설정부;
    적어도 하나의 세대 동안에, 상기 복수의 데이터들이 상기 복수의 그룹들로 클러스터링되는 것과 관련되어 임의로 설정된 초기 해를 기초로 K-means 기법을 수행하여 1차 해를 탐색하는 1차 해 탐색부;
    상기 적어도 하나의 세대 동안에, 상기 1차 해를 기초로 SA(Simulated Annealing) 기법을 수행하여 최적 해가 존재할 복수의 탐색 공간의 해들을 추출하는 탐색 공간의 해 추출부; 및
    상기 적어도 하나의 세대 동안에, 상기 복수의 탐색 공간의 해들 각각에 대해 상기 K-means 기법을 수행하여 상기 목적 함수를 최적화하는 최적 해를 선정하는 최적 해 선정부
    를 포함하고,
    상기 최적 해 선정부는
    상기 복수의 탐색 공간의 해들 각각에 대해 상기 복수의 그룹들 각각의 평균을 산출하고, 상기 복수의 탐색 공간의 해들 각각에 대해 상기 복수의 그룹들 각각에 포함되는 데이터와 상기 복수의 그룹들 각각의 평균 사이의 거리를 평가 함수로 계산하며, 상기 복수의 탐색 공간의 해들 각각의 상기 평가 함수가 최적화되도록 상기 복수의 탐색 공간의 해들 각각을 업데이트하여 복수의 2차 해들을 획득하고, 상기 복수의 2차 해들 중 상기 목적 함수를 최적화하는 상기 최적 해를 선정하는 데이터 클러스터링 시스템.
  15. 삭제
KR1020160155816A 2016-11-22 2016-11-22 효율적인 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템 KR101906678B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160155816A KR101906678B1 (ko) 2016-11-22 2016-11-22 효율적인 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160155816A KR101906678B1 (ko) 2016-11-22 2016-11-22 효율적인 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20180057321A KR20180057321A (ko) 2018-05-30
KR101906678B1 true KR101906678B1 (ko) 2018-10-10

Family

ID=62300512

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160155816A KR101906678B1 (ko) 2016-11-22 2016-11-22 효율적인 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101906678B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101416916B1 (ko) * 2013-12-13 2014-07-09 국방과학연구소 에이전트 기반의 군사 시뮬레이션 환경에서 물자의 최적 분배 시스템 및 그것의 제어방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150072312A (ko) * 2013-12-19 2015-06-29 가천대학교 산학협력단 빅 데이터 기반의 네트워크 패킷 분석 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101416916B1 (ko) * 2013-12-13 2014-07-09 국방과학연구소 에이전트 기반의 군사 시뮬레이션 환경에서 물자의 최적 분배 시스템 및 그것의 제어방법

Also Published As

Publication number Publication date
KR20180057321A (ko) 2018-05-30

Similar Documents

Publication Publication Date Title
CN113609779B (zh) 分布式机器学习的建模方法、装置及设备
JP4556120B2 (ja) 情報処理装置および方法、並びにプログラム
US9378266B2 (en) System and method for supporting cluster analysis and apparatus supporting the same
US20160063396A1 (en) Method and apparatus for classification
KR20120039480A (ko) 비즈니스 프로세스 관리 모델 최적화
US20230289583A1 (en) System and method for adapting a neural network model on a hardware platform
US11748615B1 (en) Hardware-aware efficient neural network design system having differentiable neural architecture search
WO2015180340A1 (zh) 一种数据挖掘方法及装置
CN106033425A (zh) 数据处理设备和数据处理方法
KR102490369B1 (ko) 그래프 임베딩과 인간참여 방식을 통한 악성코드 제작그룹 식별 방법
US11048852B1 (en) System, method and computer program product for automatic generation of sizing constraints by reusing existing electronic designs
KR20190105147A (ko) 반딧불 알고리즘을 이용한 데이터 클러스터링 방법 및 시스템
KR101952005B1 (ko) 이웃 입자 기반 특징 선택 장치 및 방법
KR102264969B1 (ko) 빅데이터 분석을 위한 시장 세분화 반딧불 알고리즘 방법 및 시스템
KR101906678B1 (ko) 효율적인 혼합 시뮬레이티드 어닐링 기반의 데이터 클러스터링 방법 및 시스템
KR101919698B1 (ko) 실루엣을 적용한 그룹 탐색 최적화 데이터 클러스터링 방법 및 시스템
CN110505632B (zh) 站址规划方法和装置
He et al. Measuring boundedness for protein complex identification in PPI networks
KR101907551B1 (ko) 확률 그래프의 효과적인 그래프 클러스터링 장치 및 방법
JP5555238B2 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
CN111198766B (zh) 数据库访问操作部署方法、数据库访问方法及装置
WO2012032747A1 (ja) 特徴点選択システム、特徴点選択方法および特徴点選択プログラム
CN112488319B (zh) 一种具有自适应配置生成器的调参方法和系统
KR102289396B1 (ko) 군장비 수리부속 품목 수요예측의 고도화를 위한 강화학습 적용
Li et al. Inference latency prediction at the edge

Legal Events

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