KR20140030838A - 군집 분석 지원 시스템 및 방법과, 이를 지원하는 장치 - Google Patents

군집 분석 지원 시스템 및 방법과, 이를 지원하는 장치 Download PDF

Info

Publication number
KR20140030838A
KR20140030838A KR1020120097498A KR20120097498A KR20140030838A KR 20140030838 A KR20140030838 A KR 20140030838A KR 1020120097498 A KR1020120097498 A KR 1020120097498A KR 20120097498 A KR20120097498 A KR 20120097498A KR 20140030838 A KR20140030838 A KR 20140030838A
Authority
KR
South Korea
Prior art keywords
data
cluster analysis
value
cluster
values
Prior art date
Application number
KR1020120097498A
Other languages
English (en)
Other versions
KR101700104B1 (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 KR1020120097498A priority Critical patent/KR101700104B1/ko
Priority to US14/347,778 priority patent/US9378266B2/en
Priority to CN201380033471.6A priority patent/CN104380282B/zh
Priority to PCT/KR2013/006190 priority patent/WO2014038781A1/ko
Publication of KR20140030838A publication Critical patent/KR20140030838A/ko
Application granted granted Critical
Publication of KR101700104B1 publication Critical patent/KR101700104B1/ko

Links

Images

Classifications

    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 군집 분석 기능 지원에 관한 것으로, 이러한 본 발명은 일정 범위의 k값들과 사전 정의된 반복 횟수 및 수렴 조건을 기반으로 k-평균 군집 분석을 요청하고 그 결과 중 최적의 결과를 선택하고, 선택된 결과에 의해 부여되는 군집 인덱스들의 데이터 적용에 대한 지수 계산을 통하여 최적의 k값 산출 및 적용을 제어하는 군집 분석 서비스 장치 및 상기 군집 분석 서비스 장치 요청에 따라 상기 군집 분석 서비스 장치가 제공하는 데이터들 및 상기 k-평균 군집 분석 조건들을 각각 분산 처리하여 중심 값들에 대한 결과를 제공하며, 선택 결과에 따라 상기 데이터들에 군집 인덱스를 부여하는 분산 처리 서비스 장치를 포함하는 것을 특징으로 하는 군집 분석 지원 시스템과 이의 운용 방법 및 이를 지원하는 장치의 구성을 개시한다.

Description

군집 분석 지원 시스템 및 방법과, 이를 지원하는 장치{System And Method for supporting a clustering algorithm, and Apparatus supporting the same}
본 발명은 군집 분석에 관한 것으로, 특히 분산 처리 환경에서 대용량 데이터 처리를 위한 K-평균 군집 분석을 지원하는 군집 분석 지원 시스템 및 방법과 이를 지원하는 장치에 관한 것이다.
군집분석, 즉 클러스터링(clustering)이란 비슷한 데이터를 군집화하는 것을 말한다. 이 때 비슷하다는 것은 사전에 주어진 유사도의 정의에 따라 달라진다. 주로 각 데이터의 값이 벡터로 표시될 때, 기하학적인 거리를 주로 사용한다. 가장 대표적인 것은 유클리디안 거리(Euclidean distance)이다. 한편 k-평균 군집분석(k-means clustering)은 n개의 d 차원의 데이터를 k개의 군집으로 분석하는 기술이다. 예를 들어, 2차원 입력 데이터가 존재하는 경우 k-평균 군집 분석은 이 2차원 입력 데이터 각각에 대해 1~k까지 군집 인덱스를 부여하는 작업이다.
이러한 k-평균 군집 분석 적용 시 k는 사용자가 직접 정해주며 그 결과는 k에 따라 크게 바뀐다. 결국 k값에 대한 사전 정보나 지식이 없는 경우 k값을 임의로 정해줄 수 밖에 없기 때문에 k값을 정하기가 어려울 뿐만 아니라 잘못된 k값 지정은 좋은 결과를 얻지 못하는 원인이 될 수 있다. k 평균 군집 분석은 iterative 알고리즘이기 때문에, 데이터의 개수인 n이 많거나 차원 d가 큰 경우에 수행 시간이 많이 걸린다. 동일한 k 값의 경우에도, 초기의 중심점(center) 값을 어떻게 정하느냐에 따라 수렴에 걸리는 시간 즉, 전체 수행시간이 바뀌거나, 결과 자체가 달라지기도 한다. 이와 같이 종래 k-평균 군집 분석 방식은 k 값을 입력에 따라 효율이 결정되기 때문에 일반화하기 어렵고 숙련된 사용자의 제어가 요구될 뿐만 아니라, 숙련된 사용자라 하더라도 일정한 결과를 지속적으로 제공하지 못할 가능성도 가지고 있었다.
한국공개특허 10-2012-0054985, 2012년 05월 31일 공개 (명칭: 단일 차원 군집 분석의 분산처리를 이용한 대용량 데이터의 군집 분석 시스템, 방법 및 이를 위한 기록 매체)
따라서 본 발명은 전술한 종래 기술의 문제점을 해결하기 위하여 창안된 것으로, 본 발명의 목적은 양호한 군집 분석 효율을 안정적으로 제공할 수 있는 군집 분석 지원 시스템 및 방법과 이를 지원하는 장치를 제공함에 있다.
특히 본 발명은 분산 환경에 적합한 데이터 구조를 이용하여 k-평균 군집 분석을 자동화 할 수 있도록 하고 효율적인 k-평균 군집 분석을 수행할 수 있는 군집 분석 지원 시스템 및 방법과 이를 지원하는 장치를 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명은 일정 범위의 k값들과 사전 정의된 반복 횟수 및 수렴 조건을 기반으로 k-평균 군집 분석을 요청하고 그 결과 중 최적의 결과를 선택하고, 선택된 결과에 의해 부여되는 군집 인덱스들의 데이터 적용에 대한 지수 계산을 통하여 최적의 k값 산출 및 적용을 제어하는 군집 분석 서비스 장치 및 상기 군집 분석 서비스 장치 요청에 따라 상기 군집 분석 서비스 장치가 제공하는 데이터들 및 상기 k-평균 군집 분석 조건들을 각각 분산 처리하여 중심 값들에 대한 결과를 제공하며, 선택 결과에 따라 상기 데이터들에 군집 인덱스를 부여하는 분산 처리 서비스 장치를 포함하는 것을 특징으로 하는 군집 분석 지원 시스템의 구성을 개시한다.
본 발명은 또한, 데이터를 저장하는 장치 저장부, 상기 저장된 데이터에 대한 군집 분석을 위한 일정 범위의 k값들, 수렴 조건 및 반복 횟수 중 적어도 하나에 대한 입력 신호를 생성하는 장치 입력부, 상기 k값들 및 수렴 조건에 따라 상기 데이터들의 k-평균 군집 분석을 수행하고 그 결과 중 최적의 결과 값을 선택하되 상기 데이터 갱신 시마다 상기 k-평균 군집 분석을 수행하도록 제어하는 장치 제어부를 포함하는 것을 특징으로 하는 군집 분석을 지원하는 군집 분석 서비스 장치의 구성을 개시한다.
여기서 상기 장치 저장부는 이전 k-평균 군집 분석에 따라 산출된 이전 k값을 저장할 수 있으며, 이 경우 상기 장치 제어부는 상기 데이터들을 분산 처리하도록 데이터들을 분배하는 데이터 분배부, 상기 일정 범위의 k값들 및 반복 횟수에 따라 도출된 중심 값들 중 최적의 중심 값을 선택하는 분석 결과 선택부, 상기 최적의 중심 값을 가지는 선택 결과를 상기 데이터들에 적용한 군집 인덱스가 할당된 데이터들에 대한 k값 효율에 대한 지수 계산을 수행하는 분석 지수 적용부, 상기 지수 계산 값이 최적인 k값을 기반으로 이전 저장된 k값을 갱신하도록 제어하는 최적 값 갱신부를 포함할 수 있다. 이러한 상기 장치 제어부는 동시에 여러 개의 k값에 대해 여러 번 서로 다른 초기화 값을 가지고 중심 값들에 대한 결과 산출을 자동으로 수행하도록 제어할 수 있다.
본 발명은 또한, 군집 분석 서비스 장치가 입력된 일정 범위의 k값들 및 반복회수를 기반으로 중심 값 벡터들에 대한 초기화 과정을 수행하는 단계, 데이터 및 초기화된 중심 값 벡터들을 분산 처리 서비스 장치의 각 데이터 노드들에 분산 전달하는 단계, 상기 데이터 노드들이 상기 분산 전달된 데이터 및 초기화된 중심 값 벡터들을 기반으로 k-평균 군집 분석을 수행하는 단계, 상기 데이터 노드들이 상기 분석 결과를 상기 군집 분석 서비스 장치에 제공하는 단계, 상기 군집 분석 서비스 장치가 상기 분석 결과 중 최적의 결과를 선택하고 이를 상기 데이터 노드들과 공유하는 단계, 상기 데이터 노드들이 상기 선택된 결과를 데이터들에 적용한 군집 인덱스를 할당하는 단계, 상기 군집 분석 서비스 장치가 상기 군집 인덱스가 할당된 데이터들의 지수 계산을 수행하는 단계, 상기 지수 계산 결과가 최적인 값을 이전 저장된 k값에 갱신하는 단계를 포함하는 것을 특징으로 하는 군집 분석 지원 방법의 구성을 개시한다.
여기서 상기 방법은 상기 군집 분석 서비스 장치가 상기 샘플링 조건을 데이터 노드들에 전달하는 단계 및 상기 데이터 노드들이 상기 샘플림 조건에 따라 데이터들을 산출하고 이를 상기 군집 분석 서비스 장치에 제공하는 단계를 더 포함할 수 있다.
또한 상기 방법은 상기 데이터 노드들이 제공한 군집 인덱스가 할당된 데이터들에 대하여 상기 군집 인덱스가 할당된 데이터들에 대한 샘플링을 수행하는 단계를 더 포함할 수 있다.
한편 상기 지수 계산을 수행하는 단계는 각 k값 별 클러스터 지수 계산을 수행하는 단계, 상기 클러스터 지수가 가장 높은 k값을 선정하는 단계를 포함할 수 있으며, 추가로 상기 지수 계산을 수행하는 단계는 다수의 지수 방식을 각 k값 별 클러스터 지수 계산에 적용하는 단계, 다수의 지수 방식 중 상대적으로 더 높은 k값을 선정하는 단계를 더 포함할 수 있다.
상기 k-평균 군집 분석을 수행하는 단계는 동시에 여러 개의 k값에 대해 여러 번 서로 다른 초기화 값을 가지고 중심 값들에 대한 결과 산출을 자동으로 수행하는 단계가 될 수 있다.
추가로 본 발명은 상기 군집 분석 지원 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체의 구성을 개시한다.
상술한 바와 같이 본 발명의 실시 예에 따른 군집 분석 지원 시스템 및 방법과 이를 지원하는 장치에 따르면, 본 발명은 양호한 군집 분석 결과를 가지는 k 값 산출이 가능하도록 지원하며, 특정 사용자의 입력에 관계없이 일정 범위의 k 값 범위에서 양호한 k 값을 산출하도록 함으로써 안정적인 분석 효율을 지원할 수 있다.
이에 따라 본 발명은 보다 신뢰성 높은 군집 분석 데이터를 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 군집 분석 지원 시스템의 구성을 나타낸 도면.
도 2는 본 발명의 실시 예에 따른 군집 분석 서비스 장치 구성을 보다 상세히 나타낸 도면.
도 3은 본 발명의 중심 값 표현의 일예를 설명하기 위한 도면.
도 4는 도 2의 장치 제어부 구성을 보다 상세히 나타낸 도면.
도 5는 최적 중심 값 선택을 설명하기 위한 도면.
도 6은 군집 분석 지수 계산의 일예를 설명하기 위한 도면.
도 7은 본 발명의 분산 처리 서비스 장치의 데이터 노드 구성의 일예를 나타낸 도면.
도 8은 본 발명의 실시 예에 따른 군집 분석 지원 방법을 설명하기 위한 도면.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
도 1은 본 발명의 실시 예에 따른 군집 분석 지원 시스템의 구성을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 본 발명의 군집 분석 지원 시스템(10)은 적어도 하나의 군집 분석 서비스 장치(100) 및 군집 분석 서비스 장치(100)들에게 아이템 검색과 구매 기능을 지원하는 분산 처리 서비스 장치(200)를 포함할 수 있으며, 군집 분석 서비스 장치(100)와 분산 처리 서비스 장치(200) 간의 통신 연결을 위한 통신 네트웍(300)의 구성을 더 포함할 수 있다.
상술한 본 발명의 군집 분석 지원 시스템(10)은 군집 분석 서비스 장치(100)가 수집한 데이터와 일정 범위의 k값을 분산 처리 서비스 장치(200)의 각 데이터 노드들의 MapReduce 기반의 Mapper로 전달하면, 각 데이터 노드들은 전달되는 데이터들에 일정 범위의 k값들 및 반복 수에 해당하는 군집 분석 수행 출력을 사전 정의된 수렴 조건에 만족할 때까지 수행하여 최소 측정 값이 마련되도록 지원한다.
그리고 군집 분석 지원 시스템(10)은 일정 범위의 각 k 값들에 대한 최소 측정 값이 마련되면 해당 값들 중 최적의 중심 값을 산출하고 이를 원래 데이터에 적용함으로써 각 데이터들에 대한 군집 분석을 지원할 수 있다. 이와 함께 군집 분석 지원 시스템(10)은 해당 군집 분석의 적용 효율 검사를 위하여 지수 적용을 수행하고 가장 효율적인 지수 값을 가지는 k 값을 선택하여 k 값 갱신을 수행하도록 지원할 수 있다. 상술한 바와 같이 본 발명의 군집 분석 지원 시스템(10)은 군집 분석을 일정 범위의 k 값들에 대하여 동시에 처리하고, 처리된 결과를 상호 비교함으로써 양호한 군집 분석 수행을 매우 신속하고 정확하게 산출할 수 있도록 지원한다. 특히 본 발명은 군집 분석 수행에 있어서 일정 범위의 k 값들에 대하여 반복적이며 자동으로 군집 분석을 수행할 수 있도록 지원하기 때문에 사용자의 별다른 입력 제어에 관계 없이 데이터 갱신 등에 따라 자동 군집 분석을 통한 k 값 산출 및 적용을 지원할 수 있다. 이에 따라 본 발명의 군집 분석 지원 시스템(10)은 안정적이며 신뢰성 높은 군집 분석을 토대로 다양한 데이터 운용을 지원할 수 있다.
이를 위하여 통신 네트웍(300)은 군집 분석 서비스 장치(100)와 분산 처리 서비스 장치(200) 간의 유선 또는 무선 통신 채널을 형성할 수 있도록 지원할 수 있다. 즉 통신 네트웍(300)은 군집 분석 서비스 장치(100)와 분산 처리 서비스 장치(200) 간의 데이터 전송, 군집 분석 결과 전달, 군집 분석 지수 적용에 따른 결과 전달 등을 위한 신호 송수신을 지원할 수 있다. 특히 통신 네트웍(300)은 군집 분석 서비스 장치(100)에서 분산 처리 서비스 장치(200)로 데이터 및 일정 범위의 k 값들에 대한 정보를 전달하며, 분산 처리 서비스 장치(200)에서 군집 분석된 결과를 군집 분석 서비스 장치(100)에 전달한다. 그리고 통신 네트웍(300)은 군집 분석 서비스 장치(100)가 선택한 특정 k 값을 분산 처리 서비스 장치(200)에 적용하도록 전달하며, 분산 처리 서비스 장치(200)가 선택된 k 값을 이용하여 각 데이터 들에 대한 적용한 군집 분석에 일정 지수를 적용하기 위한 신호 처리를 지원할 수 있다.
군집 분석 서비스 장치(100)는 장치 통신부를 이용하여 통신 네트웍(300)에 연결되고, 통신 네트웍(300)과 연결된 분산 처리 서비스 장치(200)에 접속할 수 있다. 그리고 군집 분석 서비스 장치(100)는 분산 처리 서비스 장치(200)에 데이터와 일정 범위의 k값들을 제공할 수 있다. 여기서 일정 범위의 k 값들은 사용자가 입력한 일정 범위 값으로 자연수가 될 수 있다. 이러한 군집 분석 서비스 장치(100)는 데이터를 전달하기 이전에 입력된 일정 범위의 k값들을 분산 처리 서비스 장치(200)의 데이터 노드들과 공유할 수 있다. 그리고 군집 분석 서비스 장치(100)는 수집된 데이터를 분산 처리 서비스 장치(200)에 제공한다.
한편 군집 분석 서비스 장치(100)는 분산 처리 서비스 장치(200)로부터 각 데이터들에 k 값들을 적용한 출력을 수신하면, 수신된 출력들 중 최소의 측정 값을 가지는 중심 값 정보를 선택할 수 있다. 그리고 군집 분석 서비스 장치(100)는 선택된 중심 값 정보를 원래 데이터에 적용하도록 분산 처리 서비스 장치(200)에 요청할 수 있다. 그리고 군집 분석 서비스 장치(100)는 분산 처리 서비스 장치(200)는 선택된 중심 값 정보들을 원래 데이터에 적용하여 군집 인덱스가 부여되면, 어떠한 k값에서 가장 좋은 군집 분석 효과가 나타나는지를 확인하기 위한 군집 분석 지수 계산을 수행할 수 있다. 그리고 군집 분석 서비스 장치(100)는 군집 분석 지수 계산을 토대로 k 값 갱신을 제어할 수 있다. 이러한 군집 분석 서비스 장치(100)에 대하여 도 2를 기준으로 보다 상세히 후술하기로 한다.
분산 처리 서비스 장치(200)는 다수개의 데이터 노드를 포함하고, 군집 분석 서비스 장치(100)와 연결되어, 군집 분석 서비스 장치(100)가 제공하는 일정 범위의 k 값들과 데이터들을 기반으로 군집 분석을 수행한다. 그리고 분산 처리 서비스 장치(200)는 군집 분석 결과를 군집 분석 서비스 장치(100)에 제공할 수 있다. 이후 분산 처리 서비스 장치(200)는 군집 분석 서비스 장치(100)가 제공한 선택된 k값들을 원래 데이터에 적용하여 군집 분석을 수행할 수 있다.
상술한 바와 같이 본 발명의 군집 분석 지원 시스템(10)은 군집 분석을 수행하는 과정에서 일정 범위의 k 값들을 동시에 데이터들에 적용하여 군집 분석을 수행함으로써 양호한 측정치를 가지는 k값들을 손쉽게 검색하고 이를 기반으로 효과적인 군집 분석을 수행하도록 지원할 수 있다.
도 2는 본 발명의 실시 예에 따른 군집 분석 서비스 장치(100)의 구성을 나타낸 도면이다.
도 2를 참조하면 본 발명의 군집 분석 서비스 장치(100)는 장치 통신부(110), 장치 입력부(120), 장치 저장부(150) 및 장치 제어부(160)의 구성을 포함할 수 있다. 설명에 앞서, 본 발명의 군집 분석에 적용되는 k-평균 군집 분석은 정답이 존재하지 않아 정답과 그 정확도를 비교할 수 없는 경우에 적용되는 unsupervised learning(비지도 학습) 방법군에 속한다. n개의 d차원 벡터가 입력으로 주어졌을 때, k-평균 군집 분석은 n개의 데이터를 전체 k개의 군집으로 나누어주는 k개의 중심점(center)을 계산한다. 계산은 iterative하게 이루어지며, 다음 측정 수학식 1을 최소로 하는 중심점을 찾는다.
[수학식 1]
Figure pat00001
여기서 Si는 각 군집의 인덱스이며, xj는 j번째 입력이다. ui는 i번째(i=1,2,..,k) 중심점이다. 중심점은 매 iteration 마다 다음 수학식 2와에 따라 업데이트 된다. 각각의 입력 데이터는 가장 가까운 중심점에 속하는 것으로 처리되고, 새로운 중심점은 해당 중심점에 속하는 입력 데이터들의 평균으로 계산된다.
[수학식 2]
Figure pat00002
수학식 2에서 mi (t+1)는 (t+1)번째 step에서의 i번째 중심점 값을 나타낸다. |Si (t)|는 (t)번째 iteration에서 i라는 군집에 속한 전체 데이터의 개수이다. k-평균 군집 분석은 iterative하게 계속 중심점의 값을 변경하며, 중심점 값의 변경이 일정 threshold 미만이거나, measure값의 변경분이 특정 회수의 iteration 동안 일정 threshold 미만인 경우까지 계속 수행한다.
장치 저장부(150)는 군집 분석 서비스 장치(100) 운용을 위해 필요한 다양한 프로그램 및 데이터를 저장하는 구성이다. 특히 장치 저장부(150)는 본 발명의 k-평균 군집 분석을 적용하기 위한 전체 데이터(151) 및 군집 분석을 통해 산출된 이전 k값, k_prev(153)을 저장할 수 있다. 이 데이터(151)는 MapReduce 기반의 Mapper를 이용하여 분산 처리 서비스 장치(200)에 부분적으로 제공될 수 있다. 장치 저장부(150)에 저장된 데이터(151)는 군집 분석 지원을 위하여 일정 형태의 포맷으로 마련될 수 있다. k-평균 군집 분석을 자동화 하기 위하여 본 발명에서는 사용자가 임의 범위의 k값을 지정하면, 모든 k의 범위 내에서 각각의 k값에 대해서 특정 회수만큼 동시에 k-평균 군집 분석을 수행한 후에, 가장 최적의 k를 도출한다. 보다 구체적으로 설명하면, 모든 k의 범위 내에서 각각의 k에 대해 최적의 k를 도출하고, 지수계산을 통해 그 중에서 가장 최적의 k를 도출하게 된다. 예를 들어 k=1~5로 지정하여 k=1, k=2, …, k=5에 대해서 군집 분석을 동시에 수행하거나 또는 특정 k값에 대해 특정 회수만큼 동시에 결과를 구한 후에 최적의 결과만을 얻어낼 수 있도록 지원한다.
이를 위하여, 본 발명에서는 특정 군집의 중심 값의 인덱스를 다음 3가지 값의 조합으로 정의한다. 첫 번째 칼럼은 k-set ID로 해당 중심 값이 어떤 k값에 대한 중심 값인지를 표시한다. 두 번째 칼럼은 NCS(number of candidate set) ID로 특정 k값에 대해서 NCS 번만큼 k-평균 군집 분석이 동시에 수행되는 값이다. 동일 k값에 대해 동시에 수행된 NCS 만큼의 결과 중에 measure 값이 가장 최소(최적)인 값을 특정 k값이 대표 결과값으로 생성한다. 세 번째 칼럼은 중심 값 ID(center ID)로 특정 k값 및 특정 NCS ID에 대해서 k개의 중심점 중에 몇 번째 중심 값인지를 표시하는 값이다.
각각의 center ID는 현재의 중심점이 어떤 k-set ID에 속하는지에 따라 1부터 k-set ID의 k값까지가 된다. 결과적으로 장치 저장부(150)에 저장된 데이터(151)에 포함되는 3개의 값은 k-set ID | NCS ID | center ID 형태가 될 수 있다. 그러나 본 발명이 이에 한정되는 것은 아니며, 본 발명의 데이터(151)는 상술한 3개의 값을 각각 구분하고, 3개의 값을 기반으로 데이터 처리를 수행할 수 있는 데이터 구조로 표현될 수 있다.
한편 사용자는 k값 지정을 기존 방식과 같이 하나의 값만 지정할 수 있으며, 또한 사용자는 최소 k값 및 최대 k값을 지정하여 범위를 지정할 수 있다. 또는 사용자는 결과를 얻고자 하는 k값의 set을 지정할 수 있다. 예를 들어, 사용자는 k=1, 3, 4, 8과 같이 지정할 수 있다. 이를 위하여 군집 분석 서비스 장치(100)는 k 값 지정을 위한 화면 제공을 위한 장치 표시부 및 장치 입력 기능 제공을 지원하기 위한 장치 입력부(120) 구성을 더 포함할 수 있다.
장치 저장부(150)에 저장된 데이터(151)의 일 예로서, 예를 들어 특정 데이터(151)가 4 | 2 | 3 이라는 key값을 가지는 경우, 이 key는 k=4에 대한 군집 분석의 NCS=2번째 결과 생성에 사용되는 중심 값 중 3번째 중심(군집)이라는 것을 알 수 있다. k-set ID의 범위가 최소 k는 3, 최대 k는 5, NCS =2로 지정된 경우 각각의 중심 값을 구분하기 위해 사용되는 중심 값의 key값은 도 3에 도시된 바와 같다. 한편 분산처리 환경에서 각 중심점의 값이 필요한 경우 중심 값을 표현하는 MapReduce Framework에서의 key와 더불어, d차원의 중심 값을 value에 포함시켜 주고 받을 수 있다.
장치 제어부(160)는 본 발명의 군집 분석 기능 지원을 위하여 데이터(151)의 전달과 군집 분석 수행 결과의 수집과 k값의 선택 및 군집 분석 지수 계산 등을 지원하며, 특히 k값 갱신을 수행할 수 있다. 이를 위하여 장치 제어부(160)는 도 4에 도시된 바와 같은 구성을 포함할 수 있다.
도 4는 본 발명의 실시 예에 따른 장치 제어부(160)의 구성을 보다 상세히 나타낸 도면이다.
도 4를 참조하면, 본 발명의 장치 제어부(160)는 데이터 분배부(161), 분석 결과 선택부(163), 분석 지수 적용부(165) 및 최적 값 갱신부(167)의 구성을 포함할 수 있다.
데이터 분배부(161)는 사용자가 입력한 일정 범위의 k값들을 분산 처리 서비스 장치(200)의 데이터 노드들과 공유하기 위하여 사용자가 장치 입력부(120)를 통하여 입력한 입력 값들을 기반으로 중심 값 벡터들을 연산하는 초기화 과정을 수행할 수 있다. 즉 데이터 분배부(161)는 동일 k값에 대해 k 평균 군집 분석을 반복 수행하도록 지시하는 NCS 값 및 일정 범위의 k 값들을 이용하여 중심 값 벡터 개수를 산출한다. 예를 들어, k의 최소 범위인 min_k = 3, k의 최대 범위인 max k =_5이고, NCS = 2인 경우, 전체 center set개수는 6개이며, 전체 center vector의 개수는 3*2 + 4*2 + 5*2 = 24개 vector가 될 수 있다. 한편 사용자는 군집 분석을 적용하기 위한 수렴 조건을 지정할 수 있다. 예를 들어, 수렴 조건으로서, 최대 실행 가능한 iteration 회수, measure threshold가 지정될 수 있다. 본 발명은 한번에 여러 개의 set(특정 k-set ID의 특정 NCS ID에 해당하는 중심점의 set)에 대한 군집 분석이 동시에 수행된다. 따라서 본 발명에서는 threshold 조건을 만족한 set은 그 값을 저장한 후 k-set ID | NCS ID | converged 와 같은 방식으로 데이터(151) 기입이 수행된 후 더 이상 계산되지 않는다. 한편 군집 분석은 전체 set이 수렴 조건에서 설정한 measure threshold를 만족할 때까지 수행된다. 데이터 분배부(161)는 벡터 초기화 과정 및 수렴 조건 설정이 완료되면, 중심 값 세트(center set)를 분산 처리 서비스 장치(200)의 각 데이터 노들에게 전송할 수 있다. 이 과정에서 데이터 분배부(161)는 분산 처리 서비스 장치(200)의 각 데이터 노드들에 분산되어 있는 데이터에 대해 분산처리를 수행하도록 지원할 수 있다.
분산 처리 서비스 장치(200)의 각 데이터 노드들은 군집 분석 서비스 장치(100)로부터 읽어온 데이터들에 대하여 전달된 중심 값 세트들을 적용한 군집 분석 수행 결과를 출력한다. 그리고 각 데이터 노드들은 출력된 군집 분석 수행 결과 전달을 위하여 군집 분석 서비스 장치(100)와 MapReduce 방식의 Reduce 단계를 수행하게 된다.
각 reducer에는 mapper에서 출력된 각 key에 대한 모든 입력 데이터들이 value로 전송된다. mapper에서와 유사하게 reducer에서도 각각의 set(특정 k-set ID의 특정 NCS ID)에 대해 2개의 결과가 출력된다. key가 (k-set ID | NCS ID | c_i )인 경우 각각의 value 값은 현재의 key에 해당하는 set의 center값(c_i)과 가장 가까운 입력 데이터의 벡터 값이다. value로 입력된 모든 입력 데이터의 전체 벡터 합은 다음 수학식 3과 같다.
[수학식 3]
(sum_c_i = sum_ci_1, sum_ci_2, …, sum_ci_d)
여기서, sum_c_i는 전체 벡터 합이다.
한편, 전체 n개의 데이터 중 c_i와 가깝다고 판단되어 그 값이 현재의 reducer로 넘어온 데이터의 개수를 n_i라고 하면 (k-set ID | NCS ID | c_i)의 새로운 값은 다음 수학식 4와 같이 표현될 수 있다.
[수학식 4]
(c_i1’,c_i2’,…,ci_d’)=1/n_i*< sum_ci__1, sum_ci_2, …, sum_ci__d )
분산 처리 서비스 장치(200)의 데이터 노드들은 위 수학식 4에서 구해진 새로운 값을 value로 하여 (key, value)를 출력한다. 여기서, Key = <k-set ID | NCS ID | center ID>이며, Value = < c_1’, c_2’, …, c_n’>이다.
한편, key가 (k-set ID | NCS ID | err )인 경우 각각의 value값은 특정 k-set ID | NCS ID에 해당하는 군집분석의 전체 measure값 계산에 필요한 measure의 부분합들이다. 현재의 reducer에 들어온 모든 value 값을 더한다. 이 때 최종 measure값은 위에서 합해진 값은 전체 데이터의 개수인 n으로 나눈 값이다. 데이터 노드들은 위에서 구해진 measure 값을 value로 하여 (key, value)를 출력한다. 여기서, Key = <k-set ID | NCS ID | dummy value such as ‘err’ >이며, Value = < sum_measure_value / n >이다.
한편, 각 분산 처리 서비스 장치(200)의 데이터 노드들은 모든 k-set ID | NCS ID | 의 중심 값에 대해 수렴조건을 검사한다. 수렴 조건을 만족한 center들은 converged 표기를 한다. 데이터 노드들은 모든 k-set ID | NCS ID |가 수렴하지 않았거나, 최대 iteration을 도달하지 않은 경우, 기존 center set을 새롭게 구해진 값으로 변경한 후 상기의 과정을 반복적으로 재수행할 수도 있다.
데이터 노드들은 군집 분석 수행 후 결과가 도출되면 이를 분석 결과 선택부(163)에 전달할 수 잇다.
분석 결과 선택부(163)는 Reduce 단계 수행에 따라 분산 처리 서비스 장치(200)로부터 중심 값 세트들을 데이터에 적용한 군집 분석 수행 결과를 수신하면, 해당 분석 결과들 중 특정 중심 값 세트를 선택하는 구성이다. 즉 데이터 노드들은 각각의 k-set ID | NCS ID 에 대해 measure 값을 출력하고 이를 분석 결과 선택부(163)에 전달한다. 분석 결과 선택부(163)는 각 k-set ID별로 1부터 NCS ID까지 중에 measure 값이 가장 최소(최적)인 center ID값만 저장한다. 즉 분석 결과 선택부(163)는 한 개의 k-set ID에 대해 1개의 값만을 필터링한다. 예를 들어, 4,000개의 4차원 데이터에 대해 k=3~5, NCS=4로서 데이터 노드들의 군집 분석 수행을 실시하면 분석 결과 선택부(163)는 도 5에 도시된 바와 같이 각 k-set ID에 대한 최적의 중심 값들을 수집할 수 있다. 여기서 k-set ID가 3인 경우 NCS가 4이므로 k=3에 대해서 병렬적으로 4개의 군집분석을 수행하였고, 이때 분석 결과 선택부(163)는NCS 값이 4인 분석 수행 결과를 선택(selected)할 수 있다. 이와 유사하게 분석 결과 선택부(163)는 k-set ID가 4인 경우에는 NCS=3인 분석 수행 결과를 선택할 수 있다.
도 5에서 selected 다음의 값은 measure 값이다. 그 다음 행은 ‘ 개수 | 좌표값’의 형태로, k=3일때를 보면, 첫 번째 중심점의 좌표는 (17.33, 12.00, 10.99, 1.64)이고 전체 4,000개의 데이터 중 이 군집에 속하는 데이터의 개수는 3,000개이다. k=4인 경우 3번째 NCS 수행결과가 채택되었고 이 중심점 값으로 군집분석이 된 결과를 보면 각 중심(군집)에는 1000개, 1000개, 954개, 1046개씩 데이터가 속한 것을 알 수 있다.
분석 결과 선택부(163)는 데이터 노드들로부터 수집된 결과를 기반으로 특정 수행 결과를 선택하면, 선택된 데이터들을 이용하여 원래의 데이터에 대한 군집 분석을 수행하도록 지원할 수 있다. 이를 위하여 분석 결과 선택부(163)는 선택된 중심 값 정보를 모든 데이터 노드에 전송하여 선택된 중심 값 정보 공유를 수행할 수 있다.
분산 처리 서비스 장치(200)의 데이터 노드는 군집 분석 서비스 장치(100)와 Map단계를 수행할 수 있으며, 이때, 선택된 중심 값 정보를 이용하여 모든 k-set ID 예를 들면, k=3,4,5에 대해 군집 분석을 수행한다. 각 데이터 노드들은 k-set ID내의 각 중심 값과 현재 데이터(251)와의 거리를 계산하여 가장 가까운 중심 값의 인덱스를 현재 데이터(251)의 군집 인덱스로 할당한다. 그리고 데이터 노드들은 선택된 중심 값을 value로 하고, 현재 입력 data를 key로 하여 출력한다. 즉 데이터 노드들은 각 k-set ID의 중심 값을 넣어서, 개별 데이터들이 어느 군집에 속하는지를 분석한다. 이에 따라 한 개의 데이터(251)는 k-set ID의 개수만큼 분류되고, 총 n개의 입력 데이터가 들어가면 n Ⅹ |k-set ID| 만큼의 출력 데이터가 생성된다.
분석 지수 적용부(165)는 데이터 노드들이 군집 인덱스를 할당한 각 데이터(251)들을 수집할 수 있다. 예를 들어, 입력된 4차원 데이터가 10,10,20,15라고 하면 10, 10, 20, 15 3|4|1, 10, 10, 20, 15 4|3|2, 10, 10, 20, 15 5|4|1 등의 결과가 출력될 수 있다. 여기서 데이터(251)는 k-set ID가 3일 경우에는 3개의 군집 중에 2번째(1) 군집에 속하고, k-set ID가 4일 경우에는 3번째(2) 군집에 속하고, k-set ID가 5인 경우에는 5번째(4) 군집에 속하는 것으로 분류될 수 있다.
분석 지수 적용부(165)는 각 데이터(251)들에 대한 군집 분석 결과를 수신하면, 군집 인덱스가 부여된 데이터를 이용하여 어떤 k 값일 때 가장 군집 분석 효과가 좋은지 판별하기 위해 클러스터 지수를 도입한다. 클러스터 도입 전에 전체 데이터를 다 사용하는 경우 클러스터 지수 계산 자체에 시간이 많이 걸릴 수 있으므로 분석 지수 적용부(165)는 필요한 경우 sampling할 수 있도록 지원한다. Sampling은 3가지 옵션으로 선택 가능하다. 즉 첫 번째 NONE 옵션으로서 분석 지수 적용부(165)는 데이터 개수에 따라 전체 데이터를 사용하도록 샘플링을 적용하지 않을 수 있다. 두 번째 샘플링 옵션으로, 분석 지수 적용부(165)는 군집 분포와 무관하게 전체 n개의 데이터 중 X%의 데이터 임의 추출하는 옵션을 운용할 수 있다. 세 번째 옵션으로, 분석 지수 적용부(165)는 각 군집별 소속 데이터 개수를 고려하여 군집별 n_k의 데이터 중 X%의 데이터 임의 추출하는 옵션을 운용할 수 있다.
예를 들어, 클러스터 1에 속한 item 500개, cluster 2에 속한 item 200개, cluster 3에 속한 item 300개가 있다고 가정하면, 분석 지수 적용부(165)는 추출 비율 20% 적용 시 클러스터 1에서 100개, 클러스터 2에서 40개, 클러스터 3에서 60개를 추출할 수 있다. 여기서 분석 지수 적용부(165)는 클러스터 별로 개수를 고려하여 ‘최소개수’ 및 ‘추출비율’을 고려하여 추출할 수 있다. 예를 들어, 분석 지수 적용부(165)는 추출 비율 20%, 최소개수 100개로 옵션을 설정할 수 있다. 여기서 분석 지수 적용부(165)는 20% 추출 방식으로 최소개수를 맞출 수 없는 경우에는 기본적으로 클러스터별 최소 개수가 일정 개수 이상이 되도록 랜덤하게 추출할 수 있다. 분석 지수 적용부(165)는 상술한 아이템들의 수집을 위하여 각 데이터 노드들에게 해당 옵션 정보를 제공하고, 옵션 정보에 맞는 정보들을 제공하도록 요청할 수 있다.
한편 분석 지수 적용부(165)는 군집 분석의 유용성을 평가하기 위해 여러가지 지표를 도입할 수 있다. 이때, 분석 지수 적용부(165)는 각 군집간의 거리에 따른 밀도, 특정 군집 내 데이터 간 거리에 따른 밀도 중 적어도 적어도 하나가 혼재되는 지표를 사용할 수 있다. 예를 들어, 분석 지수 적용부(165)는 Dunn’s index와 Davies-Bouldin’s Index를 도입하여 사용할 수 있다. Dunn’s Index는 그 값이 높을수록, Davies-Bouldin Index는 그 값이 낮을수록 좋음을 나타내는 지표이다. 군집 분석은 Intercluster distance(군집간 거리)와 Intracluster distance(군집내 데이터간 거리)를 기준으로 판별한다. 이때 거리를 재는데 사용할 수 있는 기준 measure는 Euclidean Distance, Manhattan Distance, Chebychev Distance 등의 거리 지표를 사용하여 산출할 수 있다. 군집 간 거리를 계산하는 방법은 예를 들면, Single Linkage, Complete Linkage, Average Linkage, Centroid Linkage, Average to Centroid Linkage, Hausdorff metrics Job 등의 방법이 적용될 수 있다. 군집 내 data간 거리를 계산하는 방법은 예를 들면, Complete Diameter, Average Diameter, Centroid Diameter 등이 적용될 수 있다. 한편 상술한 Dunn’s Index 방식은 수학식 5로 계산할 수 있다.
[수학식 5]
Figure pat00003
여기서 c는 전체 군집의 개수이며 U는 전체 데이터를 의미한다.
Daives-Bouldin’s Index 방식은 수학식 6으로 계산할 수 있다.
[수학식 6]
Figure pat00004
여기서, c는 전체 군집의 개수이며 U는 전체 데이터를 의미한다. 최적 값 갱신부(167)는 분석 지수 적용부(165)에 의하여 계산된 지수들에 대하여 각 k-set ID에 대한 군집 지수를 계산한 후에, 그 값이 가장 좋다고 나오는 k를 선택한다. 평가 시 여러 개의 군집 분석 지수를 도입하는 경우 여러 개의 군집 분석 지수의 voting을 통해 최적의 k를 구할 수 있다. 예를 들어, 사용하는 군집 분석 지수가 3개이고, k=3에 대해 군집 분석 지수 1, 2가 최적이고, k=4에 대해서는 군집분석 지수 3이 최적, k=5에 대해서는 없는 경우, k=3을 선택할 수 있다.
도 6은 4개의 군집으로 분류되는 특정 16치원 데이터에 대해 앞서 설명한 군집 분석 수행, 결과 선택, 선택 결과 공유에 따른 데이터 군집 분석, 군집 인덱스 할당된 데이터들에 대한 군집 분석 지수를 계산한 결과를 나타낸 것이다. 최적 값 갱신부(167)는 k=4일때 모든 군집 분석 지수가 가장 최적으로 나오는 것을 확인하고, k=4를 최적 값으로 결정할 수 있다.
한편, 최적 값 갱신부(167)는 현재 군집 분석 과정에서 구한 k값과, 기존에 구한 k_prev 값 및 그 군집 분석 지수 값을 비교하여, 새로 구한 k값이 좋은 경우 해당 값으로 갱신하고 이 값을 실제 군집 분석을 수행하는 데 사용하도록 지원할 수 있다.
도 7은 본 발명의 실시 예에 따른 분산 처리 서비스 장치(200)에 포함될 수 있는 데이터 노드의 구성을 개략적으로 나타낸 도면이다.
도 7을 참조하면, 본 발명의 분산 처리 서비스 장치(200)에 포함되는 데이터 노드는 노드 통신부(210), 노드 저장부(250) 및 노드 제어부(260)의 구성을 포함할 수 있다.
이러한 구성을 포함하는 데이터 노드는 노드 통신부(210)를 통하여 군집 분석 서비스 장치(100)의 장치 통신부(110)와 통신 채널을 형성하고, 군집 분석 서비스 장치(100)로부터 일정 범위의 k값들 및 데이터(151)들을 수신하여 저장할 수 있다. 그리고 데이터 노드는 군집 분석을 수행할 수 있다. 이를 위하여 노드 저장부(250)는 군집 분석을 위한 알고리즘과, 군집 분석 서비스 장치(100)로부터 데이터를 수신하기 위한 MapReduce(253) 프로그램을 포함할 수 있다. MapReduce(253)는 군집 분석 서비스 장치(100)로부터 데이터를 수신하고, 군집 분석을 수행한 후 결과를 군집 분석 서비스 장치(100)에 제공하도록 지원하는 과정에서 대용량의 데이터를 다수의 데이터 노드들이 분할 수신하여 처리하고 처리된 결과를 제공할 수 있도록 지원하는 구성이다. 이러한 MapReduce(253)는 앞서 설명한 바와 같이 Mapper 및 Reducer들을 이용하여 본 발명의 군집 분석 수행을 지원할 수 있다.
한편 노드 저장부(250)에는 군집 분석 서비스 장치(100)가 제공하는 데이터를 임시 또는 반 영구적으로 저장할 수 있다. 즉 노드 저장부(250)는 데이터 251을 저장할 수 있다. 이때 저장되는 데이터 251은 군집 분석 서비스 장치(100)에 저장된 데이터 151와 실질적으로 동일한 데이터가 될 수 있으며, 군집 분석 수행 결과에 따라 군집 인덱스가 할당된 데이터가 될 수 있다.
노드 제어부(260)는 군집 분석 서비스 장치(100)의 군집 분석 수행 요청에 따라 전달되는 일정 범위의 k값들 및 데이터들을 사전 정의된 k-평균 군집 분석 방식에 따라 군집 분석을 수행하고 그 결과를 군집 분석 서비스 장치(100)에 제공하도록 지원하는 구성이다. 이러한 노드 제어부(260)는 앞서 군집 분석 서비스 장치(100) 설명에서 설명한 군집 분석의 수행, 군집 인덱스 할당 등을 수행하도록 제어할 수 있다.
예를 들어, 노드 제어부(260)는 MapReduce(253) 방식에 따라 각각의 데이터 노드에서 동작하는 또는 동일 데이터 노드에서 복수개가 동작하는 각각의 mapper를 이용하여 분산된 데이터의 각 입력들을 한 행(row)씩 읽어 들이도록 제어할 수 있다. 그리고 노드 제어부(260)는 모든 k-set ID 및 모든 NCS ID에 대하여 다음과 같은 과정을 반복 수행할 수 있다. 즉, 노드 제어부(260)는 1부터 현재 k-set ID개의 center 중에 현재 입력과 가장 가까운 center의 index(c*)를 구하고 이것을 key로 한다. value는 현재의 입력 데이터의 벡터 값이다. 위에서 구해진 (key, value)를 출력한다. 여기서 key = (k set ID | NCS ID | c* )이며, value = ( x_i1, xi_2, …, xi_d )가 될 수 있다. 노드 제어부(260)는 가장 가까운 center와의 거리 값(measure)을 출력한다. 여기서 key = ( k set ID | NCS ID | err )이며, value = ( 1 | distance ) = ( 1 | sqrt ( (c*_1 - x_1)^2 , (c*_2 - x_2)^2 , …, (c*_n - x_n)^2 )(유클리디안인 경우)가 될 수 있다. 상술한 과정을 통해 노드 제어부(260)는 한 개(행, row)의 입력 데이터에 대해, (key, value)는 |k set ID| X | NCS | X 2 개만큼의 출력을 하나의 data에 대해 생성하도록 지원할 수 있다.
본 발명의 분산 처리 서비스 장치(200)는 군집 분석 서비스 장치(100)의 제어에 따라 군집 분석 수행 및 적용을 iterative 하게 적용하여 데이터가 변경되더라도 별도의 사용자 개입 없이 계속적으로 최적의 k값으로 군집 분석 결과를 얻을 수 있도록 지원한다. 여기서 분산 처리 서비스 장치(200)는 MapReduce framework의 Combiner를 도입하여 수행속도를 증가시킬 수 있다. Combiner는 Reducer에서 수행하는 기능을 local 데이터 노드 에서만 수행하기 때문에, reducer는 mapper의 출력이 아닌 combiner의 출력을 사용해서 동일한 기능을 할 수 있도록 수정이 필요할 수 있다. 예를 들어, 군집 분석 수행에 따라 새로운 중심 값을 구하기 위해, mapper에서 (key, value) = (center ID, data vector)를 내보내고, reducer에서 (key, value) = (center ID, list of data vectors)를 입력으로 받아서 list of data vectors의 벡터 합을 구해서 평균을 구하는 기능이 수행되는 환경을 가정하기로 한다. 이 환경에서 Combiner를 사용하게 되면, mapper에서 (key, value) = (center ID, data vector)를 내보내고, combiner에서는 (key, value) = (center ID, data vectors 목록)를 입력으로 받은 후에, (key, value) = (center ID, data vectors 목록의 개수 | data vectors들의 벡터 합)를 내보낸 후에, reducer에서는 이것을 입력으로 받아, 평균을 구하게 된다. 즉 원래 하나의 reducer에서는 하나의 key에 대한 모든 데이터가 들어오고 이것을 이용하여 전체 합을 계산하도록 설계되는데, combiner를 도입하면 각 combiner에서 하나의 key에 대한 부분합을 계산하기 때문에, reducer가 combiner로부터 입력을 받을 때에는 하나의 center ID key에 속하는 데이터의 개수를 알 수 없으므로, 각각의 combiner에서 부분합을 계산하는데 처리한 데이터의 개수를 부분합과 같이 받아서 전체 합을 계산하게 된다. 이러한 방식은 하나의 center ID key에 대해, 추가로 각각의 combiner에서 처리한 입력 데이터의 개수를 reducer로 넘겨 주도록 (key, value)를 수정하여, reducer에서 전체 합에 대한 평균을 구할 수 있게 reducer를 수정함으로써, 지원 가능하다.
도 8은 본 발명의 실시 예에 따른 군집 분석 지원 방법을 설명하기 위한 신호 흐름도를 나타낸 도면이다.
도 8을 참조하면, 본 발명의 군집 분석 지원 방법은 801 단계에서 군집 분석 서비스 장치(100)가 사용자로부터 k값 범위를 수집하고 중심 값 벡터에 대한 초기화를 수행할 수 있다. 이와 함께 군집 분석 서비스 장치(100)는 군집 분석의 수렴 조건을 수집할 수 있다. 상술한 k값의 범위 및 수렴 조건은 사용자가 장치 입력부(120)를 통하여 입력하거나 사전 정의된 값을 적용하도록 지시함에 따라 정의될 수 있다. 다음으로 군집 분석 서비스 장치(100)는 802 단계에서 전체 중심 값 세트(center set)와 데이터를 분산 처리 서비스 장치(200)의 데이터 노드들에게 제공할 수 있다. 이때 군집 분석 서비스 장치(100) 및 분산 처리 서비스 장치(200)의 데이터 노드들은 MapReduce 방식에 따라 각각의 Mapper를 이용하여 데이터들을 분산 처리하도록 지원할 수 있다. 데이터 노드들은 군집 분석 서비스 장치(100)로부터 중심 값 세트와 데이터를 수신하면 803 단계에서 이를 기반으로 k-평균 군집 분석을 수행할 수 있다.
k-평균 군집 분석 수행에 따라 결과가 출력되면, 분산 처리 서비스 장치(200)의 데이터 노드들은 804 단계에서와 같이 각 Reducer들을 이용하여 해당 결과를 군집 분석 서비스 장치(100)에 전달할 수 있다. 특히 데이터 노드들은 하나의 중심 값에 대하여 하나의 출력만을 제공할 수 있다. 군집 분석 서비스 장치(100)는 분산 처리 서비스 장치(200)의 데이터 노드들로부터 분석 결과를 수신하면, 805 단계에서 해당 분석 결과 중에서 최적의 결과를 선택할 수 있다. 그리고 군집 분석 서비스 장치(100)는 806 단계에서 선택 결과를 데이터 노드들에 제공함으로써 선택 결과를 공유하도록 제어할 수 있다. 이와 함께 군집 분석 서비스 장치(100)는 해당 선택 결과를 통하여 각 데이터들에 대한 군집 인덱스 할당을 요청할 수 있다.
분산 처리 서비스 장치(200)의 데이터 노드들은 807 단계에서 군집 분석 서비스 장치(100)가 제공한 선택 결과를 기반으로 각 데이터들에 군집 인덱스를 할당하도록 제어한다. 그리고 데이터 노드들은 808 단계에서 군집 인덱스가 부여된 데이터들을 군집 분석 서비스 장치(100)에 제공할 수 있다. 그러면 군집 분석 서비스 장치(100)는 809 단계 내지 812 단계에서 군집 지수 적용을 수행하고 k 값 선택을 수행할 수 있다.
즉 군집 분석 서비스 장치(100)는 적용해야 할 데이터 양이 일정 값 이상인 경우, 사전 정의된 샘플링 방식 중 적어도 하나의 방식에 따라 809 단계에서 샘플링 적용을 지원할 수 있다. 그리고 군집 분석 서비스 장치(100)는 810 단계에서 각 k 값별 클러스터 지수 계산을 수행하고, 811 단계에서 클러스터 지수가 가장 높은 k값을 선정할 수 있다. 그리고 군집 분석 서비스 장치(100)는 812 단계에서 2개의 클러스터 지수를 비교해서 지수가 상대적으로 더 높은 k값을 선정하도록 지원할 수 있다. 즉 군집 분석 서비스 장치는 지수 계산을 수행하는 단계에서 다수의 지수 방식을 각 k값 별 클러스터 지수 계산에 적용하고, 다수의 지수 방식 중 상대적으로 더 높은 k값을 선정할 수 있다. 한편 상술한 설명에서 군집 분석 서비스 장치(100)가 샘플링을 직접 수행하는 것으로 설명하였지만 본 발명이 이에 한정되는 것은 아니다. 즉 군집 분석 서비스 장치(100)는 샘플링 조건을 분산 처리 서비스 장치(200)의 각 데이터 노드들에게 제공하고, 샘플링 조건에 따른 데이터들만을 수신한 후, 이를 기반으로 810 단계 내지 812 단계를 수행할 수 있다. 이후 군집 분석 서비스 장치(100)는 813 단계에서 이전 저장된 k_prev 값과 현재 k 값을 비교하여 보다 양호한 결과의 k값이 저장되도록 k값 갱신을 수행하도록 제어할 수 있다.
본 발명은 k-평균 군집 분석 시에 사용자가 수동으로 k값을 잘 지정해주지 않으면 좋은 군집 분석 결과를 얻을 수 없다는 단점을 극복하고, 시스템적으로 자동으로 군집 분석을 수행하고 그 결과를 바탕으로 군집 분석 지수를 계산하여 가장 적절한 k값을 구할 수 있도록 지원한다.
또한 본 발명은 분산 처리 프레임웍 기반으로 데이터 사이즈가 큰 경우에도 제약 받지 않고 적용 가능하다. 또한 본 발명은 사용자가 특정 k값을 사전에 지정하지 않고 일정 범위를 지정해 놓으면 자동으로 가장 적합한 k값을 찾아내고, 이러한 과정이 별도의 사용자 개입 없이 주기적으로 실행되면서 데이터가 변경됨에 따라 스스로 그 값을 조정할 수 있도록 지원한다.
한편 상술한 설명에서는 군집 분석 서비스를 지원하기 위하여 군집 분석 서비스 장치(100) 및 분산 처리 서비스 장치(200)를 서로 구분하고, MapReduce 기능을 장치들 간에 상호 연계하여 수행하는 것으로 설명하였지만 본 발명이 이에 한정되는 것은 아니다. 즉 상기 분산 처리 서비스 장치(200)는 군집 분석 서비스 장치(100)의 장치 저장부(150)의 구성으로 대체될 수 있다. 이 경우 장치 저장부(150)는 분산 처리 서비스 장치(200)의 데이터 분산 처리 기능을 지원하기 위하여 논리적으로 또는 설계자의 의도에 따라 물리적으로 구분된 영역들을 가질 수 있으며, 이러한 구분된 영역들 각각의 앞서 설명한 데이터 노드들의 역할을 수행할 수 있다. 여기서 군집 분석 서비스 장치(100)의 장치 제어부(160)는 장치 저장부(150)가 분산 처리 서비스 장치(200) 역할을 수행하도록 설계되는 경우 각 장치 저장부(150)의 영역들을 동시 접근 및 데이터 처리를 수행할 수 있도록 다중 태스크 처리가 가능한 형태로 마련될 수 있을 것이다.
한편 상술한 본 발명의 실시 예에 따른 군집 분석 기능 제공의 경우 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 이때, 컴퓨터로 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 한편, 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 판독 가능한 기록매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
이상에서는 본 발명의 실시 예에 따른 군집 분석 기능 제공에 대하여 본 명세서 및 도면을 통해 바람직한 실시 예들에 대하여 설명하였으며, 비록 특정 용어들이 사용되었으나 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위해 일반적인 의미에서 사용된 것일 뿐, 본 발명이 전술한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 기술적 사상에 바탕을 둔 다양한 실시 예가 가능함은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 군집 분석 지원 시스템 및 방법과 이를 지원하는 장치에 관한 것으로, 본 발명은 사용자 제어 없이 자동으로 최적의 k값 산출을 수행하고 이에 따른 군집 분석을 지원함으로써 데이터의 군집 분석에 대한 신뢰도 및 안정성을 높일 수 있도록 지원한다.
10 : 군집 분석 지원 시스템 100 : 군집 분석 서비스 장치
110 : 장치 통신부 120 : 장치 입력부
150 : 장치 저장부 160 : 장치 제어부
200 : 분산 처리 서비스 장치
210 : 노드 통신부 250 : 노드 저장부
260 : 노드 제어부 300 : 통신 네트웍

Claims (12)

  1. 일정 범위의 k값들과 사전 정의된 반복 횟수 및 수렴 조건을 기반으로 k-평균 군집 분석을 요청하고 그 결과 중 최적의 결과를 선택하고, 선택된 결과에 의해 부여되는 군집 인덱스들의 데이터 적용에 대한 지수 계산을 통하여 최적의 k값 산출 및 적용을 제어하는 군집 분석 서비스 장치;
    상기 군집 분석 서비스 장치 요청에 따라 상기 군집 분석 서비스 장치가 제공하는 데이터들 및 상기 k-평균 군집 분석 조건들을 각각 분산 처리하여 중심 값들에 대한 결과를 제공하며, 선택 결과에 따라 상기 데이터들에 군집 인덱스를 부여하는 분산 처리 서비스 장치;
    를 포함하는 것을 특징으로 하는 군집 분석 지원 시스템.
  2. 데이터를 저장하는 장치 저장부;
    상기 저장된 데이터에 대한 군집 분석을 위한 일정 범위의 k값들, 수렴 조건 및 반복 횟수 중 적어도 하나에 대한 입력 신호를 생성하는 장치 입력부;
    상기 k값들 및 수렴 조건에 따라 상기 데이터들의 k-평균 군집 분석을 수행하고 그 결과 중 최적의 결과 값을 선택하되 상기 데이터 갱신 시마다 상기 k-평균 군집 분석을 수행하도록 제어하는 장치 제어부;
    를 포함하는 것을 특징으로 하는 군집 분석을 지원하는 군집 분석 서비스 장치.
  3. 제2항에 있어서,
    상기 장치 저장부는
    이전 k-평균 군집 분석에 따라 산출된 이전 k값을 저장하는 것을 특징으로 하는 군집 분석을 지원하는 군집 분석 서비스 장치.
  4. 제3항에 있어서,
    상기 장치 제어부는
    상기 데이터들을 분산 처리하도록 데이터들을 분배하는 데이터 분배부;
    상기 일정 범위의 k값들 및 반복 횟수에 따라 도출된 중심 값들 중 최적의 중심 값을 선택하는 분석 결과 선택부;
    상기 최적의 중심 값을 가지는 선택 결과를 상기 데이터들에 적용한 군집 인덱스가 할당된 데이터들에 대한 k값 효율에 대한 지수 계산을 수행하는 분석 지수 적용부;
    상기 지수 계산 값이 최적인 k값을 기반으로 이전 저장된 k값을 갱신하도록 제어하는 최적 값 갱신부;
    를 포함하는 것을 특징으로 하는 군집 분석을 지원하는 군집 분석 서비스 장치.
  5. 제2항에 있어서,
    상기 장치 제어부는
    동시에 여러 개의 k값에 대해 여러 번 서로 다른 초기화 값을 가지고 중심 값들에 대한 결과 산출을 자동으로 수행하도록 제어하는 군집 분석을 지원하는 군집 분석 서비스 장치.
  6. 군집 분석 서비스 장치가 입력된 일정 범위의 k값들 및 반복회수를 기반으로 중심 값 벡터들에 대한 초기화 과정을 수행하는 단계;
    데이터 및 초기화된 중심 값 벡터들을 분산 처리 서비스 장치의 각 데이터 노드들에 분산 전달하는 단계;
    상기 데이터 노드들이 상기 분산 전달된 데이터 및 초기화된 중심 값 벡터들을 기반으로 k-평균 군집 분석을 수행하는 단계;
    상기 데이터 노드들이 상기 분석 결과를 상기 군집 분석 서비스 장치에 제공하는 단계;
    상기 군집 분석 서비스 장치가 상기 분석 결과 중 최적의 결과를 선택하고 이를 상기 데이터 노드들과 공유하는 단계;
    상기 데이터 노드들이 상기 선택된 결과를 데이터들에 적용한 군집 인덱스를 할당하는 단계;
    상기 군집 분석 서비스 장치가 상기 군집 인덱스가 할당된 데이터들의 지수 계산을 수행하는 단계;
    상기 지수 계산 결과가 최적인 값을 이전 저장된 k값에 갱신하는 단계;
    를 포함하는 것을 특징으로 하는 군집 분석 지원 방법.
  7. 제6항에 있어서,
    상기 군집 분석 서비스 장치가 샘플링 조건을 데이터 노드들에 전달하고, 상기 데이터 노드들이 상기 샘플림 조건에 따라 데이터들을 산출하고 이를 상기 군집 분석 서비스 장치에 제공하는 단계;
    를 더 포함하는 것을 특징으로 하는 군집 분석 지원 방법.
  8. 제6항에 있어서,
    상기 데이터 노드들이 제공한 군집 인덱스가 할당된 데이터들에 대하여 상기 군집 분석 서비스 장치가 상기 군집 인덱스가 할당된 데이터들에 대한 샘플링을 수행하는 단계;
    를 더 포함하는 것을 특징으로 하는 군집 분석 지원 방법.
  9. 제6항에 있어서,
    상기 지수 계산을 수행하는 단계는
    각 k값 별 클러스터 지수 계산을 수행하고 상기 클러스터 지수가 가장 높은 k값을 선정하는 단계;
    를 포함하는 것을 특징으로 하는 군집 분석 지원 방법.
  10. 제9항에 있어서,
    상기 지수 계산을 수행하는 단계는
    다수의 지수 방식을 각 k값 별 클러스터 지수 계산에 적용하여 다수의 지수 방식 중 상대적으로 더 높은 k값을 선정하는 단계;
    를 더 포함하는 것을 특징으로 하는 군집 분석 지원 방법.
  11. 제6항에 있어서,
    상기 k-평균 군집 분석을 수행하는 단계는
    동시에 여러 개의 k값에 대해 여러 번 서로 다른 초기화 값을 가지고 중심 값들에 대한 결과 산출을 자동으로 수행하는 단계인 것을 특징으로 하는 군집 분석 지원 방법.
  12. 제6항 내지 제11항 중 어느 한 항에 기재된 군집 분석 지원 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
KR1020120097498A 2012-09-04 2012-09-04 군집 분석 지원 시스템 및 방법과, 이를 지원하는 장치 KR101700104B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020120097498A KR101700104B1 (ko) 2012-09-04 2012-09-04 군집 분석 지원 시스템 및 방법과, 이를 지원하는 장치
US14/347,778 US9378266B2 (en) 2012-09-04 2013-07-11 System and method for supporting cluster analysis and apparatus supporting the same
CN201380033471.6A CN104380282B (zh) 2012-09-04 2013-07-11 聚类化支持系统和方法以及支持该方法的装置
PCT/KR2013/006190 WO2014038781A1 (ko) 2012-09-04 2013-07-11 군집 분석 지원 시스템 및 방법과, 이를 지원하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120097498A KR101700104B1 (ko) 2012-09-04 2012-09-04 군집 분석 지원 시스템 및 방법과, 이를 지원하는 장치

Publications (2)

Publication Number Publication Date
KR20140030838A true KR20140030838A (ko) 2014-03-12
KR101700104B1 KR101700104B1 (ko) 2017-02-13

Family

ID=50237359

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120097498A KR101700104B1 (ko) 2012-09-04 2012-09-04 군집 분석 지원 시스템 및 방법과, 이를 지원하는 장치

Country Status (4)

Country Link
US (1) US9378266B2 (ko)
KR (1) KR101700104B1 (ko)
CN (1) CN104380282B (ko)
WO (1) WO2014038781A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101588531B1 (ko) * 2014-07-29 2016-01-25 성균관대학교산학협력단 플라즈마 식각 공정의 식각 종료점 검출방법
KR20160147525A (ko) * 2015-06-15 2016-12-23 한국과학기술원 군집 구조의 교란 정도를 도출하는 장치 및 방법
CN110647626A (zh) * 2019-07-30 2020-01-03 浙江工业大学 基于互联网服务域的rest数据服务聚类方法
KR20210007547A (ko) * 2019-07-12 2021-01-20 주식회사 젠큐릭스 자동 경계화를 이용한 데이터 처리 방법 및 시스템
KR20220096290A (ko) * 2020-12-31 2022-07-07 (주)자스텍엠 차량 잔존 가치 분석 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102193012B1 (ko) * 2014-02-04 2020-12-18 삼성전자주식회사 분산 처리 시스템 및 이의 동작 방법
CN106294115B (zh) * 2015-06-11 2019-06-07 阿里巴巴集团控股有限公司 一种应用系统迁移性的测试方法及装置
CN106201882A (zh) * 2016-07-13 2016-12-07 浪潮(北京)电子信息产业有限公司 基于Jenkins的操作系统自动化测试方法及系统
CN107392127B (zh) * 2017-07-13 2019-09-10 国家电网公司 基于切比雪夫多项式描述子的输电线路提取方法
KR101903582B1 (ko) 2018-04-23 2018-11-13 시와소프트 주식회사 재난발생 사전 감지 및 재난훈련 기능이 구비된 led 조명 시스템 및 그 방법
KR102175167B1 (ko) 2018-05-09 2020-11-05 서강대학교 산학협력단 K-평균 클러스터링 기반의 데이터 마이닝 시스템 및 이를 이용한 k-평균 클러스터링 방법
US11099790B2 (en) 2019-01-10 2021-08-24 Samsung Electronics Co., Ltd. Parallel key value based multithread machine learning leveraging KV-SSDS
US11487964B2 (en) * 2019-03-29 2022-11-01 Dell Products L.P. Comprehensive data science solution for segmentation analysis
KR102668416B1 (ko) * 2021-12-07 2024-05-24 주식회사 케이티 물류를 위한 경로를 도출하는 서버, 방법 및 컴퓨터 프로그램
CN114553565B (zh) * 2022-02-25 2024-02-02 国网山东省电力公司临沂供电公司 一种基于请求频率的安全态势感知方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115708A (en) * 1998-03-04 2000-09-05 Microsoft Corporation Method for refining the initial conditions for clustering with applications to small and large database clustering
KR20120054985A (ko) 2010-11-22 2012-05-31 한국과학기술원 단일 차원 군집 분석의 분산처리를 이용한 대용량 데이터의 군집 분석 시스템, 방법 및 이를 위한 기록 매체

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050222972A1 (en) * 2002-01-04 2005-10-06 Hewlett-Packard Development Company, L.P. Computer implemented, fast, approximate clustering based on sampling
US6931350B2 (en) * 2003-08-28 2005-08-16 Hewlett-Packard Development Company, L.P. Regression-clustering for complex real-world data
US8165973B2 (en) * 2007-06-18 2012-04-24 International Business Machines Corporation Method of identifying robust clustering
KR100930799B1 (ko) 2007-09-17 2009-12-09 한국전자통신연구원 자동화된 클러스터링 방법 및 이를 이용한 이동통신환경에서 다중 경로의 클러스터링 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115708A (en) * 1998-03-04 2000-09-05 Microsoft Corporation Method for refining the initial conditions for clustering with applications to small and large database clustering
KR20120054985A (ko) 2010-11-22 2012-05-31 한국과학기술원 단일 차원 군집 분석의 분산처리를 이용한 대용량 데이터의 군집 분석 시스템, 방법 및 이를 위한 기록 매체

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101588531B1 (ko) * 2014-07-29 2016-01-25 성균관대학교산학협력단 플라즈마 식각 공정의 식각 종료점 검출방법
KR20160147525A (ko) * 2015-06-15 2016-12-23 한국과학기술원 군집 구조의 교란 정도를 도출하는 장치 및 방법
KR20210007547A (ko) * 2019-07-12 2021-01-20 주식회사 젠큐릭스 자동 경계화를 이용한 데이터 처리 방법 및 시스템
CN110647626A (zh) * 2019-07-30 2020-01-03 浙江工业大学 基于互联网服务域的rest数据服务聚类方法
CN110647626B (zh) * 2019-07-30 2022-05-03 浙江工业大学 基于互联网服务域的rest数据服务聚类方法
KR20220096290A (ko) * 2020-12-31 2022-07-07 (주)자스텍엠 차량 잔존 가치 분석 방법

Also Published As

Publication number Publication date
US9378266B2 (en) 2016-06-28
US20140236950A1 (en) 2014-08-21
CN104380282A (zh) 2015-02-25
CN104380282B (zh) 2017-05-17
WO2014038781A1 (ko) 2014-03-13
KR101700104B1 (ko) 2017-02-13

Similar Documents

Publication Publication Date Title
KR20140030838A (ko) 군집 분석 지원 시스템 및 방법과, 이를 지원하는 장치
US20220027746A1 (en) Gradient-based auto-tuning for machine learning and deep learning models
US10769146B1 (en) Data locality based query optimization for scan operators
CN103235974B (zh) 一种提高海量空间数据处理效率的方法
US10223437B2 (en) Adaptive data repartitioning and adaptive data replication
CN104834479A (zh) 面向云平台的自动优化存储系统配置的方法及系统
US11429636B2 (en) Smart elastic scaling based on application scenarios
CN108171374A (zh) 一种基于模拟退火算法的对地观测卫星任务规划方法
CN116501711A (zh) 一种基于“存算分离”架构的算力网络任务调度方法
WO2015180340A1 (zh) 一种数据挖掘方法及装置
CN105808582A (zh) 基于分层策略的决策树并行生成方法和装置
CN106599291B (zh) 数据分组方法及装置
US11615342B2 (en) Systems and methods for generating amplifier gain models using active learning
CN115422788A (zh) 一种配电网线损分析管理方法、装置、存储介质及系统
CN110210506A (zh) 基于大数据的特征处理方法、装置和计算机设备
CN113222073A (zh) 训练迁移学习模型和推荐模型的方法及装置
CN104778088A (zh) 一种基于减少进程间通信开销的并行i/o优化方法与系统
US20200250064A1 (en) Information processing apparatus and distributed processing system
CN108182243A (zh) 一种基于Spark的分布式进化算法岛模型并行化方法
CN102141988A (zh) 一种数据挖掘系统中数据聚类的方法、系统及装置
US11960939B2 (en) Management computer, management system, and recording medium
Chen et al. Towards efficient multiobjective hyperparameter optimization: a multiobjective multi-fidelity bayesian optimization and hyperband algorithm
CN111738539B (zh) 一种拣货任务分配方法、装置、设备及介质
JPWO2018168695A1 (ja) 分散機械学習装置、分散機械学習方法および分散機械学習プログラム
CN110222779B (zh) 分布式数据处理方法及系统

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
FPAY Annual fee payment

Payment date: 20191220

Year of fee payment: 4