KR20140064471A - 대용량 데이터를 위한 군집화 방법 - Google Patents

대용량 데이터를 위한 군집화 방법 Download PDF

Info

Publication number
KR20140064471A
KR20140064471A KR1020120131860A KR20120131860A KR20140064471A KR 20140064471 A KR20140064471 A KR 20140064471A KR 1020120131860 A KR1020120131860 A KR 1020120131860A KR 20120131860 A KR20120131860 A KR 20120131860A KR 20140064471 A KR20140064471 A KR 20140064471A
Authority
KR
South Korea
Prior art keywords
data
clustering
denotes
present
rti
Prior art date
Application number
KR1020120131860A
Other languages
English (en)
Inventor
권인소
최유경
박채훈
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020120131860A priority Critical patent/KR20140064471A/ko
Publication of KR20140064471A publication Critical patent/KR20140064471A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

대용량 데이터를 군집화하기 위하여, 수신한 데이터를 분산 처리하고, 분산 처리된 데이터의 차원을 줄인다. 그리고 앙상블 클러스터를 통합하여 데이터의 군집화를 수행한다.

Description

대용량 데이터를 위한 군집화 방법{Accelerated kmeans clustering using binary random projection}
본 발명은 고차원의 대용량 데이터를 위한 군집화 방법에 관한 것이다.
인터넷 기반 기술이 발전함에 따라 대용량 데이터에 대한 관심이 높아지고 있다. 한정된 시간 내에 시스템에서 처리 가능한 데이터 용량의 범위를 넘어서는 대용량 데이터들을 처리하기 위해서는, 시스템은 대용량 데이터들의 군집화 과정을 수행해야 한다. 이에 따라 대용량 데이터의 군집화를 위해 빠르고 정확하게 동작할 수 있는 방법들이 필요하게 되었다.
일반적인 군집화 방법으로 가장 많이 활용되고 있는 알고리즘으로는, n개의 객체들의 집합을 k개의 군집으로 분해하는 거리에 기반을 둔 클러스터링 기법인 Lloyd의 k-means 알고리즘이 있다. k-means 알고리즘은, 군집에서 군집의 무게중심으로 볼 수 있는 객체들의 평균값을 측정하여, 기준점에 가까운 곳의 데이터들을 하나의 군집으로 묶는 방식이다.
이러한 k-means 알고리즘은 연산을 위해 소요되는 시간이 O(knd)로, 높은 차원의 많은 양의 데이터를 군집화하기에 적합하지 않다.
따라서, 본 발명은 고차원의 대용량 데이터를 군집화함에 있어 불필요한 연산 과정을 생략하고, 최적화 방법론의 빠른 수렴을 유도하여 빠르고 정확하게 동작할 수 있는 군집화 방법을 제공한다.
상기 본 발명의 기술적 과제를 달성하기 위한 본 발명의 하나의 특징인 대용량 데이터를 군집화하는 방법은,
수신한 데이터를 분산 처리하는 단계; 분산 처리된 데이터를 서브 스페이스 분석하여, 데이터 차원을 줄이는 단계; 및 앙상블 클러스터를 통합하여 상기 데이터의 군집화를 수행하는 단계를 포함한다.
상기 분산 처리하는 단계는, 상기 수신한 데이터에 앙상블 기반의 데이터 샘플링을 통해 분산 처리를 수행할 수 있다.
상기 데이터 차원을 줄이는 단계는, 랜덤 프로젝션 방법을 기반으로 데이터 차원을 줄일 수 있다.
본 발명에 따르면 군집화 연산을 위해 불필요한 연산 과정을 생략하고, 데이터의 정보를 잃지 않는 범위 내에서 데이터의 차원을 줄이는 분석을 통해, 코드북의 성능은 유지하면서 군집화 속도를 빠르게 개선할 수 있다.
도 1은 본 발명의 실시예에 따른 군집화를 위한 흐름도이다.
도 2는 본 발명의 제1 실시예에 따른 군집화를 실행하는 예시도이다.
도 3은 본 발명의 제2 실시예에 따른 군집화를 실행하는 예시도이다.
도 4는 본 발명의 실시예에 따른 군집화 실행을 통한 성능을 나타낸 예시도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 도면을 참조로 하여 본 발명의 실시예에 따른 고차원 대용량 데이터에 적합한 빠른 군집화 방법에 대해 설명한다. 본 발명의 실시예에서는 대용량 데이터를 군집화하는 시스템을 어느 하나로 한정하여 설명하지는 않는다.
도 1은 본 발명의 실시예에 따른 군집화를 위한 흐름도이다.
도 1에 도시된 바와 같이, 대용량 데이터를 군집화하는 절차는 시스템이 대용량 데이터를 수신하면(S100), 분산 처리를 수행한다(S110). 본 발명의 실시예에서는 S110 단계에서 데이터를 분산 처리하기 위하여 앙상블 기반의 데이터 샘플링 방법을 이용한다. 특히, 데이터 샘플링으로 잃기 쉬운 데이터 정보를 앙상블 형태의 알고리즘으로 보완하여 상충 관계에 있는 알고리즘의 정확도와 효율성을 유지할 수 있도록 한다.
또한, S110 단계에서 분산 처리를 위해 사용하는 알고리즘은 종래의 기하학적 정보를 활용한 불필요한 계산 절차를 제거하였다. k-means와 같은 군집화 알고리즘은 모든 데이터에 가장 가까운 중심 값의 라벨을 할당하기 위하여 기본적으로 데이터와 모든 중심 값 사이의 거리를 계산해야 한다.
그러나 중심 값 사이의 거리를 이미 알고 있다면, 삼각 부등식을 이용하여 데이터와 모든 중심 값 사이의 거리를 계산하지 않고도 가장 가까운 중심 값을 알 수 있기 때문에, 많은 양의 데이터를 다룰수록 연산량을 줄일 수 있다는 장점이 있다. 본 발명의 실시예에 따른 분산 처리 알고리즘은 다음 수학식 1을 통해 실행된다.
Figure pat00001
여기서 T는 앙상블 수이고,
Figure pat00002
는 처리된 데이터를 의미한다.
Figure pat00003
는 샘플링된 데이터이고, A는 프로젝트 랜덤 행렬을 의미한다.
S110 단계를 통해 시스템이 전체 데이터를 분산 처리를 수행한 후, 시스템은 분산 처리된 데이터의 차원을 줄이기 위해 서브 스페이스 분석을 실행한다(S120).
많은 양의 고차원 데이터를 다루기 위해서는 많은 리소스가 요구된다. 종래의 연구들은 데이터 차원을 줄이기 위해 PCA(Principal Components Analysis)와 같은 고유 벡터 분석을 수행하기 때문에, 실시간에 가까운 알고리즘 효율성 확보에 어려움이 따른다.
따라서 본 발명의 실시예에서는 랜덤 프로젝션(Random Projection) 방법을 기반으로, 데이터 연산량이 많지 않으면서도 데이터 내에 포함된 정보를 잃지 않는 범위 내에서 데이터 차원을 줄이는 방법을 이용한다. 특히 랜덤 프로젝션 행렬 A를 어떻게 설계하느냐에 따라 알고리즘의 성능이 많이 좌우된다. 이를 위해 시스템은 다음 수학식 2를 통해 서브 스페이스 분석을 실행한다.
Figure pat00004
여기서 d은 임의의 정수이고, N은 데이터 수를 나타낸다. d'은 행렬 A에 의해 투영된 변수를 의미하며, Ad' ×d는 d'×d 랜덤 프로젝션 행렬을, Xd ×N은 d×N 입력 데이터를 나타낸다. 즉 입력 데이터 X를 A라는 프로젝션 행렬을 이용해서 XRP로 데이터를 가공하는데, 정보를 잃지 않는 범위에서 데이터를 줄이고 있다는 표현이 XRP를 의미한다.
일반적으로 랜덤 프로젝션 행렬의 각 요소들은 가우시안 확률 분포를 많이 따르지만, 본 발명의 실시예에서는 다음 수학식 3과 같이 0과 1로 이루어진 이진 프로젝션 행렬을 이용한다.
Figure pat00005
여기서 ai ,j는 행렬을 구성하는 각 요소를 나타낸다.
이상의 절차를 통해 데이터 차원을 줄이면, 시스템은 각각의 앙상블의 결과를 모아 k-means 군집화를 수행한다(S130). 이때 각각의 앙상블들을 통해 도출된 후보 클러스터들은 k-means 알고리즘의 초기 값으로 사용되어, 빠른 수렴을 돕고 지역 국소값(local minima)에 수렴하는 결과를 최소화한다.
이상에서 언급한 절차를 통해 대용량의 데이터 군집화를 실행하는 예와 성능에 대해 도 2 내지 도 4를 참조로 설명한다.
도 2는 본 발명의 제1 실시예에 따른 군집화를 실행하는 예시도이고, 도 3은 본 발명의 제2 실시예에 따른 군집화를 실행하는 예시도이다. 그리고 도 4는 본 발명의 실시예에 따른 군집화 실행을 통한 성능을 나타낸 예시도이다.
먼저 도 2에 도시된 바와 같이, 장면 정합 방법론의 군집화 방법을 제안된 방법으로 대체하여 성능 향상 실험을 진행한 것으로, 실내 복도 영상을 이용한 장면 정합 실험 결과를 나타낸 것이다.
도 2의 (a)는 k-mean 방법으로 장면 정합을 수행한 것이고, 도 2의 (b)는 본 발명의 실시예에 따른 군집화 방법을 통해 장면 정합을 수행한 결과를 나타낸 것이다. 그리고 (c)는 기존의 k-mean 방법과 본 발명의 실시예에 따른 군집화 방법을 통해 장면 정합 시, 장면 정합 소요 시간 중 군집화에 소요된 시간의 단축 정도를 나타낸 것이다.
도 2의 (a)와 도 2의 (b)에 나타난 바와 같이, k-mean 방법으로 장면 정합을 수행하는 것과 본 발명의 실시예에 따른 군집화 방법을 통해 장면 정합을 수행하는 경우, 영상 DB 사이에 장면 유사도를 나타냄을 알 수 있다. 그러나 도 2의 (c)에 나타난 바와 같이 장면 정합 소요시간 중 군집화에 소요된 시간이 본 발명의 실시예에 따른 군집화 방법을 통해 장면 정합을 수행하는 경우, 기존의 k-mean 방법에 비해 많은 시간 단축되었음을 알 수 있다.
도 2가 실내 영상을 이용한 것이라면, 도 3은 실외 캠퍼스 영상을 이용한 장면 정합의 실험 결과를 나타낸 것이다. 도 3의 (a)는 각 알고리즘의 정확도와 재현율(precision-recall) 값을 나타낸 것이고, 도 3의 (b)는 각 알고리즘의 군집화 소요 시간을 나타낸 것이다.
한편 도 4에 도시된 바와 같이, RMKmeans의 군집화 성능 평가를 위해 Gaussian datasets(Gaussian 분포를 따르는 데이터)를 이용하여 데이터의 차원(D)과 군집화의 수(K)에 따른 알고리즘 소요시간과 정확도(NMI)를 측정하였다. 비교 알고리즘은 가장 기본이 되는 알고리즘과 일반적으로 사용되는 알고리즘을 선정하였다.
Lloyd 알고리즘은 가장 널리 알려진 기본 k-means 알고리즘을 말하며, Arthur 알고리즘은 Kmeans++라고 불리며, 좋은 초기 값으로 알고리즘의 빠른 수렴을 유도한 방법론이다. 그리고, Elkan은 기하학적 정보로 불필요한 연산을 줄이는 방법론에 해당된다.
도 4에 나타난 실험 결과에서 알 수 있듯이, 본 발명의 실시예에 따른 방법은 높은 차원의(8차원 이상) 데이터에서 우수한 성능을 보임을 확인할 수 있다. 즉, 본 발명의 실시예에 따른 방법을 이용할 경우 Lloyd 알고리즘에 비해 10배정도 빠른 군집화를 수행하는 것을 알 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (6)

  1. 대용량 데이터를 군집화하는 방법에 있어서,
    수신한 데이터를 분산 처리하는 단계;
    분산 처리된 데이터를 서브 스페이스 분석하여, 데이터 차원을 줄이는 단계; 및
    앙상블 클러스터를 통합하여 상기 데이터의 군집화를 수행하는 단계
    를 포함하는 군집화 방법.
  2. 제1항에 있어서,
    상기 분산 처리하는 단계는,
    상기 수신한 데이터에 앙상블 기반의 데이터 샘플링을 통해 분산 처리하는 군집화 방법.
  3. 제2항에 있어서,
    상기 데이터의 분산 처리는,
    Figure pat00006

    를 통해 실행되고,
    상기 T는 앙상블 수를 의미하고,
    Figure pat00007
    는 처리된 데이터를 의미하고,
    Figure pat00008
    는 샘플링된 데이터를 의미하며, A는 프로젝트 랜덤 행렬을 의미하는 군집화 방법.
  4. 제1항에 있어서,
    상기 데이터 차원을 줄이는 단계는,
    랜덤 프로젝션 방법을 기반으로 데이터 차원을 줄이는 군집화 방법.
  5. 제4항에 있어서,
    상기 데이터 차원을 줄이는 단계는,
    Figure pat00009

    를 통해 서브 스페이스 분석을 실행하고,
    상기 d는 임의의 정수를 의미하고, N은 데이터 수를 나타내며, d'은 행렬 A에 의해 투영된 변수를 의미하고, Ad' ×d는 d'×d 랜덤 프로젝션 행렬을 나타내고, Xd ×N은 d×N 입력 데이터를 나타내는 군집화 방법.
  6. 제5항에 있어서,
    상기 랜덤 프로젝션 행렬은,
    Figure pat00010

    을 이용하며,
    ai ,j는 행렬을 구성하는 각 요소를 나타내는 군집화 방법.
KR1020120131860A 2012-11-20 2012-11-20 대용량 데이터를 위한 군집화 방법 KR20140064471A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120131860A KR20140064471A (ko) 2012-11-20 2012-11-20 대용량 데이터를 위한 군집화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120131860A KR20140064471A (ko) 2012-11-20 2012-11-20 대용량 데이터를 위한 군집화 방법

Publications (1)

Publication Number Publication Date
KR20140064471A true KR20140064471A (ko) 2014-05-28

Family

ID=50891899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120131860A KR20140064471A (ko) 2012-11-20 2012-11-20 대용량 데이터를 위한 군집화 방법

Country Status (1)

Country Link
KR (1) KR20140064471A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210007547A (ko) * 2019-07-12 2021-01-20 주식회사 젠큐릭스 자동 경계화를 이용한 데이터 처리 방법 및 시스템
US11671241B2 (en) 2019-07-18 2023-06-06 International Business Machines Corporation Privacy-preserving fast approximate K-means clustering with hamming vectors

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210007547A (ko) * 2019-07-12 2021-01-20 주식회사 젠큐릭스 자동 경계화를 이용한 데이터 처리 방법 및 시스템
US11671241B2 (en) 2019-07-18 2023-06-06 International Business Machines Corporation Privacy-preserving fast approximate K-means clustering with hamming vectors
US12058236B2 (en) 2019-07-18 2024-08-06 International Business Machines Corporation Privacy-preserving fast approximate K-means clustering with hamming vectors

Similar Documents

Publication Publication Date Title
KR100930799B1 (ko) 자동화된 클러스터링 방법 및 이를 이용한 이동통신환경에서 다중 경로의 클러스터링 방법 및 장치
CN113850281B (zh) 一种基于meanshift优化的数据处理方法和装置
KR20110096236A (ko) 클러스터 간 상호정보를 이용한 클러스터링 장치 및 방법
CN111368254A (zh) 多流形正则化非负矩阵分解的多视角数据缺失补全方法
CN110347888B (zh) 订单数据的处理方法、装置及存储介质
CN113985294A (zh) 一种电池剩余寿命的预估方法及装置
WO2017114276A1 (zh) 基于图的分析用户的方法和系统
CN111046979A (zh) 一种基于小样本学习的badcase发现方法及系统
CN112036476A (zh) 基于二分类业务的数据特征选择方法、装置及计算机设备
CN104239896A (zh) 一种视频图像中人群密度等级分类方法
CN111601358B (zh) 一种多阶段分层分簇空间相关性温度感知数据去冗余方法
CN103942415B (zh) 一种流式细胞仪数据自动分析方法
CN110796159A (zh) 基于k-means算法的电力数据分类方法及系统
KR20140064471A (ko) 대용량 데이터를 위한 군집화 방법
CN115168326A (zh) Hadoop大数据平台分布式能源数据清洗方法及系统
CN117495891B (zh) 点云边缘检测方法、装置和电子设备
CN110766043A (zh) 基于电网信息数据的K-means聚类算法
WO2024109859A1 (zh) 一种肿瘤基因突变分类方法、装置、电子设备及存储介质
CN116980824B (zh) 一种轻量化的加权集成学习室内csi定位方法
CN114513473B (zh) 一种流量类别检测方法、装置及设备
CN105654498A (zh) 基于动态局部搜索和免疫克隆自动聚类的图像分割方法
AU2020103440A4 (en) A method for optimizing the convergence performance of data learning with minimal computational steps
US20140343945A1 (en) Method of visual voice recognition by following-up the local deformations of a set of points of interest of the speaker's mouth
CN110781963B (zh) 基于K-means聚类的空中目标分群方法
CN110598769B (zh) 用户群体发现方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application