KR102372252B1 - 실루엣 평가 함수를 적용한 빠른 시뮬레이티드어닐링 데이터 클러스터링 방법 및 그 장치 - Google Patents

실루엣 평가 함수를 적용한 빠른 시뮬레이티드어닐링 데이터 클러스터링 방법 및 그 장치 Download PDF

Info

Publication number
KR102372252B1
KR102372252B1 KR1020200058190A KR20200058190A KR102372252B1 KR 102372252 B1 KR102372252 B1 KR 102372252B1 KR 1020200058190 A KR1020200058190 A KR 1020200058190A KR 20200058190 A KR20200058190 A KR 20200058190A KR 102372252 B1 KR102372252 B1 KR 102372252B1
Authority
KR
South Korea
Prior art keywords
solution
data
simulated annealing
calculated
silhouette
Prior art date
Application number
KR1020200058190A
Other languages
English (en)
Other versions
KR20210141066A (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 KR1020200058190A priority Critical patent/KR102372252B1/ko
Publication of KR20210141066A publication Critical patent/KR20210141066A/ko
Application granted granted Critical
Publication of KR102372252B1 publication Critical patent/KR102372252B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

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

Abstract

실루엣 평가 함수를 적용한 빠른 시뮬레이티드어닐링 데이터 클러스터링 방법 및 그 장치가 개시된다. 본 발명의 일 실시예에 따른 시뮬레이티드어닐링 데이터 클러스터링 방법은 모든 데이터 간의 상대적인 거리 비율의 합을 계산하는 단계; 상기 계산된 상대적인 거리 비율의 합에 기초하여 초기해를 선택하는 단계; 및 상기 선택된 초기해를 이용하여 실루엣 평가 함수 기반의 시뮬레이티드어닐링 데이터 클러스터링을 수행하는 단계를 포함하고, 상기 선택하는 단계는 상기 계산된 상대적인 거리 비율의 합을 이용하여 데이터 각각의 선택 확률을 계산하고, 상기 데이터 각각에 대하여 랜덤 확률 값을 할당하여 상기 계산된 선택 확률의 구간에 포함되는지 확인함으로써, 미리 설정된 개수의 중심데이터를 선택하며, 상기 선택된 중심데이터를 기준으로 클러스터를 재구성하여 상기 재구성된 클러스터 각각의 해를 생성하고, 상기 생성된 해 각각의 실루엣 평가값을 계산한 후 가장 좋은 실루엣 평가값의 해를 상기 초기해로 선택할 수 있다.

Description

실루엣 평가 함수를 적용한 빠른 시뮬레이티드어닐링 데이터 클러스터링 방법 및 그 장치 {Rapid Simulated Annealing Data Clustering Method based on Silhouette Valid Index and Apparatus Therefore}
본 발명은 실루엣 평가 함수를 적용한 빠른 시뮬레이티드어닐링(Rapid Simulated Annealing, RSA) 데이터 클러스터링 기술에 관한 것으로, 보다 상세하게는 데이터 간 상대적인 거리 비율의 합과 룰렛 휠 선택방식을 적용한 선택확률을 통해 중심데이터를 선정하고 생성된 해 중 가장 좋은 해를 초기해로 사용하여 시뮬레이티드어닐링 데이터 클러스터링을 수행함으로써, 실루엣 평가 계산 시간을 개선시킬 수 있는 시뮬레이티드어닐링 데이터 클러스터링 방법 및 그 장치에 관한 것이다.
제4차 산업혁명을 맞이하여 사물인터넷(Internet of Things, IoT)으로부터 수집된 빅데이터를 효율적으로 분석할 수 있는 방법의 연구와 개발이 필요하다. 데이터 클러스터링을 하기 위해 보편적으로 사용되는 K-means 방법은 임의로 선택한 초기 해에 따라 민감하고 탐색 해의 편차가 매우 크며 지역해에 빠질 가능성이 높다는 문제점이 있다. 특히, 최근의 빅데이터 분석을 위해서는 기존 데이터 클러스터링 방법의 한계를 극복하고 안정적이고 빠르게 전역해를 탐색할 수 있는 빅데이터 클러스터링 방법의 개발이 절실하다.
종래 일 실시예의 기술에 따르면
Figure 112020049139574-pat00001
n개의 데이터를 K개의 그룹으로 클러스터링 할 때, 경우의 수는
Figure 112020049139574-pat00002
라고 서술하였고, 데이터 클러스터링 문제에서 클러스터의 수 K가 3이상이 될 경우 가능 해의 수가 기하급수적으로 증가하여 해 탐색 공간이 엄청나게 증가하고 복잡도가 매우 커져 NP-hard 문제가 된다. 이와 같이 복잡도가 매우 큰 데이터 클러스터링 그룹핑 문제를 해결하기 위해 휴리스틱 알고리즘을 적용해야 할 필요성이 주장되었으며, 이와 관련된 기존 연구들은 다음과 같다.
종래 일 실시예의 기술은 클러스터링 문제에 시뮬레이티드어닐링(simulated annealing, SA)을 제안하였고, 종래 다른 일 실시예의 기술은 은 K-means 또는 개선된 K-means로 구한 해를 SA의 초기값으로 하는 클러스터링 방법을 제안하였다. 종래 또 다른 일 실시예의 기술은 은 K-harmonic means 클러스터링 문제를 해결하기 위해 SA를 적용하였고, 종래 또 다른 일 실시예의 기술은 유전자 알고리즘(Genetic algorithm, GA)의 교배과정 대신에 K-means 알고리즘을 적용한 Genetic K-means 방법을 제안하였으며 수렴속도를 개선하였다. 종래 또 다른 일 실시예의 기술은 GA 방법을 제안하고 기존 방법의 한계를 극복하고 전역해를 탐색할 수 있음을 검증하였다. 종래 또 다른 일 실시예의 기술은 K-means와 SA를 혼합한 방법을 제안하였으며, 종래 또 다른 일 실시예의 기술은 K-means와 SA를 다양하게 혼합한 방법(K-means+SA, SA+K-means, K-means+SA+K-means)을 제안하고 성능 비교 분석을 하였다. 이와 같이 데이터분석 분야의 데이터 클러스터링을 위해 휴리스틱 알고리즘과 연관된 연구가 계속해서 진행되고 있다.
이러한 종래 기술들의 해 평가 기준(Valid index)은 각 클러스터 내에서 데이터들이 얼마나 조밀하게 모여 있는지 클러스터 내 거리(intra-cluster distance)를 평가하여 해의 적합도를 결정하였고, 그 중 일부 기술은 클러스터 내의 거리를 최소화하면서 클러스터 간의 거리가 얼마나 뚜렷하게 구분되는지 평가할 수 있는 실루엣(Silhouette)을 사용하였기 때문에 적절한 클러스터 수를 결정할 수 있고 보다 적절한 해를 탐색할 수 있었다. 하지만, 이러한 기술은 계산시간이 상당히 소요된다는 문제점 있기 때문에 실루엣 평가 기준을 적용할 때, 계산시간을 감소시킬 수 있는 클러스터링 방법의 개발이 필요하다.
본 발명의 실시예들은, 데이터 간 상대적인 거리 비율의 합과 룰렛 휠 선택방식을 적용한 선택확률을 통해 중심데이터를 선정하고 생성된 해 중 가장 좋은 해를 초기해로 사용하여 시뮬레이티드어닐링 데이터 클러스터링을 수행함으로써, 실루엣 평가 계산 시간을 개선시킬 수 있는 시뮬레이티드어닐링 데이터 클러스터링 방법 및 그 장치를 제공한다.
본 발명의 일 실시예에 따른 시뮬레이티드어닐링 데이터 클러스터링 방법은 모든 데이터 간의 상대적인 거리 비율의 합을 계산하는 단계; 상기 계산된 상대적인 거리 비율의 합에 기초하여 초기해를 선택하는 단계; 및 상기 선택된 초기해를 이용하여 실루엣 평가 함수 기반의 시뮬레이티드어닐링 데이터 클러스터링을 수행하는 단계를 포함한다.
상기 계산하는 단계는 상기 모든 데이터 간의 거리를 계산하고, 상기 계산된 거리를 이용하여 데이터 각각을 기준으로 하는 상기 모든 데이터 간의 상대적인 거리 비율의 합을 계산할 수 있다.
상기 선택하는 단계는 상기 계산된 상대적인 거리 비율의 합에 대하여 룰렛 휠 선택(Roulette wheel selection) 방법을 적용함으로써, 상기 초기해를 선택할 수 있다.
상기 선택하는 단계는 상기 계산된 상대적인 거리 비율의 합을 이용하여 데이터 각각의 선택 확률을 계산하고, 상기 데이터 각각에 대하여 랜덤 확률 값을 할당하여 상기 계산된 선택 확률의 구간에 포함되는지 확인함으로써, 미리 설정된 개수의 중심데이터를 선택하며, 상기 선택된 중심데이터를 기준으로 클러스터를 재구성하여 상기 재구성된 클러스터 각각의 해를 생성하고, 상기 생성된 해 각각의 실루엣 평가값을 계산한 후 가장 좋은 실루엣 평가값의 해를 상기 초기해로 선택할 수 있다.
상기 시뮬레이티드어닐링 데이터 클러스터링을 수행하는 단계는 상기 선택된 초기해의 실루엣 평가값과 이웃해의 실루엣 평가값을 비교하여 상기 이웃해의 실루엣 평가값이 더 좋은 경우 해를 업데이트하고, 미리 설정된 종료 조건을 만족할 때까지 시뮬레이티드어닐링의 해를 받아들이기 위해 설정된 확률을 일정 값만큼 감소시킨 후 상기 시뮬레이티드어닐링 데이터 클러스터링을 반복 수행할 수 있다.
본 발명의 다른 일 실시예에 따른 시뮬레이티드어닐링 데이터 클러스터링 방법은 모든 데이터 간의 상대적인 거리 비율의 합을 계산하는 단계; 상기 계산된 상대적인 거리 비율의 합에 대하여 룰렛 휠 선택(Roulette wheel selection) 방법을 적용함으로써, 초기해를 선택하는 단계; 및 상기 선택된 초기해를 이용하여 실루엣 평가 함수 기반의 시뮬레이티드어닐링 데이터 클러스터링을 수행하는 단계를 포함한다.
본 발명의 일 실시예에 따른 시뮬레이티드어닐링 데이터 클러스터링 장치는 모든 데이터 간의 상대적인 거리 비율의 합을 계산하는 계산부; 상기 계산된 상대적인 거리 비율의 합에 기초하여 초기해를 선택하는 선택부; 및 상기 선택된 초기해를 이용하여 실루엣 평가 함수 기반의 시뮬레이티드어닐링 데이터 클러스터링을 수행하는 수행부를 포함한다.
상기 계산부는 상기 모든 데이터 간의 거리를 계산하고, 상기 계산된 거리를 이용하여 데이터 각각을 기준으로 하는 상기 모든 데이터 간의 상대적인 거리 비율의 합을 계산할 수 있다.
상기 선택부는 상기 계산된 상대적인 거리 비율의 합에 대하여 룰렛 휠 선택(Roulette wheel selection) 방법을 적용함으로써, 상기 초기해를 선택할 수 있다.
상기 선택부는 상기 계산된 상대적인 거리 비율의 합을 이용하여 데이터 각각의 선택 확률을 계산하고, 상기 데이터 각각에 대하여 랜덤 확률 값을 할당하여 상기 계산된 선택 확률의 구간에 포함되는지 확인함으로써, 미리 설정된 개수의 중심데이터를 선택하며, 상기 선택된 중심데이터를 기준으로 클러스터를 재구성하여 상기 재구성된 클러스터 각각의 해를 생성하고, 상기 생성된 해 각각의 실루엣 평가값을 계산한 후 가장 좋은 실루엣 평가값의 해를 상기 초기해로 선택할 수 있다.
상기 수행부는 상기 선택된 초기해의 실루엣 평가값과 이웃해의 실루엣 평가값을 비교하여 상기 이웃해의 실루엣 평가값이 더 좋은 경우 해를 업데이트하고, 미리 설정된 종료 조건을 만족할 때까지 시뮬레이티드어닐링의 해를 받아들이기 위해 설정된 확률을 일정 값만큼 감소시킨 후 상기 시뮬레이티드어닐링 데이터 클러스터링을 반복 수행할 수 있다.
본 발명의 실시예에 따르면, 데이터 간 상대적인 거리 비율의 합과 룰렛 휠 선택방식을 적용한 선택확률을 통해 중심데이터를 선정하고 생성된 해 중 가장 좋은 해를 초기해로 사용하여 시뮬레이티드어닐링 데이터 클러스터링을 수행함으로써, 실루엣 평가 계산 시간을 개선시킬 수 있다.
예를 들어, 데이터 클러스터링을 이용하여 데이터를 분석 할 때 초기해 선택을 임의적으로 할 경우 지역 해 탐색의 가능성이 높고 계산시간이 많이 소요되는데 특히, 데이터의 수가 커지고 해 평가 기준으로 실루엣을 적용할 경우는 데이터 클러스터링 해를 탐색하는 계산시간이 기하 급수적으로 증가하는 문제점은 더 확대된다.
본 발명은 데이터 간 상대적인 거리 비율의 합과 룰렛 휠 선택방식을 적용한 선택확률을 통해 중심데이터를 선정하고 생성된 해 중 가장 좋은 해를 초기해로 사용하는 RSA 데이터 클러스터링 기술을 제공함으로써, 임의의 초기해를 적용한 SA보다 실루엣 평가 값을 향상시키고 표준편차를 상대적으로 감소시켜 안정적인 해 탐색이 가능하다. 특히, 본 발명은 해를 탐색할 때 데이터의 복잡도가 크고 빅데이터 일수록 데이터 클러스터링 해의 적합도를 더욱 개선시킬 수 있고, 계산 시간을 상당히 감소시킬 수 있다.
또한, 본 발명의 실시예에 따르면, 실루엣 평가 기준을 사용하기 때문에 사전에 클러스터 수에 대한 정보 없이도 적절한 클러스터 수의 결정이 가능하다.
이러한 본 발명은 다양한 데이터 클러스터링 분야에 적용될 수 있다.
도 1은 데이터클러스터링 문제와 해 평가에 대한 일 예시도를 나타낸 것이다.
도 2는 SA 해 탐색을 위한 초기해를 선택하는 과정을 설명하기 위한 일 예시도를 나타낸 것이다.
도 3은 본 발명에서 초기해를 선택하는 과정에 대한 동작 흐름도를 나타낸 것이다.
도 4는 본 발명의 일 실시예에 따른 RSA 데이터 클러스터링 방법에 대한 동작 흐름도를 나타낸 것이다.
도 5a 내지 도 5j는 기존의 방법(SA)과 본 발명의 방법(RSA)의 수렴 그래프를 비교한 것이다.
도 6은 본 발명의 일 실시예에 따른 강건한 RSA 데이터 클러스터링 장치에 대한 구성을 나타낸 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며, 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명하고자 한다. 도면 상의 동일한 구성요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명의 실시예들은, 데이터 간 상대적인 거리 비율의 합과 룰렛 휠 선택방식을 적용한 선택확률을 통해 중심데이터를 선정하고 생성된 해 중 가장 좋은 해를 초기해로 사용하여 시뮬레이티드어닐링 데이터 클러스터링을 수행함으로써, 실루엣 평가 계산 시간을 개선시키는 것을 그 요지로 한다.
여기서, 본 발명은 초기해를 선택하는데 있어서, 모든 데이터에 대한 상대적인 거리 비율의 합을 계산할 수 있다. 즉, 본 발명은 클러스터 내와 클러스터간의 거리도 동시에 고려할 수 있는 실루엣 평가 함수를 적용함으로써, 초기해를 선택할 수 있다.
N개의 데이터
Figure 112020049139574-pat00003
를 k개의 그룹
Figure 112020049139574-pat00004
으로 클러스터링 하는 문제는 도 1을 통해 설명할 수 있다. 도 1에 도시된 바와 같이, 10개의 데이터(각 데이터 xi는 2개의 특징 a1과 a2로 이루어짐)가 K=3개의 클러스터 수로 이루어진다고 가정한다. 클러스터 A는 x1~x5, 클러스터 B는 x6~x8, 클러스터 C는 x9~x10로 이루어 진다고 하면, 데이터 클러스터링 해를 평가할 때 실루엣 평가기준 식인 아래 수학식 2, 4, 6을 사용하여 데이터 xi에 대한 실루엣 S(xi)와 모든 데이터가 포함된 클러스터링 해에 대한 실루엣 값 SIL(S(xi))를 계산한다. 클러스터 A에 포함되어 있는 데이터 xi(x1)와 클러스터 A에 속한 다른 데이터들(x2~x5)과의 평균 거리를 a(xi) 예를 들어, x1이라 할 때, 이 값이 작을수록 클러스터 내의 데이터들이 조밀하게 모여 있다는 것을 의미한다. 예를 들어, a(x1)는 아래 <수학식 1>과 같이 계산될 수 있다.
[수학식 1]
Figure 112020049139574-pat00005
클러스터 A와 다른 클러스터 B, C가 존재하고 클러스터 A에 속한 데이터
Figure 112020049139574-pat00006
i에서 다른 클러스터 B와 C의 각 데이터들과의 평균거리를 각각 d(xi, B)와 d(xi, C)라 할 때, b(xi)는 데이터 i에서 다른 클러스터 B와 C에 포함된 데이터간의 평균거리 중 가장 작은 값을 의미한다. 만약, d(xi, C)가 d(xi, B)보다 작다면 b(xi)=d(xi, C)가 된다. 이 때, b(xi)는 아래 <수학식 2>와 같이 나타낼 수 있는데, 이 값이 클수록 클러스터 간의 구별이 뚜렷하다고 판단할 수 있다.
[수학식 2]
Figure 112020049139574-pat00007
예를 들어, b(x1) 계산은 아래 <수학식 3>과 같을 수 있다.
[수학식 3]
Figure 112020049139574-pat00008
따라서, 아래 <수학식 4>와 같이 S(xi)를 계산할 수 있다. 그리고, S(x1)의 계산에 대한 일 예는 아래 <수학식 5>와 같이 나타낼 수 있다.
[수학식 4]
Figure 112020049139574-pat00009
[수학식 5]
Figure 112020049139574-pat00010
모든 데이터 xi에 대하여 S(xi)를 구하여 합한 값
Figure 112020049139574-pat00011
을 데이터 수 n으로 나누면 평균 실루엣 값 SIL(S(xi))을 구할 수 있으려, 평균 실루엣 값은 아래 <수학식 6>과 같이 나타낼 수 있다. 그리고, 평균 실루엣 값의 계산에 대한 일 예는 아래 <수학식 7>과 같이 나타낼 수 있다.
[수학식 6]
Figure 112020049139574-pat00012
[수학식 7]
Figure 112020049139574-pat00013
상기 수학식 7의 실루엣 값이 1에 가까운 0.73이므로 클러스터 내의 데이터들은 조밀하게 모여 있고 각 클러스터 간의 데이터들은 뚜렷하게 구별된다는 것을 의미이다. 실루엣 값이 -1에 가까우면 그 반대이고, 실루엣 값이 0 에 가까우면 데이터 클러스터 소속이 불분명한 경우를 의미한다.
시뮬레이티드어닐링 SA는 해 탐색 공간이 크고 복잡한 함수에서 최적해를 탐색할 수 있는 알고리즘이다. 생성한 해를 새로운 이웃 해를 생성 하면서 비교 과정을 통하여 최적해에 접근한다. 단순 비교 외에 확률치를 이용하여 새로운 이웃해 채택여부판단에서 SA의 온도 파라미터를 이용하여 다양한 새로운 해를 선택하여 지역해에 빠지 않고 해들을 탐색한다. 새로운 해가 더 좋지 않더라도 다양한 해 탐색으로 전역해를 탐색한다.
이와 같이, SA 방법은 초기해를 선택할 때 임의적으로 선택하기 때문에 지역해 탐색 확률이 높은 초기해를 선택 할 경우 계산시간이 많이 소요 될 수 있는 문제점이 있을 수 있다. 예를 들어, 도 2는 SA 해 탐색을 위한 초기해를 선택하는 과정을 설명하기 위한 일 예시도를 나타낸 것으로, X축이 특성(attribute)을 나타내는 독립변수이고 Y축은 상기 수학식 6의 실루엣 평가값을 나타내며, 1에 가까운 최대값의 해를 찾아내는 최대화하는 것이 목적이다. SA가 초기해를 임의적으로 6개를 선택할 경우 ①~⑥까지 선택 가능하고 ①과 ④~⑥의 경우 지역해를 탐색하게 될 확률이 높아 전역해를 탐색하는데 계산시간이 많이 소요될 가능성이 높다. 만약, 초기해로 ②와 ③을 선택할 수 있다면, 전역해를 탐색하게 될 확률이 높고 계산 시간도 상당히 줄일 수 있다. 따라서, 전역해를 탐색할 수 있는 SA라고 하더라도 임의의 초기해를 선택하여 해 탐색을 시작하기 보다는 도 2의 ②와 ③같이 전역해 탐색을 빠른 시간 내에 탐색할 수 있는 휴리스틱 알고리즘 방법의 개발이 필요하다. 본 발명은 RSA 데이터 클러스터링 기술을 제공함으로써, 상술한 문제점을 해결할 수 있다.
본 발명의 방법에 대해 설명하면 다음과 같다.
본 발명의 방법은 SA를 수행하기 전에 안정적인 해 탐색을 위해 확률적 거리 비율을 적용한 초기해를 선택한다.
각각의 데이터 i(xi)는 p차원(특징, attribute)으로 구성되는데, xip는 데이터 i의 특징데이터 p의 값을 표현한다. 데이터 i에서 데이터 j까지의 거리(dij)는 아래 <수학식 8>로 계산할 수 있고, 데이터 j를 기준으로 하는 모든 데이터의 상대적인 거리 비율의 합 Vj는 아래 <수학식 9>를 이용하여 계산될 수 있다. Vj가 작을수록 해당 데이터 j가 클러스터링을 할 때 중심 데이터 역할을 할 경우 다른 데이터와의 거리가 상대적으로 짧기 때문에 유리할 수 있다.
[수학식 8]
Figure 112020049139574-pat00014
[수학식 9]
Figure 112020049139574-pat00015
본 발명의 방법은 모든 데이터에 대한 거리 비율의 합(Vj)을 기준으로 룰렛 휠 선택(Roulette wheel selection) 방법을 적용하여 클러스터 수만큼 클러스터 중심 데이터를 선택하여 해를 생성한다. 즉, 데이터 j의 Vj가 작을수록 또는 역수 값 1/Vj가 데이터 j가 중심데이터로 선택될 확률을 높게 하여 클러스터 수만큼 선택하고 해를 생성한다.
도 3은 본 발명에서 초기해를 선택하는 과정에 대한 동작 흐름도를 나타낸 것으로, 확률적 거리 비율의 합(Vj)을 사용하여 안정적이고 강건한 최종해를 탐색할 수 있는 초기해를 선택하는 과정을 나타낸 것이다.
도 3을 참조하면, 본 발명에서 초기해를 선택하는 과정은 데이터 클러스터링의 수(K)와 해 표현을 결정하고, SA의 해를 받아들일 확률을 설정하는 하는 T(초기 온도), 수렴적 탐색을 증가시키기 위해 T를 감소시키는 △T(온도 감소치)와 이웃 해를 탐색하는 횟수 t를 결정한다(S310, S315).
여기서, 단계 S310과 S135의 파라미터는 본 발명의 기술을 제공하는 사업자 또는 개인에 의해 결정될 수 있으며, 바람직하게는 실험을 통하여 결정될 수 있다.
상기 파라미터가 결정되면 확률적으로 몇 개(N)의 다양한 해를 생성할 것인지 결정하고, 상기 수학식 8을 이용하여 모든 데이터간의 거리 dij를 계산하고 저장한다(S320, S325).
단계 S325에 의해 모든 데이터간의 거리가 계산되면, 계산된 거리를 이용하여 데이터 j를 기준으로 하는 모든 데이터의 상대적인 거리 비율의 합(Vj)을 상기 수학식 9를 이용하여 계산한 후 모든 Vj 의 역수 값(1/ Vj)에 대하여 룰렛 휠 선택 방식을 적용하고, 각 데이터 j의 선택 확률
Figure 112020049139574-pat00016
을 계산한다(S330 내지 S340).
상기 과정을 통해 각 데이터 j의 선택확률이 계산되면, 각 데이터 별로 랜덤 확률 값을 할당하여 선택확률 구간에 포함되는지 확인함으로써, K개의 중심데이터를 선택하고, 선택된 K개의 중심데이터를 기준으로 나머지 데이터 즉, (n-K)개의 데이터가 어느 중심점에 가까운지 계산하여 해당 클러스터 소속으로 재구성함으로써, 클러스터 각각의 해를 생성한다(S345, S350).
단계 S350에 의해 클러스터 각각의 해가 생성되면, 상기 수학식 6의 실루엣 함수를 이용하여 생성된 해 각각의 실루엣 평가값을 계산한다(S355). 그리고 상기 단계 S345 내지 S355 과정을 일정 회수 예를 들어, N회만큼 반복 수행한다(S360).
단계 S360에 의해 N회만큼 반복 수행되면, 생성된 해들 각각의 실루엣 평가값들 중 가장 좋은 실루엣 평가값의 해를 초기해로 선택한다(S365).
도 4는 본 발명의 일 실시예에 따른 RSA 데이터 클러스터링 방법에 대한 동작 흐름도를 나타낸 것으로, 도 3에서 각 데이터의 상대적인 거리 비율의 합을 활용한 초기해로 SA를 적용하여 전체 탐색공간에서 해를 탐색하는 과정을 나타낸 것이다.
도 4를 참조하면, 본 발명의 실시예에 따른 방법은 도3의 과정을 통해 생성된 해들 각각의 실루엣 평가값들 중 가장 좋은 실루엣 평가값의 해를 초기해로 선택하고, 선택된 초기해(현재해)의 데이터군집(또는 데이터 클러스터링) 실루엣 값 f(e)와 새롭게 구한 이웃해의 실루엣 값 f(n)을 상기 수학식 6으로 계산하고, f(e)와 f(n)을 비교하여 이웃해가 현재해보다 더 좋은지 판단한다(S410 내지 S430).
단계 S430 판단 결과, 더 좋은 실루엣 값의 해가 생성되면 해를 새로 업데이트 한다(S450). 만약, 단계 S430 판단 결과, 실루엣 값이 좋지 않은 해가 생성되면 해를 받아들이는 함수 [exp[((f(n)+1)-(f(e)+1))/T]에 따라 확률적으로 실루엣 값이 좋지 않은 해도 다양한 해 탐색을 위해 받아들일 수 있다(S440). 실루엣 값은 -1에서 1까지 평가되므로 SA를 적용할 때는 실루엣 값에 1을 합해서 평가 값을 0에서 2까지 범위내에서 비교할 수 있다.
초기에는 다양한 탐색을 추구하고 탐색 과정이 진행되면서 다양한 해 탐색 확률을 낮추고 수렴적 해 탐색 확률을 높이기 위해 T를 △T 만큼 감소시키고 종료조건을 만족할 때까지 현재까지 탐색한다(S460 내지 S480).
상술한 과정을 통해, 현재까지 나온 해 집합에서 실루엣 값이 가장 좋은 해를 저장한다. 그리고, 종료 조건 예를 들어, 일정 세대를 진행하여도 해의 개선이 되지 않는 조건을 만족하면 종료하고 그렇지 않으면 도 3의 단계 S320부터 반복한다.
도 5a 내지 도 5j는 기존의 방법(SA)과 본 발명의 방법(RSA)의 수렴 그래프를 비교한 것으로, 아래 표1의 10개 데이터에 대하여 2가지 데이터 클러스터링 방법(SA, RSA)을 적용했을 때 수렴 경향을 나타낸 것이다. 기존 연구에서 널리 사용한 Soybean, Ruspini, Iris, Wine, Glass, Thyroid, Breast Cancer, Vowel, Cloud, CMC의 10개의 실험데이터(UCI machine learning repository)를 사용하여 각 20회 실험 분석하였으며, 아래 표 1은 실험 분석 데이터의 클러스터 수, 각 데이터의 특징 수, 데이터 수를 나타낸 것이다. 실험 시 사용한 RSA의 파라미터 값 T(초기 온도), △T(온도 감소치), t(고정된 온도에서 이웃해 탐색 횟수)는 평가 값의 크기, 데이터 수, 특징 수, 클러스터 수를 고려하여 다양한 해를 충분히 탐색할 수 있도록 실험을 통해 설정될 수 있다.
Figure 112020049139574-pat00017
아래 표 2는 확률적 거리 비율 적용한 해 선택으로 생성된 해의 실루엣 값을 계산한 것이다. 여기서, K는 클러스터 수를 의미한다.
Figure 112020049139574-pat00018
아래 표 3은 기존 방법(SA)과 본 발명의 방법(RSA)에 대하여 계산 시간 결과를 비교한 것으로, 각 방법에 대하여 20회의 실험을 통하여 평균, 편차, 가장 좋은 값을 비교한 것이다.
Figure 112020049139574-pat00019
도 5, 표1 내지 표 3을 참조하여 설명하면, X축은 세대수를 나타내는데, 세대란 SA의 T값이 고정되어 있는 상태이고, T가 β만큼 감소했을 때 세대가 바뀐다. 평가값(Y축)은 상기 수학식 6을 사용하여 실루엣 평가 기준 값이 계산되는데 해당 세대에서 얻을 수 있는 데이터 클러스터링 해 평가 값을 구하여 실험 20회에 대한 평균값을 나타낸다.
초기값을 임의적으로 선택한 SA와 다르게 임의적으로 초기값을 선택하지 않고 확률적 데이터 거리 비율 초기해 선택 방법을 활용하여 해를 구한 후 이 해를 SA의 초기값으로 사용한 RSA는 상대적으로 좋은 초기해로 시작하여 빠르게 안정적인 해 탐색이 가능하다. 도 5의 SA와 RSA의 수렴 그래프 비교에서 알 수 있듯이 초기에 SA는 좋지 않은 해에서 시작하지만 SA 메커니즘 작동으로 뚜렷한 수렴 그래프를 나타낸다. 반면, 본 발명의 방법은 초기해 생성으로 매우 유리한 조건에서 해를 탐색 시작하기 때문에 SA의 수렴 역할 기능을 발휘 할 기회는 적다.
10개의 실험 데이터에 대하여 SA와 본 논문에서 제안하는RSA의 수렴 그래프의 한 점은 20회 실행한 값의 평균을 의미한다. 예를 들어, 상기 표 2에서 RSA를 적용할 경우Soybean의 평균 초기해 평가 값 0.3434167, Ruspini 0.6451, Iris 0.5362, Wine 0.5595, Glass 0.2113569, Thyroid 0.4006, Breast cancer 0.5824, CMC 0.4208, Vowel 0.33630925, Cloud 0.3368643 등에서 시작하고 표 3에서 Soybean 0.396772, Ruspini 0.6839, Iris 0.6054, Wine 0.5970, Glass 0.593105, Thyroid 0.6330, Breast cancer 0.5973, CMC 0.4366, Vowel 0.387720, Cloud 0.408778등으로 수렴한다.
표 3을 통해 알 수 있듯이, SA는 임의로 선택한 초기값을 사용하기 때문에 최종해를 탐색하는데 계산시간이 많이 소요되지만, 본 발명의 방법은 지역해 탐색 확률을 감소시켜 전역해 탐색에 필요한 계산 시간을 상당히 감소시킬 수 있다. 모든 실험 데이터에서 가장 최선의 해 탐색이 매우 제한적인 시간 내에 필요할 경우 즉, SA가 충분히 수렴할 수 있는 계산시간의 여유가 없을 경우 RSA가 매우 유리한 것을 알 수 있다.
SA와 RSA방법의 결과를 비교했을 때 실험 데이터 중 상대적으로 사이즈가 크고 경우의 수가 많은 Glass, Vowel, Cloud, CMC 실험 데이터의 실루엣 값이 SA의 음수(-0.03190, -0.009370, -0.015270, -0.002700)에서 RSA의 약 0.4~0.6(0.593105, 0.387720, 0.408778, 0.436618)까지 매우 향상된 것을 알 수 있다. 특히, Glass 데이터의 경우 초기해(실루엣 값 약 0.2) 선택에서 시작하여 빠른 수렴 과정을 거쳐 최고의 실루엣 값(약 0.6)을 SA의 계산시간(약135초의 계산시간을 사용하고도 실루엣 값은 0에 가까운 음수 값)의 약1/2(약 77초)을 사용하여 제시할 수 있다. Vowel과 Cloud 데이터의 경우 초기해(실루엣 값 약 0.3 이상) 선택에서 시작하여 약간의 수렴 과정을 거쳐 실루엣 값(약 0.4)을 SA의 계산시간(약 1359와 3788초의 계산시간을 사용하고도 실루엣 값은 0에 가까운 음수 값)보다 상대적으로 매우 작게 약 951초와 2557초를 사용하여 실루엣 값은 약 0.4를 갖는 해를 탐색하여 제시할 수 있다. Soybean, Ruspini, Iris는 계산시간이 충분하다면 SA방법이 RSA방법보다 더 좋은 평가 값을 제시할 수 있으며, Wine, Breast cancer, Thyroid 데이터는 약간 좋거나 유사한 실루엣 값을 탐색해 내는데 SA와 비교하여 RSA는 계산시간이 감소하여 각 데이터에 대하여 약 44.30%, 32.11%, 41.97% 개선된 것을 알 수 있다.
기존 클러스터 K-means 방법 등과 같이 클러스터 내의 평가 기준을 이용하는 방법은 적절한 클러스터 수를 K를 결정 할 수 없다. 그러나, 본 발명의 RSA는 평가 기준을 실루엣을 적용하였기 때문에 적절한 클러스터 수를 결정할 수 있다. 예를 들어, 아래 표 4와 같이 실험 데이터 Glass 경우 K=5~7와 Cloud 경우 K=9~11의 다양한 K에 대하여 실루엣 값을 비교하여 가장 적절한 K결정이 가능하다. Glass는
Figure 112020049139574-pat00020
K에 따라 실루엣 값은 차이가 거의 없으나, Cloud는 실루엣 값이 가장 큰 K=9일 때가 가장 적절한 클러스터 수라고 판단할 수 있는데, 최적(optimal) 해는 특정 평가 기준 예를 들어, 실루엣이 탐색한 해이기 때문에 사실(true) 해(Cloud 데이터의 K=10)와 일치할 필요는 없다. 본 발명에서 사용된 UCI 실험 데이터와 같이 이미 적절한 K를 알고 있는 경우가 아닌 사전 정보가 없는 데이터의 경우 본 발명의 방법이 적절한 클러스터 수를 결정 할 때 유용하게 사용될 수 있다.
Figure 112020049139574-pat00021
이와 같이, 본 발명의 실시예에 따른 방법은 데이터 간 상대적인 거리 비율의 합과 룰렛 휠 선택방식을 적용한 선택확률을 통해 중심데이터를 선정하고 생성된 해 중 가장 좋은 해를 초기해로 사용하여 시뮬레이티드어닐링 데이터 클러스터링을 수행함으로써, 실루엣 평가 계산 시간을 개선시킬 수 있다.
본 발명의 실시예에 따른 방법은 실루엣 평가 기준을 사용하기 때문에 사전에 클러스터 수에 대한 정보 없이도 적절한 클러스터 수의 결정이 가능하다.
도 6은 본 발명의 일 실시예에 따른 강건한 RSA 데이터 클러스터링 장치에 대한 구성을 나타낸 것으로, 상술한 본 발명의 방법을 수행하는 장치에 대한 개념적인 구성을 나타낸 것이다.
도 6을 참조하면, 본 발명의 실시예에 따른 장치(600)는 계산부(610), 선택부(620) 및 수행부(630)를 포함한다.
계산부(610)는 모든 데이터 간의 상대적인 거리 비율의 합을 계산한다.
이 때, 계산부(610)는 모든 데이터 간의 거리를 계산하고, 계산된 거리를 이용하여 데이터 각각을 기준으로 하는 모든 데이터 간의 상대적인 거리 비율의 합을 계산할 수 있다.
선택부(620)는 계산된 상대적인 거리 비율의 합에 기초하여 초기해를 선택한다.
이 때, 선택부(620)는 계산된 상대적인 거리 비율의 합에 대하여 룰렛 휠 선택(Roulette wheel selection) 방법을 적용함으로써, 초기해를 선택할 수 있다.
구체적으로, 선택부(620)는 계산된 상대적인 거리 비율의 합을 이용하여 데이터 각각의 선택 확률을 계산하고, 데이터 각각에 대하여 랜덤 확률 값을 할당하여 계산된 선택 확률의 구간에 포함되는지 확인함으로써, 미리 설정된 개수의 중심데이터를 선택하며, 선택된 중심데이터를 기준으로 클러스터를 재구성하여 재구성된 클러스터 각각의 해를 생성하고, 생성된 해 각각의 실루엣 평가값을 계산한 후 가장 좋은 실루엣 평가값의 해를 초기해로 선택할 수 있다.
수행부(630)는 선택된 초기해를 이용하여 실루엣 평가 함수 기반의 시뮬레이티드어닐링 데이터 클러스터링을 수행한다.
이 때, 수행부(630)는 선택된 초기해의 실루엣 평가값과 이웃해의 실루엣 평가값을 비교하여 이웃해의 실루엣 평가값이 더 좋은 경우 해를 업데이트하고, 미리 설정된 종료 조건을 만족할 때까지 시뮬레이티드어닐링의 해를 받아들이기 위해 설정된 확률을 일정 값만큼 감소시킨 후 시뮬레이티드어닐링 데이터 클러스터링을 반복 수행할 수 있다.
비록, 도 6의 장치에서 그 설명이 생략되었더라도, 도 6을 구성하는 각 구성 수단은 도 1 내지 도 5에서 설명한 모든 내용을 포함할 수 있으며, 이는 이 기술 분야에 종사하는 당업자에게 있어서 자명하다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시 예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, 산술논리연산장치(ALU, arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, 설계가능논리소자(FPGA, field programmable gate 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 (11)

  1. 모든 데이터 간의 상대적인 거리 비율의 합을 계산하는 단계;
    상기 계산된 상대적인 거리 비율의 합에 기초하여 초기해를 선택하는 단계; 및
    상기 선택된 초기해를 이용하여 실루엣 평가 함수 기반의 시뮬레이티드어닐링 데이터 클러스터링을 수행하는 단계
    를 포함하고,
    상기 시뮬레이티드어닐링 데이터 클러스터링을 수행하는 단계는
    시뮬레이티드어닐링의 온도 파라미터를 이용하여 이웃해를 탐색하며, 상기 선택된 초기해의 실루엣 평가값과 상기 탐색된 이웃해의 실루엣 평가값을 비교하여 상기 이웃해의 실루엣 평가값이 더 좋은 경우 해를 업데이트하고, 미리 설정된 종료 조건을 만족할 때까지 시뮬레이티드어닐링의 해를 받아들이기 위해 설정된 확률을 미리 설정된 감소치만큼 감소시킨 후 상기 시뮬레이티드어닐링 데이터 클러스터링을 반복 수행하는 것을 특징으로 하며,
    상기 초기해를 선택하는 단계는,
    상기 시뮬레이티드 어닐링의 해를 받아들이기 위한 확률, 상기 시뮬레이티드 어닐링의 해를 받아들이기 위해 설정된 확률을 감소시키는 감소치 및 상기 이웃해를 탐색하는 횟수를 설정하는 단계
    를 더 포함하는 것을 특징으로 하는 시뮬레이티드어닐링 데이터 클러스터링 방법.
  2. 제1항에 있어서,
    상기 계산하는 단계는
    상기 모든 데이터 간의 거리를 계산하고, 상기 계산된 거리를 이용하여 데이터 각각을 기준으로 하는 상기 모든 데이터 간의 상대적인 거리 비율의 합을 계산하는 것을 특징으로 하는 시뮬레이티드어닐링 데이터 클러스터링 방법.
  3. 제1항에 있어서,
    상기 선택하는 단계는
    상기 계산된 상대적인 거리 비율의 합에 대하여 룰렛 휠 선택(Roulette wheel selection) 방법을 적용함으로써, 상기 초기해를 선택하는 것을 특징으로 하는 시뮬레이티드어닐링 데이터 클러스터링 방법.
  4. 제1항에 있어서,
    상기 선택하는 단계는
    상기 계산된 상대적인 거리 비율의 합을 이용하여 데이터 각각의 선택 확률을 계산하고, 상기 데이터 각각에 대하여 랜덤 확률 값을 할당하여 상기 계산된 선택 확률의 구간에 포함되는지 확인함으로써, 미리 설정된 개수의 중심데이터를 선택하며, 상기 선택된 중심데이터를 기준으로 클러스터를 재구성하여 상기 재구성된 클러스터 각각의 해를 생성하고, 상기 생성된 해 각각의 실루엣 평가값을 계산한 후 가장 좋은 실루엣 평가값의 해를 상기 초기해로 선택하는 것을 특징으로 하는 시뮬레이티드어닐링 데이터 클러스터링 방법.
  5. 삭제
  6. 삭제
  7. 모든 데이터 간의 상대적인 거리 비율의 합을 계산하는 계산부;
    상기 계산된 상대적인 거리 비율의 합에 기초하여 초기해를 선택하는 선택부; 및
    상기 선택된 초기해를 이용하여 실루엣 평가 함수 기반의 시뮬레이티드어닐링 데이터 클러스터링을 수행하는 수행부
    를 포함하고,
    상기 수행부는,
    시뮬레이티드어닐링의 온도 파라미터를 이용하여 이웃해를 탐색하며, 상기 선택된 초기해의 실루엣 평가값과 상기 탐색된 이웃해의 실루엣 평가값을 비교하여 상기 이웃해의 실루엣 평가값이 더 좋은 경우 해를 업데이트하고, 미리 설정된 종료 조건을 만족할 때까지 시뮬레이티드어닐링의 해를 받아들이기 위해 설정된 확률을 미리 설정된 감소치만큼 감소시킨 후 상기 시뮬레이티드어닐링 데이터 클러스터링을 반복 수행하는 것을 특징으로 하며,
    상기 계산부는,
    상기 시뮬레이티드 어닐링의 해를 받아들이기 위한 확률, 상기 시뮬레이티드 어닐링의 해를 받아들이기 위해 설정된 확률을 감소시키는 감소치 및 상기 이웃해를 탐색하는 횟수를 설정하는 것을 특징으로 하는 시뮬레이티드어닐링 데이터 클러스터링 장치.
  8. 제7항에 있어서,
    상기 계산부는
    상기 모든 데이터 간의 거리를 계산하고, 상기 계산된 거리를 이용하여 데이터 각각을 기준으로 하는 상기 모든 데이터 간의 상대적인 거리 비율의 합을 계산하는 것을 특징으로 하는 시뮬레이티드어닐링 데이터 클러스터링 장치.
  9. 제7항에 있어서,
    상기 선택부는
    상기 계산된 상대적인 거리 비율의 합에 대하여 룰렛 휠 선택(Roulette wheel selection) 방법을 적용함으로써, 상기 초기해를 선택하는 것을 특징으로 하는 시뮬레이티드어닐링 데이터 클러스터링 장치.
  10. 제7항에 있어서,
    상기 선택부는
    상기 계산된 상대적인 거리 비율의 합을 이용하여 데이터 각각의 선택 확률을 계산하고, 상기 데이터 각각에 대하여 랜덤 확률 값을 할당하여 상기 계산된 선택 확률의 구간에 포함되는지 확인함으로써, 미리 설정된 개수의 중심데이터를 선택하며, 상기 선택된 중심데이터를 기준으로 클러스터를 재구성하여 상기 재구성된 클러스터 각각의 해를 생성하고, 상기 생성된 해 각각의 실루엣 평가값을 계산한 후 가장 좋은 실루엣 평가값의 해를 상기 초기해로 선택하는 것을 특징으로 하는 시뮬레이티드어닐링 데이터 클러스터링 장치.
  11. 삭제
KR1020200058190A 2020-05-15 2020-05-15 실루엣 평가 함수를 적용한 빠른 시뮬레이티드어닐링 데이터 클러스터링 방법 및 그 장치 KR102372252B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200058190A KR102372252B1 (ko) 2020-05-15 2020-05-15 실루엣 평가 함수를 적용한 빠른 시뮬레이티드어닐링 데이터 클러스터링 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200058190A KR102372252B1 (ko) 2020-05-15 2020-05-15 실루엣 평가 함수를 적용한 빠른 시뮬레이티드어닐링 데이터 클러스터링 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20210141066A KR20210141066A (ko) 2021-11-23
KR102372252B1 true KR102372252B1 (ko) 2022-03-08

Family

ID=78695078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200058190A KR102372252B1 (ko) 2020-05-15 2020-05-15 실루엣 평가 함수를 적용한 빠른 시뮬레이티드어닐링 데이터 클러스터링 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102372252B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102039244B1 (ko) * 2018-02-19 2019-11-26 강원대학교산학협력단 반딧불 알고리즘을 이용한 데이터 클러스터링 방법 및 시스템

Also Published As

Publication number Publication date
KR20210141066A (ko) 2021-11-23

Similar Documents

Publication Publication Date Title
US11720822B2 (en) Gradient-based auto-tuning for machine learning and deep learning models
US9442929B2 (en) Determining documents that match a query
Yagoubi et al. Massively distributed time series indexing and querying
Nguyen et al. Towards automatic tuning of apache spark configuration
JP6352958B2 (ja) グラフインデックス探索装置及びグラフインデックス探索装置の動作方法
KR20210124109A (ko) 정보 처리, 정보 추천의 방법과 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램 제품
CN105989015B (zh) 一种数据库扩容方法和装置以及访问数据库的方法和装置
CN106326005B (zh) 一种迭代型MapReduce作业的参数自动调优方法
Lu et al. An improved k-means distributed clustering algorithm based on spark parallel computing framework
KR102372252B1 (ko) 실루엣 평가 함수를 적용한 빠른 시뮬레이티드어닐링 데이터 클러스터링 방법 및 그 장치
Joodaki et al. Protein complex detection from PPI networks on Apache Spark
US11748255B1 (en) Method for searching free blocks in bitmap data, and related components
Antaris et al. In-memory stream indexing of massive and fast incoming multimedia content
CN112768081B (zh) 基于子图及节点的共调控生物网络模体发现方法及装置
CN114036345A (zh) 一种轨迹数据的处理方法、设备及存储介质
KR102372251B1 (ko) 전역 최적화를 위한 강건한 k-평균 방법 및 그 장치
Liu et al. Optimizing Graph-based Approximate Nearest Neighbor Search: Stronger and Smarter
Hidayat et al. Pattern reduction enhanced ant colony optimization clustering algorithm
US20140232726A1 (en) Space-filling curve processing system, space-filling curve processing method, and program
KR102371812B1 (ko) 생물지리학적 실루엣 최적화 데이터 클러스터링 방법 및 시스템
Rafailidis et al. Indexing media storms on flink
US20210209108A1 (en) Method for sharing landmarks for fast processing of top k cheapest path queries
WO2023087759A1 (zh) 一种深度学习模型的测试方法和装置
US20230128180A1 (en) Programmable access engine architecture for graph neural network and graph application
Zhao et al. Parallel K-Medoids Improved Algorithm Based on MapReduce

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant