KR101182126B1 - System and method for the large data clustering using parallel processing of individual dimension-based clustering, recording medium for the same - Google Patents
System and method for the large data clustering using parallel processing of individual dimension-based clustering, recording medium for the same Download PDFInfo
- Publication number
- KR101182126B1 KR101182126B1 KR1020100116420A KR20100116420A KR101182126B1 KR 101182126 B1 KR101182126 B1 KR 101182126B1 KR 1020100116420 A KR1020100116420 A KR 1020100116420A KR 20100116420 A KR20100116420 A KR 20100116420A KR 101182126 B1 KR101182126 B1 KR 101182126B1
- Authority
- KR
- South Korea
- Prior art keywords
- cluster
- sample
- clusters
- data
- extracting
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 단일 차원 군집 분석의 분산처리를 이용한 대용량 데이터의 군집 분석 시스템 및 방법에 관한 것으로서, 단일 차원 군집 분석의 분산처리를 이용한 대용량 데이터의 군집 분석 시스템에 있어서, 상기 시스템은 대용량 데이터를 입력하는 입력기, 상기 대용량 데이터에 대해 단일 차원 군집 분석을 수행하여 분석되는 표본별 군집 벡터를 입력으로하여 군집 지수 행렬을 추출하고, 상기 군집 지수 행렬로부터 군집을 추출하는 군집 분석기, 상기의 단일 차원 군집 분석기가 병렬적으로 동작을 수행할 수 있도록 하는 분산 컴퓨팅 시스템, 상기 군집의 하부 군집을 추출하고, 추출된 상기 하부 군집이 의미있는 하부 군집인지 판별하는 하부 군집 분석기, 상기 군집 분석기의 군집 분석 결과를 저장하는 군집 분석 결과 데이터베이스, 상기 하부 군집 분석기의 하부 군집 분석 결과를 저장하는 하부 군집 분석 결과 데이터베이스, 및 상기 군집 분석 결과 및 상기 하부 군집 분석 결과를 출력하는 출력기를 구비하는 것을 특징으로 한다.The present invention relates to a cluster analysis system and method for mass data using distributed processing of single-dimensional cluster analysis. In the cluster analysis system for mass data using distributed processing of single-dimensional cluster analysis, the system inputs large data. A cluster analyzer for extracting a cluster index matrix by inputting a cluster vector for each sample analyzed by performing a single-dimensional cluster analysis on the large-capacity data, and extracting a cluster from the cluster index matrix, the single-dimensional cluster analyzer A distributed computing system for performing an operation in parallel, a lower cluster analyzer for extracting a lower cluster of the cluster and determining whether the extracted lower cluster is a meaningful lower cluster, and storing a cluster analysis result of the cluster analyzer. Cluster analysis database, the subgroup Lower clusters to store the lower cluster analysis result of the analyzer and the analysis result database, and characterized in that it comprises the cluster analysis and the result output unit for outputting the lower cluster analysis result.
Description
본 발명은 단일 차원 군집 분석의 분산처리를 이용한 대용량 데이터의 군집 분석 시스템 및 그 방법에 관한 것이다. 보다 상세하게는, 대용량의 데이터를 군집 분석함에 있어 다차원의 데이터를 단일 차원의 데이터로 분리하고, 분리된 데이터를 분산 처리하여 군집분석 후 결합하는 과정을 통하여 데이터의 크기에 제한 없이 군집분석을 수행하는 시스템, 방법 및 컴퓨터 판독 가능한 기록매체에 관한 것이다. The present invention relates to a cluster analysis system and method for mass data using distributed processing of single-dimensional cluster analysis. More specifically, in cluster analysis of large data, cluster analysis is performed without restriction on the size of data through separating multi-dimensional data into single-dimensional data, processing the separated data by clustering, and combining them after cluster analysis. A system, method and computer readable recording medium are provided.
군집 분석(Clustering) 방법은 유사한 속성들을 지닌 객체들을 묶어 군집화하는 방법으로 데이터마이닝(Data Mining), 기계 학습(Machine Learning) 등의 분야 전반에 걸쳐서 널리 사용되고 있는 기반 기술이다. 군집 분석 방법은 데이터의 내부 구조에 대한 사전적인 정보 없이 객체들간의 거리를 적절하게 적용하면 거의 모든 형태의 데이터에 대하여 의미 있는 자료구조를 찾아내주는 장점을 가지고 있다.
Clustering method is a method of grouping and grouping objects with similar properties and is a basic technology widely used in the fields such as data mining and machine learning. Cluster analysis has the advantage of finding meaningful data structures for almost all types of data if the distance between objects is properly applied without prior information about the internal structure of the data.
최근에 생물학, 전산 및 전자 분야 등에서 데이터 생산 비용의 감소와 종합적 분석을 위해 요구되는 데이터양의 증가로 인해 대용량 데이터를 군집 분석하는 기법에 대한 수요가 증가하고 있다. 그러나 기존에 개발된 군집 분석 방법은 대용량의 데이터를 다루기에는 적합하지 않다. Recently, the demand for a technique for clustering large data is increasing due to the reduction of data production cost and the increase of the amount of data required for comprehensive analysis in the fields of biology, computer and electronics. However, existing cluster analysis methods are not suitable for handling large amounts of data.
군집 분석이 대상으로 하는 일반적인 데이터는 N x M의 크기를 갖는 매트릭스 형태를 가지고 있다. 상기의 N은 객체의 수, M은 각 객체가 특정 표본 및 속성의 수이다. 데이터 값은 n번째 객체가 m번째 표본에서 갖는 속성 값을 나타낸다. 대용량 데이터가 된다는 것은 N의 크기가 커진다는 것을 의미하고 다차원 데이터라는 것은 M이 2이상의 값으로 모든 객체가 2개 이상의 표본 속성을 가지고 있음을 의미한다. 특히, M이 1일 때의 데이터를 단일 차원 데이터라고 한다.
Typical data targeted by cluster analysis has a matrix form of size N × M. Where N is the number of objects and M is the number of samples and attributes specific to each object. The data value represents the attribute value of the nth object in the mth sample. Larger data means that the size of N is larger, and multidimensional data means that M is a value of 2 or more, and every object has two or more sample attributes. In particular, data when M is 1 is called single-dimensional data.
종래에 알려진 군집 분석 방법에는 계층적 군집 분석(hierarchical clustering), K-평균 군집 분석(k-means clustering), 모델 기반 군집 분석(model-based clustering) 등이 있다. Conventionally known cluster analysis methods include hierarchical clustering, k-means clustering, and model-based clustering.
계층적 군집 분석 방법은 객체 간 거리를 재어 가까운 거리에 있는 객체를 묶어 나가며 군집의 나무(tree)를 구성하는 방법으로 가시화하기 쉬어 이해하기 용이하다는 장점이 있으나 모든 객체 간 거리를 계산해야 하기 때문에 대용량의 데이터를 대상으로 적용할 때 많은 양의 계산을 필요로 한다는 단점을 지니고 있다.The hierarchical cluster analysis method has the advantage of being easy to understand because it is a method of grouping the objects in close proximity by measuring the distance between objects and forming a tree of the cluster. Has the disadvantage of requiring a large amount of calculation when applying the
K-평균 군집 분석 기법은 각각의 객체를 k개의 군집에 무작위하게 배정하고, 각 군집의 중심과 객체 간 거리를 재어 각 객체를 거리가 가장 가까운 군집에 배정시키는 기법이다. 군집 중심값과 객체 간 거리가 일정한 값으로 최소화 될 때까지 군집 중심이 재설정되고 재설정된 중심과 객체 간 거리를 재계산 하는 과정을 반복적으로 수행하게 된다. K-평균 군집 분석은 빠르고 이해하기 쉬운 방법이나 사전적으로 군집 개수 k를 결정해줘야 한다는 단점을 가지고 있다. 사전적으로 군집 개수를 결정하는 과정은 반복적이고 다량의 계산을 필요로 하기 때문에 대용량의 데이터를 대상으로는 적용하기 어렵다. The K-means cluster analysis is a technique of randomly assigning each object to k clusters, and assigning each object to a cluster closest to the distance by measuring the center of each cluster and the distance between the objects. The cluster center is reset until the distance between the cluster center and the object is minimized to a certain value, and the process of recalculating the reset center and the object is repeatedly performed. The K-means cluster analysis has a short and easy way to understand, but has a disadvantage in that the number of clusters k must be determined in advance. The process of determining the number of clusters in advance is difficult to apply to a large amount of data because it is iterative and requires a large amount of calculation.
모델 기반 군집 분석 기법은 데이터 분포에 대한 확률 추정을 통해 동일한 군집은 동일한 확률 분포를 가지고 있다는 가정 하에 군집을 구분하는 기법이다. 모델 기반 군집 분석은 객체 간 거리 비교 과정을 객체와 군집 간의 거리 비교 과정으로 대체하여 군집 분석에 필요한 계산 양을 줄였고 Bayesian infinite mixture model과 같은 후기에 개발된 모델 기반 군집 분석 방법은 군집 개수 추론과 혼합 모형 파라미터 예측 과정을 통합하여 반복적으로 수행함에 따라 사전적으로 군집 개수를 결정할 필요가 없게 되어 k-평균 군집 분석 기법이 가지는 단점을 보완하였다. 하지만 이와 같은 장점에도 불구하고, 대용량의 데이터에서는 모델 기반 군집 분석 기법은 대량의 계산을 필요로 하고 데이터의 확률 분포를 추정하는데 어렵다는 단점을 지니고 있다. 대용량의 데이터 군집 분석이 가지는 복잡성을 해결하기 위하여 군집 분석 기법 수행 전에 객체의 속성 간에 통계적으로 유의한 차이 값을 지니고 있는 일부 객체만을 선택하는 기법이 적용되기도 하지만 이와 같은 방법은 통계적으로 유의한 속성간 차이 값을 가지고 있지는 않지만 군집 분석에서 중요한 의미를 가지고 있을 수 있는 객체가 분석에 포함되지 않아 정확한 군집 분석 결과를 도출할 수 없다는 문제점을 가지고 있다. Model-based cluster analysis is a technique for classifying clusters on the assumption that the same clusters have the same probability distribution through probability estimation of the data distribution. Model-based cluster analysis reduces the amount of computation required for cluster analysis by replacing the distance comparison between objects with the distance comparison between objects and clusters, and later model-based cluster analysis methods, such as Bayesian infinite mixture model, are mixed with cluster number inference. By integrating the model parameter prediction process repeatedly, it is not necessary to determine the number of clusters in advance, thereby compensating the disadvantage of the k-means cluster analysis technique. However, in spite of these advantages, the model-based cluster analysis technique has a disadvantage in that it requires a large amount of calculation and difficult to estimate the probability distribution of the data. In order to solve the complexities of large data cluster analysis, a method of selecting only some objects having statistically significant differences between attributes of objects before applying the cluster analysis technique is applied, but such a method is used between statistically significant attributes. Objects that do not have difference values but may have important meanings in cluster analysis cannot be included in the analysis, resulting in an accurate cluster analysis result.
적은 양의 속성 값을 가지는 객체들은 다른 객체들과 비교하여 속성 값의 변화량이 작기 때문에 종래의 유클리드 거리(Euclidean distance)를 사용하여 객체 간 거리를 측정하면, 그 속성 값의 변화 패턴이 무시되기 쉽다. 이러한 단점을 보완하기 위하여 상관관계 기반 측정(correlation-based metric)기법을 사용하여 객체 간 거리를 측정하는 시도가 있었지만 절대적 속성 값이 가지는 정보가 속성 값의 변화 패턴 분석에 포함되지 않는다는 한계를 가지고 있다. 이와 같은 딜레마는 객체의 속성 값이 다양화되는 대용량의 데이터에서 더욱 심화된다. 특히 대용량의 데이터에서 대다수의 객체의 속성값은 소수의 객체의 속성 값에 비해 극히 적은 편이어서 일반적인 유클리드 거리 기법을 적용하면 적은 속성 값을 가진 다수의 객체가 소수의 군집으로 편중된다는 문제점을 가지고 있다. Objects with a small amount of property values have small changes in property values compared to other objects, so when the distance between objects is measured using a conventional Euclidean distance, the pattern of change of property values is easily ignored. . In order to make up for this shortcoming, attempts have been made to measure the distance between objects using correlation-based metric techniques, but it has a limitation that the information of absolute property values is not included in the change pattern analysis of property values. . This dilemma is exacerbated in large amounts of data in which the property values of objects are diversified. In particular, the property values of most objects are very small compared to the properties of a few objects in a large amount of data. Therefore, the general Euclidean distance technique causes a large number of objects with a small number of objects to be clustered into a few clusters. .
이상에서 언급한 내용을 종합하면 기존의 군집 분석 방법이 대용량의 데이터를 분석 방법으로 할 때 가지는 문제점은 다음과 같이 요약된다. 첫째, 다량의 데이터를 대상으로 군집 분석을 수행하려 할 때 소요되는 계산량이 많아 분석이 불가능한 경우가 있다. 둘째, 일부 객체만을 선택하여 군집 분석을 수행하면 중요한 의미를 가지고 있을 수 있는 객체가 군집 분석에서 제외되어 정확한 결과를 도출할 수 없다. 셋째, 적정 군집 개수를 도출하기 어렵다. 넷째, 적은 양의 속성 값을 가지고 있는 다수의 객체가 소수의 군집에 편중될 가능성이 높다.
In summary, the problems of the existing cluster analysis method when analyzing a large amount of data are summarized as follows. First, there is a case that analysis is impossible because a large amount of calculation is required when performing cluster analysis on a large amount of data. Second, when performing cluster analysis by selecting only some objects, the objects that may have important meanings are excluded from the cluster analysis, and thus accurate results cannot be obtained. Third, it is difficult to derive the appropriate number of clusters. Fourth, a large number of objects with a small amount of attribute values are likely to be concentrated in a few clusters.
본 발명은 상기한 바와 같은 종래 기술의 문제점을 해결하기 위해 안출된 것으로서, 대용량 데이터의 군집 분석에 있어서, 다차원 데이터를 단일 차원 데이터로 분해한 뒤 군집 분석을 수행하고 상기의 분석 결과를 결합하는 방법을 통하여, 데이터의 크기에 제한되지 않는 군집 분석을 가능하게 하는 군집 분석 시스템 및 방법을 제공함을 목적으로 한다. The present invention has been made to solve the problems of the prior art as described above, in the cluster analysis of large data, a method of performing a cluster analysis after decomposing the multi-dimensional data into single-dimensional data and combining the results of the analysis Through this, an object of the present invention is to provide a cluster analysis system and method for enabling cluster analysis that is not limited to the size of the data.
본 발명의 다른 목적은 대용량의 데이터가 포함하는 모든 객체를 분석에서 제외하지 않음으로써, 대용량 데이터의 모든 객체 정보를 활용하는 군집 분석 시스템 및 방법을 제공하는데 있다. Another object of the present invention is to provide a cluster analysis system and method utilizing all object information of a large amount of data by not excluding all objects included in the large amount of data.
본 발명의 또 다른 목적은 상기 방법의 반복적 적용을 통해 대용량 데이터가 가지는 군집 편중 현상을 해결하여 객체의 절대적 속성 값과 상대적 속성 변화 패턴을 고려한 하부 군집을 결정할 수 있는 군집 분석 시스템 및 방법을 제공하는데 있다.It is still another object of the present invention to provide a cluster analysis system and method that can determine a lower cluster considering an absolute property value and a relative property change pattern of an object by solving a cluster bias of a large amount of data through repeated application of the method. have.
또한, 본 발명은 군집 분석 과정에서 적정 군집 개수를 자동적으로 도출하여 기존 군집 분석 방법이 가지는 군집 개수 결정의 모호성을 해결하여 분석의 편의성을 향상시키는 군집 분석 시스템 및 방법을 제공함을 목적으로 한다.In addition, an object of the present invention is to provide a cluster analysis system and method for automatically deriving an appropriate number of clusters in a cluster analysis process to solve the ambiguity of the determination of the number of clusters of the existing cluster analysis method and to improve the convenience of analysis.
또한, 본 발명은 분산 컴퓨팅 환경 하에서 단일 차원 군집 분석 과정을 분산시킴에 따라 효율적인 분석을 가능하게 하는 군집 분석 시스템 및 방법을 제공함을 목적으로 한다. In addition, an object of the present invention is to provide a cluster analysis system and method that enables efficient analysis by distributing a single-dimensional cluster analysis process in a distributed computing environment.
상기 목적을 달성하기 위한 군집 분석 시스템은 대용량 데이터를 입력하는 입력기, 상기 대용량 데이터에 대해 단일 차원 군집 분석을 수행하여 분석되는 표본별 군집 벡터를 입력으로하여 군집 지수 행렬을 추출하고, 상기 군집 지수 행렬로부터 군집을 추출하는 군집 분석기, 상기의 단일 차원 군집 분석기가 병렬적으로 동작을 수행할 수 있도록 하는 분산 컴퓨팅 시스템, 상기 군집의 하부 군집을 추출하고, 추출된 상기 하부 군집이 의미있는 하부 군집인지 판별하는 하부 군집 분석기, 상기 군집 분석기의 군집 분석 결과를 저장하는 군집 분석 결과 데이터베이스, 상기 하부 군집 분석기의 하부 군집 분석 결과를 저장하는 하부 군집 분석 결과 데이터베이스, 및 상기 군집 분석 결과 및 상기 하부 군집 분석 결과를 출력하는 출력기를 구비하는 것을 특징으로 한다.The cluster analysis system for achieving the above object is an input device for inputting a large amount of data, extracting a cluster index matrix by inputting a cluster vector for each sample analyzed by performing a single-dimensional cluster analysis on the large data, and the cluster index matrix A cluster analyzer for extracting clusters from the cluster, a distributed computing system for allowing the single-dimensional cluster analyzer to perform an operation in parallel, extracting a lower cluster of the cluster, and determining whether the extracted lower cluster is a meaningful lower cluster A lower cluster analyzer, a cluster analysis result database storing the cluster analysis result of the cluster analyzer, a lower cluster analysis result database storing the lower cluster analysis result of the lower cluster analyzer, and the cluster analysis result and the lower cluster analysis result. With an output to output .
상기 목적을 달성하기 위한 입력기, 군집 분석기, 분산 컴퓨팅 시스템, 하부 군집 분석기, 군집 분석 결과 데이터베이스, 하부 군집 분석 결과 데이터베이스 및 출력기를 구비하는 군집 분석 시스템의 대용량 데이터의 군집 분석 방법에 있어서, 상기 군집 분석 방법은 상기 입력기를 통해 대용량 데이터를 인가받는 단계, 상기 대용량 데이터에 대해 상기 군집 분석기가 단일 차원 군집 분석을 수행하여 분석된 표본별 군집 벡터를 입력으로 하여 군집 지수 행렬을 추출하고, 상기 군집 지수 행렬로부터 군집을 추출하는 단계, 상기의 단일 차원 군집 분석기가 병렬적으로 동작을 수행할 수 있도록 상기 분산 컴퓨팅 시스템이 제어하는 단계, 상기 하부 군집 분석기가 상기 군집의 하부 군집을 추출하고, 추출된 상기 하부 군집이 의미있는 하부 군집인지 판별하는 단계, 상기 군집 분석기의 군집 분석 결과를 상기 군집 분석 결과 데이터베이스에 저장하는 단계, 상기 하부 군집 분석기의 상기 하부 군집 분석 결과를 상기 하부 군집 분석 결과 데이터베이스에 저장하는 단계, 및 상기의 군집 분석 결과 및 상기 하부 군집 분석 결과를 상기 출력기로 출력하는 단계를 구비하는 것을 특징으로 한다.In the cluster analysis method of mass data of a cluster analysis system having an input unit, a cluster analyzer, a distributed computing system, a lower cluster analyzer, a cluster analysis result database, a lower cluster analysis result database, and an output unit for achieving the above object, the cluster analysis The method may include receiving a large amount of data through the input unit, extracting a cluster index matrix by inputting a sampled cluster vector analyzed by the cluster analyzer by performing a single-dimensional cluster analysis on the large amount of data, and extracting the cluster index matrix. Extracting a cluster from the cluster; controlling the distributed computing system to allow the single-dimensional cluster analyzer to perform an operation in parallel; and the lower cluster analyzer extracts a lower cluster of the cluster, and extracts the extracted lower cluster. Whether the cluster is a meaningful subcluster Storing the cluster analysis result of the cluster analyzer in the cluster analysis result database, storing the lower cluster analysis result of the lower cluster analyzer in the lower cluster analysis result database, and the cluster analysis result; And outputting the lower cluster analysis result to the output device.
따라서, 본 발명의 단일 차원 군집 분석의 분산처리를 이용한 대용량 데이터의 군집 분석 시스템, 방법 및 이를 위한 기록 매체는 분산 컴퓨팅 시스템을 활용한 단일 차원 군집 분석을 이용하여 대용량의 데이터의 군집 분석을 효율적으로 수행할 수 있도록 하므로, 대용량 데이터에 존재하는 모든 객체를 분석에서 제외하지 않고 종합적으로 분석할 수 있다. 그리고 하부 군집을 추출하는 과정을 통해 객체의 속성 값이 적은 객체가 소수의 군집에 편중되는 문제점을 해결하여 객체의 속성 값이 적지만 군집 분석에 중요한 객체들을 세부적으로 분석하여 군집 분석의 정확성을 높인다. 또한 군집 개수를 결정하는 과정을 자동적으로 포함하여 군집 개수 결정의 모호성을 없애, 사용자 편의성을 증대하였다. Accordingly, the cluster analysis system, method, and recording medium for mass data using the distributed processing of the single-dimensional cluster analysis of the present invention efficiently perform cluster analysis of large data by using the single-dimensional cluster analysis using a distributed computing system. Because it can be performed, all objects existing in a large amount of data can be analyzed comprehensively without being excluded from the analysis. And the process of extracting the lower cluster improves the accuracy of cluster analysis by analyzing in detail the objects that have small property values but important for cluster analysis by solving the problem that objects with small property values are concentrated in a few clusters. . In addition, the process of determining the number of clusters is automatically included to eliminate the ambiguity of determining the number of clusters, thereby increasing user convenience.
도 1은 본 발명의 일예에 따른 단일 차원 군집 분석의 분산처리를 이용한 대용량 데이터의 군집 분석 시스템을 나타낸다.
도 2는 도 1의 군집 분석기의 동작의 일예를 나타내는 순서도이다.
도 3은 도 2의 각 표본별로 단일 차원 데이터를 군집 분석하는 단계를 구체적으로 설명하기 위한 순서도이다.
도 4는 도 2의 표본별 군집 타당도를 기준으로 대용량 데이터의 원본 매트릭스 형태로 재결합하는 단계를 구체적으로 설명하기 위한 순서도이다.
도 5는 도 2의 표본별 군집 지수를 기준으로 객체를 순차적으로 정렬하는 단계를 구체적으로 설명하기 위한 순서도이다.
도 6은 도 1의 하부 군집 분석기의 동작의 일예를 나타내는 순서도이다. 1 illustrates a cluster analysis system of a large amount of data using distributed processing of a single-dimensional cluster analysis according to an embodiment of the present invention.
2 is a flowchart illustrating an example of an operation of the cluster analyzer of FIG. 1.
FIG. 3 is a flowchart for describing in detail a step of clustering single-dimensional data for each sample of FIG. 2.
FIG. 4 is a flowchart for explaining in detail the step of recombining the original matrix form of large-capacity data based on the cluster validity of each sample of FIG. 2.
FIG. 5 is a flowchart for describing in detail an operation of sequentially arranging objects based on a cluster index of each sample of FIG. 2.
6 is a flowchart illustrating an example of an operation of a lower cluster analyzer of FIG. 1.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, operational advantages of the present invention, and objects achieved by the practice of the present invention, reference should be made to the accompanying drawings and the accompanying drawings which illustrate preferred embodiments of the present invention.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로서, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다. Hereinafter, the present invention will be described in detail with reference to the preferred embodiments of the present invention with reference to the accompanying drawings. However, the present invention can be implemented in various different forms, and is not limited to the embodiments described. In order to clearly describe the present invention, parts that are not related to the description are omitted, and the same reference numerals in the drawings denote the same members.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “...부”, “...기”, “모듈”, “블록” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
Throughout the specification, when an element is referred to as " including " an element, it does not exclude other elements unless specifically stated to the contrary. The terms "part", "unit", "module", "block", and the like described in the specification mean units for processing at least one function or operation, And a combination of software.
도 1은 본 발명의 일예에 따른 단일 차원 군집 분석의 분산처리를 이용한 대용량 데이터의 군집 분석 시스템을 전체적으로 설명하기 위한 구조도이다. 도 1에 도시한 바와 같이, 단일 차원 군집 분석의 분산처리를 이용한 대용량 데이터의 군집 분석 시스템(10)은 대용량 데이터를 입력하는 입력기(100); 단일 차원 군집 분석을 수행하는 단일 차원 군집 분석기(210) 및 상기 단일 차원 군집 분석기에서 분석된 표본별 군집 벡터를 입력으로 하여 군집 지수 행렬을 추출하는 군집 지수 행렬 추출기(220)와 상기 군집 지수 행렬로부터 군집을 추출하는 군집 추출기(230)로 이루어진 군집 분석기(200); 상기의 단일 차원 군집 분석기가 병렬적으로 수행될 수 있도록 하는 분산 컴퓨팅 시스템(300); 군집 편중 현상을 해결하기 위해 상기 군집 분석기에서 추출된 군집의 하부 군집을 추출하는 하부 군집 추출기(410)와 추출된 군집이 의미 있는 하부 군집인지 판별하는 하부 군집 판별기(420)로 구성된 하부 군집 분석기(400); 상기의 군집 분석 결과를 저장하는 군집 분석 결과 데이터베이스(500); 상기의 하부 군집 분석 결과를 저장하는 하부 군집 분석 결과 데이터베이스(600); 상기의 군집 분석 결과, 하부 군집 분석 결과를 출력하는 출력기(700)로 이루어지는 것을 특징으로 한다. 1 is a structural diagram for explaining a cluster analysis system of a large amount of data using distributed processing of a single-dimensional cluster analysis according to an embodiment of the present invention. As shown in FIG. 1, the
대용량 데이터가 입력기(100)를 통해 입력되면, 군집 분석기(200)는 단일 차원 군집 분석기(210)를 이용하여 표본별로 단일 차원 군집 분석을 수행한다. 표본별 단일 차원 군집 벡터들이 군집 지수 행렬 추출기(220)에 입력되면 군집 지수로 정렬된 객체별 군집 지수 행렬이 추출되고, 추출된 군집 지수 행렬을 이용하여 군집 추출기(230)가 군집을 추출한다. 추출된 군집 분석 결과는 군집 분석결과 데이터베이스(500)에 저장한다. 추출된 군집에 군집 편중 현상이 있는지 판단하기 위하여 추출된 군집은 하부 군집 분석기(400)에 입력된다. 하부 군집 추출기(410)는 개별 군집을 군집 분석기에 다시 입력하여 하부 군집을 추출하고 추출된 개별 군집별 하부 군집들이 의미 있는 하부 군집인지 하부 군집 판별기(420)가 판별하게 된다. 하부 군집 분석 결과는 하부 군집 분석 결과 데이터베이스(600)에 저장한다. 군집 분석 결과 및 하부 군집 분석 결과는 출력기(700)를 이용하여 출력한다.When a large amount of data is input through the
도 2는 도 1의 군집 분석기의 동작의 일예를 나타내는 순서도이다.2 is a flowchart illustrating an example of an operation of the cluster analyzer of FIG. 1.
이하 도1 을 참조하여, 도 2의 군집 분석기(200)의 동작을 설명한다. 입력기를 통해 대용량 데이터가 인가되면, 군집 분석기(200)의 단일 차원 군집 분석기(210)가 대용량 데이터를 단일 차원의 각 표본별 데이터로 분해한다(S100). 그리고 단일 차원 군입 분석기(200)는 분해된 표본별 데이터를 대상으로 단일 차원 군집 분석을 수행하여 표본별 최적 군집 개수를 결정하고 군집 벡터를 생성한다(S200).Hereinafter, the operation of the
군집 벡터가 생성되면, 군집 지수 행렬 추출기(220)는 각 표본별 군집 타당도를 기준으로 표본 순서를 재배열하고 대용량 데이터의 원본 매트릭스 형태로 재결합하여 군집 지수 행렬을 생성한다(S300). 또한 군집 지수 행렬 추출기(220)는 생성된 군집 지수 행렬을 표본별 군집의 평균 객체 속성값인 군집 지수를 이용하여 재정렬한다(S400).When the cluster vector is generated, the cluster index matrix extractor 220 rearranges the sample order based on the cluster validity of each sample and recombines the original matrix of the large data to generate the cluster index matrix (S300). In addition, the cluster index matrix extractor 220 rearranges the generated cluster index matrix using a cluster index that is an average object attribute value of the cluster for each sample (S400).
군집 추출기(230)는 재정렬된 군집 지수 행렬을 대상으로 인접 객체간 군집 지수 패턴의 차이를 측정한다(S500). 인접 객체 간 군집 지수 패턴의 차이는 수학식 1을 이용하여 측정한다.The
수학식 1에서 om,om+1은 객체 간 속성 값 변화 양상의 차이를 측정하고자 하는 인접 객체의 쌍, om,i는 표본 i에서 m번째 객체의 가중 평균된 속성 값, Cm,i는 m번째 객체의 표본 i에서의 군집 지수 값, s'(i)는 표본 i의 군집타당도 값, ki는 표본 i에서의 군집 개수, N는 총 객체의 개수이다.
In
그리고 군집 추출기(230)는 유의미한 군집이 존재하지 않는다고 가정하여 평균 군집 동질도를 측정한다(S600). 여기서, 평균 군집 동질도는 피어슨 상관계수를 이용하여 측정한다. 피어슨 상관계수는 이미 공지된 알고리즘이므로 이에 대한 상세한 설명은 생략하기로 한다. 평균 군집 동질도가 측정되면, 군집 추출기(230)는 군집 개수 및 군집 분류 지점의 수를 1이라고 설정한다(S700). 이후 측정한 인접 객체간 속성 값의 변화 양상 차이 값의 크기가 k(k 는 자연수)번째인 지점을 다른 군집으로 분류되는 지점으로 결정하고(S800), 추출된 군집들을 대상으로 평균 군집 동질도를 다시 측정한다(S900). 이 때의 평균 군집 동질도 또한 피어슨 상관계수를 이용하여 측정한다.The
평균 군집 동질도를 다시 측정한 평균 군집 동질도가 새로운 군집을 추출하기 전에 측정한 평균 군집도보다 증가하였는지 판단한다(S1000). 평균 군집도 판단 결과 평균 군집 동질도가 증가하였으면, 군집 개수 및 군집 분류 지점의 개수인 k를 1만큼 증가한다(S1100). 이후 증가한 k를 이용하여 인접 객체 간 속성 값의 변화 양상 차이 값의 크기가 k번째인 지점을 새로운 군집으로 분류되는 지점으로 결정하고(S1200), 다시 추출된 군집들을 대상으로 평균 군집 동질도를 측정한다(S900). 즉 군집 분석기(200)의 군집 추출기(230)는 평균 군집 동질도가 증가하지 않을 때까지 상기 단계(S900, S1000, S1100, S1200)를 반복한다.It is determined whether the average cluster homogeneity, which measures the average cluster homogeneity again, is greater than the average cluster degree measured before extracting the new cluster (S1000). As a result of the determination of the average cluster degree, if the average cluster homogeneity is increased, the number of clusters and the number of cluster classification points are increased by 1 (S1100). Then, using the increased k, the point where the magnitude of the difference in the change value of the property value between adjacent objects is the kth point is determined as a point classified as a new cluster (S1200), and the average cluster homogeneity is measured for the extracted clusters. (S900). That is, the
판단 결과 평균 군집 동질도가 증가하지 않으면, 군집 분석기(200)는 군집 분석 동작을 종료한다.
If the average cluster homogeneity does not increase as a result of the determination, the
도 3은 도 2의 각 표본별로 단일 차원 데이터를 군집 분석하는 단계를 구체적으로 설명하기 위한 순서도이다.FIG. 3 is a flowchart for describing in detail a step of clustering single-dimensional data for each sample of FIG. 2.
도 2에서 단일 차원 군집 분석기(210)가 대용량 데이터를 단일 차원의 각 표본별 데이터로 분해하면(S100), 다차원 데이터인 데이터 매트릭스가 각 표본별로 수직으로 분해되므로, 각 표본별 데이터는 단일 차원의 데이터의 특성을 갖는다.In FIG. 2, when the single-
이후 각 표본별로 단일 차원 데이터를 군집 분석하는 단계(S200)는 도 3에 도시된 바와 같이, 먼저 각 표본별 단일 차원 데이터를 k개의 군집 개수로 군집 분석을 수행한다(S210). 그리고 표본별 군집 타당도를 근사적으로 계산하는 평가치를 도출한다(S220). 평가치는 수학식 2를 통해 계산한다. After clustering the single-dimensional data for each sample (S200), as shown in FIG. 3, first, cluster analysis is performed on the number of k-dimensional single-dimensional data for each sample (S210). In addition, an evaluation value of approximating a cluster validity for each sample is derived (S220). The evaluation value is calculated through Equation 2.
상기에서 s'(i)는 객체 i의 군집 타당도 값, a'(i)는 단일 차원 상에서 객체 i가 속한 군집의 중심값, b'(i)는 단일 차원 상에서 객체 i가 속하지 않은 타 군집 중 가장 인접한 군집의 중심값, max(a'(i), b'(i))는 a'(i)와 b'(i) 중 큰 값이다. Where s' (i) is the cluster validity value of the object i, a '(i) is the center value of the cluster to which the object i belongs on a single dimension, and b' (i) is among other clusters where the object i does not belong on a single dimension. The center of the nearest cluster, max (a '(i), b' (i)), is the larger of a '(i) and b' (i).
일반적인 다차원 데이터에서 군집 평가치를 계산하기 위해서는 상기의 a'(i)와 b'(i)를 각기 소속 군집 및 가장 인접한 군집의 중심값이 아닌 모든 객체와 거리를 비교하여 계산한 평균치를 사용하기 때문에 O(N2)의 계산량을 필요로 한다. 하지만 본 방법은 다차원 데이터를 단일 차원 데이터로 분해하여 사용하기 때문에 단일 차원 상에서 소속 군집의 객체들과의 평균 거리와 가장 인접한 군집 내 객체들과의 평균 거리는 각기 해당 군집의 중심값으로 대체될 수 있다. 따라서 O(N)의 계산량만을 필요로 한다. In order to calculate cluster estimates in general multidimensional data, the a '(i) and b' (i) values are calculated by comparing the distances with all objects that are not the centers of the clusters and the nearest clusters. A calculation of O (N 2 ) is required. However, since this method decomposes multi-dimensional data into single-dimensional data, the average distance from the objects in the cluster and the average distance from the objects in the closest cluster on the single dimension can be replaced by the center values of the cluster. . Therefore, only the calculation amount of O (N) is required.
상기의 각 표본별로 k개의 군집 개수로 군집 분석 수행(S210) 및 표본별로 군집 타당도를 근사적으로 계산하는 평가치 도출 단계(S220)를 군집 개수 k를 1부터 N(N은 자연수)까지 1개씩 늘려가며 반복적으로 수행한다. 반복적으로 수행 후 표본별 군집 타당도가 최대가 되는 군집개수 k* 및 군집 타당도를 결정하고 해당되는 최적의 군집의 추출한다(S230). Perform cluster analysis with the number of k clusters for each sample (S210) and evaluate value derivation step (S220) for calculating the cluster validity for each sample one by one from cluster number k to N (N is a natural number). Do it repeatedly. After repeated execution, the cluster validity for each sample is determined by the maximum number of clusters k * and the cluster validity, and the optimum cluster is extracted (S230).
최적 군집별 동일 군집 내 속성 평균치의 크기를 이용하여 군집 내 객체들의 표본 하의 속성 값을 소속 군집명으로 대체한다(S240). 이때, 군집 내 객체들의 속성 평균치가 가장 작은 군집명을 1로, 차상위 군집을 2로 부여하는 방식을 따른다. 상기한 단일 차원 데이터를 군집 분석하는 단계(S200)는 각 표본별로 수행되며 각 표본별 계산 작업은 분산 컴퓨팅 노드로 분산되어 수행될 수 있어 병렬적으로 작업을 처리하여 군집 분석의 효율성을 높일 수 있다. Using the size of the average value of the attributes in the same cluster for each optimal cluster, the attribute value under the sample of the objects in the cluster is replaced with the group name (S240). At this time, the cluster name having the smallest attribute average value of the objects in the cluster is given as 1 and the next higher cluster as 2. Clustering analysis of the single-dimensional data (S200) is performed for each sample, and the calculation for each sample may be performed by being distributed to distributed computing nodes, thereby increasing the efficiency of cluster analysis by processing tasks in parallel. .
도 4는 도 2의 표본별 군집 타당도를 기준으로 대용량 데이터의 원본 매트릭스 형태로 재결합하는 단계를 구체적으로 설명하기 위한 순서도이다.FIG. 4 is a flowchart for explaining in detail the step of recombining the original matrix form of large-capacity data based on the cluster validity of each sample of FIG. 2.
표본별 군집 타당도를 기준으로 대용량 데이터의 원본 매트릭스 형태로 재결합하는 단계(S300)는 표본별 군집 타당도가 최대가 되는 군집개수 k* 및 군집 타당도를 결정하고 해당되는 최적의 군집의 추출하는 단계(S230)에서 정해진 각 표본별 군집 타당도를 기준으로 표본 순서를 재배열한다(S310). 이때, 군집 타당도가 가장 높은 표본이 좌측에 위치하도록 한다. The step of recombining the original matrix form of large-capacity data based on the cluster validity of each sample (S300) is to determine the cluster number k * and the cluster validity that maximizes the cluster validity of each sample and extract the corresponding optimal cluster (S230). Rearrange the sample order based on the cluster validity of each sample determined in step (S310). At this time, the sample with the highest cluster validity is positioned on the left side.
이후 정해진 표본 순서를 기준으로 표본 벡터를 수평으로 합하여 대용량 데이터 매트릭스 형태로 재결합한다(S320). 이때, 매트릭스의 크기는 입력기에 입력된 데이터와 동일하지만 객체의 속성 값이 표본별 군집 지수로 대체되었다는 점이 상이하다. Thereafter, the sample vectors are horizontally summed based on the determined sample order, and then reassembled into a large data matrix form (S320). At this time, the size of the matrix is the same as the data input to the input, except that the attribute value of the object is replaced by the cluster index for each sample.
도 5는 도 2의 표본별 군집 지수를 기준으로 객체를 순차적으로 정렬하는 단계를 구체적으로 설명하기 위한 순서도이다.FIG. 5 is a flowchart for describing in detail an operation of sequentially arranging objects based on a cluster index of each sample of FIG. 2.
표본별 군집 지수를 기준으로 객체를 순차적으로 정렬하는 단계(S400)는 먼저 객체별 군집 지수 행렬의 좌측 i(i는 자연수)번째 위치한 표본을 정렬 기준 표본으로 선택한다(S410). 그리고 선택한 정렬 기준 표본의 군집 지수가 오름차순이 되도록 정렬 기준 표본과 정렬 기준 표본의 우측에 위치한 표본들의 객체 순서를 재정렬한다(S420). 이때, 정렬 기준 표본 왼쪽에 위치한 기정렬된 표본의 객체 배치 순서는 영향 받지 않는다. 표본별 군집 지수를 기준으로 객체를 순차적으로 정렬하는 단계(S400)는 입력된 대용량 데이터의 표본의 수인 M(M은 자연수)번만큼 반복한다. In order to sequentially sort the objects based on the cluster index for each sample (S400), first, the sample located at the left i (i is a natural number) of the cluster index matrix for each object is selected as the sorting reference sample (S410). The object order of the samples located on the right side of the sorting reference sample and the sorting reference sample is rearranged so that the cluster index of the selected sorting reference sample is ascending (S420). In this case, the object placement order of the pre-aligned sample located to the left of the alignment reference sample is not affected. Sorting the objects sequentially based on the cluster index for each sample (S400) is repeated M times the number of samples of the input large data (M is a natural number).
도 6은 도 1의 하부 군집 분석기의 동작의 일예를 나타내는 순서도이다.6 is a flowchart illustrating an example of an operation of a lower cluster analyzer of FIG. 1.
하부 군집 분석기(400)의 하부 군집 추출기(410)는 군집 분석이 종료된 개별 군집을 추출한다(S1300). 그리고 개별 군집의 평균 군집 동질도를 측정한다(S1400). 이때 평균 군집 동질도는 피어슨 상관계수를 이용하여 측정한다. The
또한 하부 군집 추출기(410)는 개별 군집을 입력값으로 입력하여 군집 분석기를 이용한다. 이때 단일 차원 군집 분석의 분산처리를 이용한 대용량 데이터의 군집 분석 방법을 적용한다(S1500). 이후 하부 군집 분석기(410)는 개별 군집의 하부 군집을 추출한다(S1600). In addition, the
하부 군집 판별기(420)는 추출한 하부 군집의 평균 군집 동질도를 측정한다(S1700). 측정한 하부 군집의 평균 군집 동질도가 하부 군집 추출전 개별 군집의 평균 군집 동질도보다 증가하였는지 판단한다(S1800). 평균 군집 동질도가 증가하였다고 판단하면 하부 군집을 개별 군집으로 설정하고(S1900), 설정된 개별 군집을 대상으로 하부 군집을 추출하는 단계를 반복한다. 이 반복 단계는 추출된 하부 군집의 평균 군집 동질도가 하부 군집 추출전 개별 군집의 평균 군집 동질도보다 증가하지 않을 때까지 계속된다.
The
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
Claims (20)
상기 입력기를 통해 대용량 데이터를 인가받는 단계;
상기 대용량 데이터에 대해 상기 군집 분석기가 단일 차원 군집 분석을 수행하여 분석된 표본별 군집 벡터를 입력으로 하여 군집 지수 행렬을 추출하고, 상기 군집 지수 행렬로부터 군집을 추출하는 단계;
상기의 단일 차원 군집 분석기가 병렬적으로 동작을 수행할 수 있도록 상기 분산 컴퓨팅 시스템이 제어하는 단계;
상기 하부 군집 분석기가 상기 군집의 하부 군집을 추출하고, 추출된 상기 하부 군집이 의미있는 하부 군집인지 판별하는 단계;
상기 군집 분석기의 군집 분석 결과를 상기 군집 분석 결과 데이터베이스에 저장하는 단계;
상기 하부 군집 분석기의 상기 하부 군집 분석 결과를 상기 하부 군집 분석 결과 데이터베이스에 저장하는 단계; 및
상기의 군집 분석 결과 및 상기 하부 군집 분석 결과를 상기 출력기로 출력하는 단계를 구비하며,
상기 군집을 추출하는 단계는
상기 대용량 데이터를 단일 차원의 각 표본별 데이터로 분해하는 단계;
분해된 상기 표본별 데이터를 대상으로 상기 단일 차원 군집 분석을 수행하여 표본별 최적 군집 개수를 결정하고 상기 군집 벡터를 생성하는 단계;
생성된 상기 군집 벡터를 표본별 군집 타당도를 기준으로 표본 순서를 재배열하여 군집 지수 행렬을 생성하는 단계;
상기 군집 지수 행렬을 표본별 군집 지수를 기준으로 객체를 재정렬하는 단계;
재정렬된 상기 군집 지수 행렬을 대상으로 인접 객체 간 군집 지수 패턴의 차이를 측정하는 단계;
상기 군집 지수 패턴의 차이 중 지정된 조건에 부합하는 차이를 이용하여 군집들을 추출하는 단계를 구비하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.In the cluster analysis method of mass data of a cluster analysis system having an input unit, a cluster analyzer, a distributed computing system, a lower cluster analyzer, a cluster analysis result database, a lower cluster analysis result database, and an output device, the cluster analysis method is
Receiving a large amount of data through the input unit;
Extracting a cluster index matrix by inputting a cluster vector for each sample analyzed by the cluster analyzer by performing a single-dimensional cluster analysis on the large amount of data, and extracting a cluster from the cluster index matrix;
Controlling by the distributed computing system such that the single-dimensional cluster analyzer can perform operations in parallel;
Extracting, by the lower cluster analyzer, a lower cluster of the cluster and determining whether the extracted lower cluster is a meaningful lower cluster;
Storing the cluster analysis result of the cluster analyzer in the cluster analysis result database;
Storing the lower cluster analysis result of the lower cluster analyzer in the lower cluster analysis result database; And
Outputting the cluster analysis result and the lower cluster analysis result to the output device;
Extracting the cluster is
Decomposing the large amount of data into data of each sample in a single dimension;
Performing the single-dimensional cluster analysis on the decomposed sample data to determine an optimal number of clusters for each sample and generating the cluster vector;
Generating a cluster index matrix by rearranging the sample order based on the cluster validity for each sample;
Rearranging the objects based on the cluster index of each sample in the cluster index matrix;
Measuring a difference in a cluster index pattern between adjacent objects based on the rearranged cluster index matrix;
And extracting clusters by using a difference that meets a specified condition among the difference of the cluster index pattern.
상기 지정된 조건에 부합하는 상기 군집이 추가로 추출되지 않으면 상기 군집 추출을 종료하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.5. The method of claim 4, wherein extracting clusters using the difference
And if the cluster meeting the specified condition is not further extracted, extracting the cluster.
분산 컴퓨팅 시스템의 제어에 의해 병렬적으로 수행되는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.The method of claim 4, wherein generating the cluster vector
Cluster analysis method of a large amount of data, characterized in that performed in parallel by the control of a distributed computing system.
상기 군집을 추출하는 단계를 반복하여 하부 군집을 추출하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.The method of claim 4, wherein the extracting the lower clusters of the clusters and determining whether the extracted lower clusters are meaningful lower clusters is as follows.
And extracting a lower cluster by repeating the extracting of the cluster.
지정된 범위 안의 군집 개수로 각 표본별 군집 분석을 수행하는 단계;
각 군집 개수별로 생성된 상기 군집을 대상으로 상기 군집 타당도를 측정하는 단계;
상기 군집 타당도를 이용하여 각 표본별 최적 군집 및 군집 개수를 추출하는 단계; 및
각 최적 군집별 동일 군집 내 속성 값의 크기를 이용하여 군집을 재표지하는 단계를 포함하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.The method of claim 4, wherein generating the cluster vector
Performing cluster analysis for each sample with the number of clusters within a specified range;
Measuring the cluster validity of the clusters generated for each cluster number;
Extracting an optimal cluster and the number of clusters for each sample using the cluster validity; And
And relabeling the cluster by using the size of attribute values in the same cluster for each optimal cluster.
수학식
(여기서, s'(i)는 객체 i의 군집 타당도 값, b'(i)는 단일 차원 상에서 객체 i가 속하지 않은 타 군집 중 가장 인접한 군집의 중심값, a'(i)는 단일 차원 상에서 객체 i가 속한 군집의 중심값, max(a'(i), b'(i))는 a'(i)와 b'(i) 중 큰 값)
에 의해 개별 객체의 상기 군집 타당도를 측정하고, 상기 군집 내 객체의 개별 군집 타당도를 평균하여 계산하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.10. The method of claim 9, wherein the cluster validity is
Equation
Where s' (i) is the cluster validity value of object i, b '(i) is the center of the nearest cluster among other clusters that do not belong to object i on a single dimension, and a' (i) is the object on a single dimension centroid of the cluster to which i belongs, max (a '(i), b' (i)) is the larger of a '(i) and b' (i))
And measuring the cluster validity of the individual objects and calculating the average of the individual cluster validity of the objects in the cluster.
K-평균 군집 분석을 사용하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.The method of claim 4, wherein the single-dimensional cluster analysis
A method for cluster analysis of large amounts of data, characterized by using K-means cluster analysis.
전체 표본을 대상으로 계산된 상기 군집 타당도가 가장 큰 표본을 기준 표본으로 선택하는 단계; 및
상기 추출된 각 표본별 단일 차원 군집 벡터를 상기 계산된 군집 타당도의 내림차순으로 선택하여 수평으로 재결합하는 단계를 포함하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.The method of claim 9, wherein generating the cluster exponential matrix
Selecting a sample having the largest cluster validity calculated for all samples as a reference sample; And
Selecting the extracted single-dimensional cluster vector for each sample in descending order of the calculated cluster validity and recombining horizontally.
추출된 상기 기준 표본부터 객체별 상기 군집 지수 행렬의 최우측에 위치한 표본까지 순차적으로 정렬 기준 표본을 선택하는 단계; 및
선택된 상기 정렬 기준 표본의 상기 군집 지수가 오름차순이 되도록 상기 정렬 기준 표본의 객체 순서를 재정렬하는 단계를 포함하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.13. The method of claim 12,
Selecting an alignment reference sample sequentially from the extracted reference sample to a sample located at the rightmost side of the cluster index matrix for each object; And
And rearranging the object order of the sorting reference sample such that the cluster index of the selected sorting reference sample is in ascending order.
상기 정렬 기준 표본의 왼쪽에 위치한 표본들의 객체 정렬에는 영향을 미치지 않고 정렬 기준 표본과 표본 우측에 위치한 표본들의 객체 정렬에만 영향을 미치도록 정렬하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.The method of claim 13, wherein the recombining step
And sorting so as not to affect the object alignment of the samples positioned on the left side of the alignment reference sample, but to affect only the object alignment of the alignment reference sample and the samples located on the right side of the sample.
상기 재결합하는 단계에서 재정렬된 군집 지수 행렬을 대상으로 최상단에 위치한 객체부터 최하단-1번째에 위치한 객체까지 인접 객체 간 속성 값 변화 양상의 차이를 측정하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.The method of claim 12, wherein the measuring of the difference in the cluster index pattern between the objects is
And re-combining the mass index data of the rearranged cluster exponent matrix to measure the difference in the property value change between adjacent objects from the topmost object to the bottom-first object.
수학식
(여기서, om,om+1은 객체 간 속성 값 변화 양상의 차이를 측정하고자 하는 인접 객체의 쌍, om,i는 표본 i에서 m번째 객체의 가중 평균된 속성 값, Cm,i는 m번째 객체의 표본 i에서의 군집 지수 값, s'(i)는 표본 i의 군집타당도 값, ki는 표본 i에서의 군집 개수, N는 총 객체의 개수)
에 의해 생성되는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.16. The method of claim 15, wherein the difference between the attribute value change patterns between adjacent objects is
Equation
(Where, o m , o m + 1 are pairs of adjacent objects to measure the difference of the property value change pattern between objects, o m, i is the weighted averaged property value of the m th object in sample i, C m, i Is the cluster index value in sample i of the m th object, s' (i) is the cluster validity value in sample i, k i is the number of clusters in sample i, N is the total number of objects)
Clustering method of large data, characterized in that generated by.
상기 측정한 인접 객체 간 속성 값 변화 양상의 차이가 큰 지점부터 순차적으로 새로운 군집이 추출되는 지점으로 정하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.16. The method of claim 15, wherein extracting the clusters
And a cluster from which a new cluster is sequentially extracted from a point at which the difference in the attribute value change between adjacent objects is large.
조건
Hi+1>Hi
(여기서, i는 추출된 군집의 수, i+1는 군집이 추가 추출되었을 때의 군집의 수, Hi는 현재 추출된 군집 내에서 동일 군집간 속성 값 유사도의 평균값, Hi+1은 군집이 추가 추출되었을 때의 동일 군집간 속성 값 유사도의 평균값)
을 만족하는 군집을 추가 추출하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.The method of claim 15, wherein extracting the clusters
Condition
H i + 1 > H i
Where i is the number of clusters extracted, i + 1 is the number of clusters when additional clusters are extracted, H i is the mean value of the similarity of attribute values among the same clusters within the currently extracted cluster, and H i + 1 is the cluster. Average value of similarity between attribute values in the same cluster when this additional extraction is performed)
Cluster analysis method for a large amount of data, characterized in that for extracting additional clusters satisfying.
피어슨 상관계수를 사용하는 것을 특징으로 하는 대용량 데이터의 군집 분석 방법.19. The method of claim 18, wherein the similarity of attribute values between the same clusters is
Cluster analysis method of a large amount of data characterized by using the Pearson correlation coefficient.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100116420A KR101182126B1 (en) | 2010-11-22 | 2010-11-22 | System and method for the large data clustering using parallel processing of individual dimension-based clustering, recording medium for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100116420A KR101182126B1 (en) | 2010-11-22 | 2010-11-22 | System and method for the large data clustering using parallel processing of individual dimension-based clustering, recording medium for the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120054985A KR20120054985A (en) | 2012-05-31 |
KR101182126B1 true KR101182126B1 (en) | 2012-09-12 |
Family
ID=46270630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100116420A KR101182126B1 (en) | 2010-11-22 | 2010-11-22 | System and method for the large data clustering using parallel processing of individual dimension-based clustering, recording medium for the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101182126B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101903582B1 (en) | 2018-04-23 | 2018-11-13 | 시와소프트 주식회사 | Led lighting system with disaster prevention detection and disaster prevention training function, and a method thereof |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101700104B1 (en) | 2012-09-04 | 2017-02-13 | 에스케이플래닛 주식회사 | System And Method for supporting a clustering algorithm, and Apparatus supporting the same |
KR101701373B1 (en) * | 2015-06-15 | 2017-02-01 | 한국과학기술원 | Apparatus and method for generating community structure perturbation index |
KR102213817B1 (en) * | 2019-10-16 | 2021-02-09 | 주식회사 포스웨이브 | System for partitioning space in the distributed processing system based on in-memory and method thereof |
KR102297195B1 (en) * | 2021-03-17 | 2021-09-01 | 국립생태원 | Population dispersal prediction device based on population dispersal simulation model and population dispersal prediction method using the same |
KR102678984B1 (en) * | 2023-11-28 | 2024-06-28 | 한화시스템(주) | System and method for displaying ship combat system scenario targets |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100538451B1 (en) | 2003-12-23 | 2005-12-22 | 학교법인 한국정보통신학원 | High performance sequence searching system and method for dna and protein in distributed computing environment |
KR100679488B1 (en) | 2006-11-27 | 2007-02-06 | 한국정보통신대학교 산학협력단 | A protocol for clustering of microarray data with missing values |
-
2010
- 2010-11-22 KR KR1020100116420A patent/KR101182126B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100538451B1 (en) | 2003-12-23 | 2005-12-22 | 학교법인 한국정보통신학원 | High performance sequence searching system and method for dna and protein in distributed computing environment |
KR100679488B1 (en) | 2006-11-27 | 2007-02-06 | 한국정보통신대학교 산학협력단 | A protocol for clustering of microarray data with missing values |
Non-Patent Citations (1)
Title |
---|
김만선, 대용량 다차원 데이터의 패턴 분류를 위한 다중 SVM 분류기, 공주대학교 박사학위논문, pp. 23-30, 2005. |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101903582B1 (en) | 2018-04-23 | 2018-11-13 | 시와소프트 주식회사 | Led lighting system with disaster prevention detection and disaster prevention training function, and a method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20120054985A (en) | 2012-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101182126B1 (en) | System and method for the large data clustering using parallel processing of individual dimension-based clustering, recording medium for the same | |
Cheung et al. | Efficient video similarity measurement with video signature | |
US7930281B2 (en) | Method, apparatus and computer program for information retrieval | |
CN106919957B (en) | Method and device for processing data | |
Yang et al. | A feature-metric-based affinity propagation technique for feature selection in hyperspectral image classification | |
CN112241494B (en) | Key information pushing method and device based on user behavior data | |
CN113344019A (en) | K-means algorithm for improving decision value selection initial clustering center | |
CN108681742B (en) | Analysis method for analyzing sensitivity of driver driving behavior to vehicle energy consumption | |
CN106033425A (en) | A data processing device and a data processing method | |
US7991617B2 (en) | Optimum design management apparatus from response surface calculation and method thereof | |
Sklar | Fast MLE computation for the Dirichlet multinomial | |
Pristyanto et al. | The effect of feature selection on classification algorithms in credit approval | |
KR100849631B1 (en) | Grouping System of Documents and Method Thereof and Recording Medium Thereof | |
JP2003256757A (en) | Space data analysis device, space data analysis method, and space data analysis program | |
Anand et al. | Analysis and prediction of television show popularity rating using incremental K-means algorithm | |
Cebeci et al. | Two novel outlier detection approaches based on unsupervised possibilistic and fuzzy clustering | |
CN117608880A (en) | Microservice division method based on GraphSAGE | |
Szkaliczki | clustering. sc. dp: Optimal clustering with sequential constraint by using dynamic programming | |
CN108898264B (en) | Method and device for calculating quality metric index of overlapping community set | |
Elnekave et al. | Discovering regular groups of mobile objects using incremental clustering | |
Graner | Scalable Algorithms in NonparametricComputational Statistics | |
CN114625952A (en) | Information recommendation method and system based on VSM and AMMK-means | |
Ramaciotti Morales | Multidimensional online American politics: mining emergent social cleavages in social graphs | |
Schäfer et al. | Clustering-Based Subgroup Detection for Automated Fairness Analysis | |
Khrulenko et al. | Forecasting IOR/EOR potential based on reservoir parameters |
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: 20150826 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160830 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170825 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190826 Year of fee payment: 8 |