KR101850775B1 - Acceleration Method for Extracting Critical Features with Hash-based group, and recording medium thereof - Google Patents

Acceleration Method for Extracting Critical Features with Hash-based group, and recording medium thereof Download PDF

Info

Publication number
KR101850775B1
KR101850775B1 KR1020160162906A KR20160162906A KR101850775B1 KR 101850775 B1 KR101850775 B1 KR 101850775B1 KR 1020160162906 A KR1020160162906 A KR 1020160162906A KR 20160162906 A KR20160162906 A KR 20160162906A KR 101850775 B1 KR101850775 B1 KR 101850775B1
Authority
KR
South Korea
Prior art keywords
data
hash
principal component
present
grouping
Prior art date
Application number
KR1020160162906A
Other languages
Korean (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 KR1020160162906A priority Critical patent/KR101850775B1/en
Application granted granted Critical
Publication of KR101850775B1 publication Critical patent/KR101850775B1/en

Links

Images

Classifications

    • G06K9/6247
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • G06F17/3033
    • G06F17/30333

Landscapes

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

Abstract

The present invention relates to a method for accelerating extraction of a core element using a hash based group. The method for accelerating the extraction of the core element according to the present invention comprises: a first step of grouping original data based on hash; a second step of performing a random pruning operation with respect to the grouped data; and a third step of applying a principal component analysis algorithm to the randomly pruned data and processing the same. The present invention can largely reduce calculation time and enhance accuracy of a result when the main component analysis algorithm is performed.

Description

해시 기반 그룹을 이용한 핵심 인자 추출 가속화 방법 및 이를 기록한 기록매체 {Acceleration Method for Extracting Critical Features with Hash-based group, and recording medium thereof}Technical Field [0001] The present invention relates to a method for accelerating key factor extraction using a hash-based group, and a recording medium recording the same.

본 발명은 핵심 인자 추출 가속화 방법에 관한 것으로서, 더욱 상세하게는 해시 기반(Hash-based) 그룹을 이용한 핵심 인자 추출 가속화 방법에 관한 것이다. The present invention relates to a method of accelerating key factor extraction, and more particularly, to a method of accelerating key factor extraction using a hash-based group.

보통 하나의 속성(Attribute)은 하나의 차원(Dimension)가 대응되며, 이에 따라 속성의 수가 커지면, 이를 나타내는데 어려움이 있다. 그런데, 다 차원에서 몇몇 차원은 다른 차원보다 중요한 의미를 갖는다. Normally, one attribute corresponds to one dimension (Dimension), and thus, when the number of attributes increases, it is difficult to represent this. By the way, in several dimensions, some dimensions have more significance than others.

도 1은 데이터세트에 대하여 1차원으로 나타내는 과정을 도시한 예시도이고, 도 2는 데이터세트에 대하여 2차원을 나타내는 과정을 도시한 예시도이다. FIG. 1 is an exemplary diagram illustrating a process of representing a data set in one dimension, and FIG. 2 is an exemplary diagram illustrating a process of representing a two-dimensional data set.

도 3은 2차원의 데이터에 대하여 차원을 감소시켜서 1차원으로 나타내는 과정을 도시한 예시도이다. FIG. 3 is a diagram illustrating a process of reducing a dimension of two-dimensional data and representing the two-dimensional data in one dimension.

도 3에서 2차원의 데이터에 대하여 차원을 감소시켜서 1차원으로 나타내었지만, 데이터의 손실이 거의 없음을 알 수 있다.In FIG. 3, although the two-dimensional data is reduced in dimensions and displayed in one dimension, it can be seen that there is almost no loss of data.

현대 시스템은 매일 거대한 양의 데이터를 창조한다. 이렇게 데이터의 양이 일정 수준 이상으로 많아지면, 장치들은 데이터를 처리하기 위한 알고리즘을 제대로 수행하지 못하게 되는 문제점이 있다. 따라서, 차원을 감소시키는 기술이 필요하다. Modern systems create huge amounts of data every day. If the amount of data increases to a certain level or more, the devices are not able to properly perform the algorithm for processing the data. Therefore, a technique for reducing the dimension is needed.

종래 차원 감소(Dimension reduction) 기술은 다양한 방식이 있으며, 그 중에서 가장 흔히 사용되는 차원 감소 기술인 주 성분 분석(Principal Component Analysis, PCA) 알고리즘이다. The conventional dimension reduction technique has various methods, and among them, the Principal Component Analysis (PCA) algorithm, which is the most commonly used dimension reduction technique.

주 성분 분석 알고리즘은 큰 데이터 세트로부터 주요 성분이라고 불리는 비상관 변수의 수를 확인하는 과정으로서, 최소 주 성분으로 최대 분산을 설명하는 것을 그 목적으로 한다.  The main component analysis algorithm is to identify the number of uncorrelated variables called major components from a large data set. It aims to explain the maximum variance as the least significant component.

도 4는 주 성분 분석 알고리즘에서 주 성분을 정의하는 과정을 설명하기 위한 도면이다 4 is a diagram for explaining a process of defining main components in the main component analysis algorithm

도 4를 참조하면, 제1 주 성분(PC1)은 데이터에서 최대 변산도(variability)의 방향으로 정의한다. Referring to FIG. 4, the first principal component PC1 defines the direction of maximum variability in the data.

그리고, 제2 주 성분(PC2)은 제1 주 성분(PC1)과 직교(Orthogonal)하면서 데이터에서 두 번째로 큰 변산도를 갖는 것으로 정의한다. 마찬가지 방식으로, 제3 주 성분 이하 제 n 주 성분을 정의한다. The second principal component PC2 is orthogonal to the first principal component PC1 and is defined as having the second largest degree of variability in the data. In a similar manner, the third main component and the nth main component are defined.

보통 PCA 알고리즘은 다음과 같은 순서로 수행된다. Usually, the PCA algorithm is performed in the following order.

먼저, 전체 데이터의 평균(mean)을 구하고, 각 데이터에서 평균을 빼서 중심화(centering) 한다. First, the mean of all the data is obtained, and the average is subtracted from each data to center it.

다음, 공분산 행렬(covariance matrix)을 계산한다. 여기서 공분산 행렬은 속성들이 서로에게 영향을 주면서 어떻게 함께 변화하는지를 나타낸다. Next, a covariance matrix is calculated. Here, the covariance matrix shows how attributes change together as they affect each other.

그리고, 고유치(Eigenvalue) 및 고유벡터(Eigenvector)를 구하여 주 성분을 찾는다. 여기서 가장 큰 분산을 갖는 고유벡터를 제1 주 성분이라고 정의한다. Then, an eigenvalue and an eigenvector are obtained to find the main component. Here, an eigenvector having the largest variance is defined as a first principal component.

이러한 PCA 알고리즘을 수행하는데 있어서, 몇 가지 문제점이 있다. There are some problems in performing such a PCA algorithm.

첫 번째 문제점은 시간 복잡성(time complexity)이다. 컴퓨터 연산 능력이 제한되어 있는 경우, PCA를 실행하는데 어려움이 있다. The first problem is time complexity. If the computing power is limited, there is a difficulty in running the PCA.

도 5는 데이터의 크기와 PCA 연산 시간과의 관계를 나타낸 그래프이다. 5 is a graph showing the relationship between the size of the data and the PCA calculation time.

도 5에서 보는 바와 같이, 데이터의 크기가 커질수록 기하급수적으로 PCA 연산에 걸리는 시간이 증가하는 것을 확인할 수 있다.As shown in FIG. 5, it can be seen that the time required for the PCA operation increases exponentially as the size of data increases.

두 번째 문제점은 PCA 알고리즘에서는 주 성분을 찾기 위해 직교 변환(orthogonal transformation)을 사용하는데, 이때 입력 데이터에 따라 때때로 틀린 결과를 제공한다는 것이다. The second problem is that the PCA algorithm uses an orthogonal transformation to find the main component, sometimes providing wrong results depending on the input data.

대한민국 등록특허 10-1658528Korea Patent No. 10-1658528

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 주 성분 분석 알고리즘 연산 시에, 연산 시간을 대폭 줄일 수 있고, 결과의 정확성을 향상시킬 수 있는, 해시 기반 그룹을 이용한 핵심 인자 추출 가속화 방법을 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made in order to solve the above-mentioned problems, and it is an object of the present invention to provide a key factor extraction accelerating method using a hash-based group capable of greatly reducing the computation time and improving the accuracy of the result The purpose is to provide.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.

이와 같은 목적을 달성하기 위한 본 발명의 핵심 인자 추출 가속화 방법은 원본 데이터에 대하여 해시 기반으로 그룹핑(Grouping)하는 제1 단계, 상기 그룹핑된 데이터에 대하여 랜덤 프루닝(Random Pruning)을 수행하는 제2 단계 및 상기 랜덤 프루닝이 수행된 데이터에 대해 주 성분 분석(Principal Component Analysis) 알고리즘을 적용하여 처리하는 제3 단계를 포함한다. According to an aspect of the present invention, there is provided a method for accelerating key factor extraction, comprising: a first step of grouping original data based on a hash, a second step of performing random pruning on the grouped data, And a third step of applying a Principal Component Analysis algorithm to the random pruning performed data.

상기 제1 단계에서, N개의 속성(Attribute)이 있을 때, 해시 기반 그룹핑을 통해 2N개의 해시맵(Hashmap) 그룹을 가질 수 있다. In the first step, when there are N attributes, it is possible to have 2 N hash map groups through hash-based grouping.

이때, 상기 제2 단계에서 2N개의 해시맵(Hashmap) 그룹에서 미리 정해진 비율만큼 랜덤(random)하게 데이터를 선택할 수 있다. At this time, in the second step, data can be randomly selected in a predetermined ratio from 2 N hash map groups.

상기 제 3단계는, 상기 랜덤 프루닝에 의해 선택된 전체 데이터에 대해 평균을 구하는 단계, 상기 전체 데이터에 대하여 상기 평균을 빼는 중심화 단계, 상기 중심화 단계 후에 공분산 행렬(covariance matrix)을 계산하는 단계, 상기 공분산 행렬을 이용하여 고유치(eigenvalue)와 고유벡터(eigenvector)를 구하는 단계, 최대 분산을 갖는 고유벡터를 제1 주 성분으로 정의하는 단계 및 상기 제1 주 성분에 직교하면서 2번째로 큰 분산을 갖는 고유벡터를 제2 주 성분으로 정의하며, 이와 같은 방식으로 제n 주 성분을 정의하는 단계를 포함하여 이루어질 수 있다. The third step may include a step of calculating an average for all the data selected by the random pruning, a centering step for subtracting the average for all the data, a covariance matrix after the centering step, Calculating an eigenvalue and an eigenvector using a covariance matrix, defining an eigenvector having a maximum variance as a first principal component, and calculating a second principal component having a second largest variance orthogonal to the first principal component Defining the eigenvector as the second principal component, and defining the nth principal component in this manner.

본 발명에 의하면, 주 성분 분석 알고리즘 연산 시에, 연산 시간을 대폭 줄일 수 있고, 결과의 정확성을 향상시킬 수 있는 효과가 있다. According to the present invention, it is possible to greatly reduce the calculation time and improve the accuracy of the result at the time of calculating the main component analysis algorithm.

도 1은 데이터세트(dataset)에 대하여 1차원으로 나타내는 과정을 도시한 예시도이다.
도 2는 데이터세트에 대하여 2차원을 나타내는 과정을 도시한 예시도이다.
도 3은 2차원의 데이터에 대하여 차원을 감소시켜서 1차원으로 나타내는 과정을 도시한 예시도이다.
도 4는 주 성분 분석 알고리즘에서 주 성분을 정의하는 과정을 설명하기 위한 도면이다
도 5는 데이터의 크기와 PCA 연산 시간과의 관계를 나타낸 그래프이다.
도 6은 본 발명의 일 실시예에 따른 핵심 인자 추출 가속화 방법을 보여주는 흐름도이다.
도 7 내지 도 12는 본 발명의 일 실시예에 따른 해시 기반 데이터 그룹핑을 설명하기 위한 예시도이다.
도 13 내지 도 16은 본 발명의 일 실시예에 따른 랜덤 프루닝을 설명하기 위한 예시도이다.
도 17은 본 발명의 일 실시예에 따른 실험 결과를 보여주는 도표이다.
도 18은 기존 PCA 연산 시간과, 본 발명의 해시 기반 그룹핑을 한 PCA 연산 시간을 비교한 그래프이다.
1 is an exemplary diagram showing a process of representing a data set (dataset) in one dimension.
FIG. 2 is an exemplary diagram showing a process of two-dimensionally representing a data set. FIG.
FIG. 3 is a diagram illustrating a process of reducing a dimension of two-dimensional data and representing the two-dimensional data in one dimension.
4 is a diagram for explaining a process of defining main components in the main component analysis algorithm
5 is a graph showing the relationship between the size of the data and the PCA calculation time.
6 is a flowchart illustrating a method of accelerating key factor extraction according to an embodiment of the present invention.
7 to 12 are exemplary diagrams for explaining hash-based data grouping according to an embodiment of the present invention.
13 to 16 are diagrams for explaining random pruning according to an embodiment of the present invention.
17 is a graph showing experimental results according to an embodiment of the present invention.
18 is a graph comparing an existing PCA computation time with a PCA computation time of the hash-based grouping of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 갖는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted in an ideal or overly formal sense unless expressly defined in the present application Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

본 발명에서 핵심 인자 추출 가속화 방법은 일종의 소프트웨어인 알고리즘으로 구성되며, 소프트웨어 알고리즘은 일반적인 PC 또는 컴퓨터 시스템이 될 수 있으며, 하드웨어(H/W), 소프트웨어(S/W), 또는 하드웨어와 소프트웨어가 결합된 장치로 구현될 수도 있다. 즉, 본 발명에서 핵심 인자 추출 가속화 방법은 일종의 소프트웨어인 프로그램으로 구성되며, 프로그램은 시스템, 컴퓨터 또는 프로세서(processor)에서 실행될 수 있다. 즉, 본 발명에서 핵심 인자 추출 가속화 방법을 수행하는 주체는 제반 컴퓨터 장치라고 할 수 있다. In the present invention, the method for accelerating the extraction of the key factor comprises a software, which is a type of software. The software algorithm can be a general PC or a computer system, and can be implemented by hardware (H / W), software (S / W) Lt; / RTI > device. That is, in the present invention, the method of accelerating key factor extraction comprises a program, which is a kind of software, and the program may be executed in a system, a computer, or a processor. That is, the subject performing the method of accelerating the extraction of the key factor in the present invention can be called all kinds of computer devices.

도 6은 본 발명의 일 실시예에 따른 핵심 인자 추출 가속화 방법을 보여주는 흐름도이다. 6 is a flowchart illustrating a method of accelerating key factor extraction according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일 실시예에 따른 핵심 인자 추출 가속화 방법은, 원본 데이터에 대하여 해시 기반(Hash-based)으로 그룹핑(Grouping)하는 제1 단계(S610)와, 그룹핑된 데이터에 대하여 랜덤 프루닝(Random Pruning)을 수행하는 제2 단계(S620)와, 랜덤 프루닝이 수행된 데이터에 대해 주 성분 분석(Principal Component Analysis, PCA) 알고리즘을 실행하는 제3단계(S630)을 포함한다. Referring to FIG. 6, a method for accelerating key factor extraction according to an exemplary embodiment of the present invention includes a first step S610 of grouping source data in a hash-based manner, A second step S620 of performing random pruning on the random pruned data and a third step S630 of executing a Principal Component Analysis (PCA) algorithm on the data subjected to random pruning do.

본 발명에서 제 3단계(S610)는, 랜덤 프루닝에 의해 선택된 전체 데이터에 대해 평균을 구하는 단계와, 전체 데이터에 대하여 평균을 빼는 중심화(centering) 단계와, 중심화 단계 후에 공분산 행렬(covariance matrix)을 계산하는 단계와, 공분산 행렬을 이용하여 고유치(eigenvalue)와 고유벡터(eigenvector)를 구하는 단계와, 최대 분산을 갖는 고유벡터를 제1 주 성분으로 정의하는 단계와, 제1 주 성분에 직교하면서 2번째로 큰 분산을 갖는 고유벡터를 제2 주 성분으로 정의하며, 이와 같은 방식으로 제n 주 성분을 정의하는 단계를 포함하여 이루어질 수 있다.The third step S610 of the present invention includes a step of obtaining an average of the entire data selected by the random pruning, a centering step of subtracting an average of all the data, a covariance matrix after the centering step, Calculating an eigenvalue and an eigenvector using a covariance matrix; defining an eigenvector having a maximum variance as a first principal component; Defining the eigenvector having the second largest variance as the second principal component, and defining the nth principal component in this manner.

도 7 내지 도 12는 본 발명의 일 실시예에 따른 해시 기반 데이터 그룹핑을 설명하기 위한 예시도이다. 7 to 12 are exemplary diagrams for explaining hash-based data grouping according to an embodiment of the present invention.

도 7에서 (a)는 원본 데이터세트(Original Dataset)이고, (b)는 본 발명의 일 실시예에 따라 해시 기반 데이터 그룹핑된 데이터세트를 나타낸 그래프이다. FIG. 7A is an original data set, and FIG. 7B is a graph illustrating a hash-based data grouped data set according to an embodiment of the present invention.

PCA 알고리즘은 데이터세트의 분산을 찾는데, 여기서 주 성분의 분산(variance)이 공분산 행렬(covariance matrix)의 고유치(eigenvalue)이다. 이는 주 성분을 찾는데 표준편차가 크게 기여하지 않음을 의미한다. The PCA algorithm finds the variance of the data set, where the variance of the principal components is the eigenvalue of the covariance matrix. This means that the standard deviation does not contribute significantly to the search for the main component.

도 8에서, 제1 단계(S610)에서, N개의 속성(Attribute)이 있을 때, 해시 기반 그룹핑을 통해 2N개의 해시맵(Hashmap) 그룹을 가질 수 있음을 확인할 수 있다. 여기서 바이너리 트리(Binary tree) 뿐만 아니라 다양한 트리를 사용할 수 있으나, 간단하게 바이너리 트리를 사용하기로 한다. In FIG. 8, it can be seen that, in the first step S610, when there are N attributes, it is possible to have 2 N hash map groups through hash-based grouping. Here we can use various trees as well as binary trees, but we will simply use binary trees.

도 9 및 도 10에서 속성 A1에서 R1이 0.23이며, 이는 0.5 보다 작기 때문에 속성 A2로 진행시 좌측 화살표 쪽으로 이동한다. In Figs. 9 and 10, R1 in the attribute A1 is 0.23, which is smaller than 0.5, and therefore moves toward the left arrow when proceeding to the attribute A2.

그리고, 도 11에서 속성 A2에서 R1이 0.65이며, 이는 0.5 보다 큰 값이므로 우측으로 이동하여 속성 A3로 이동하게 된다. In Fig. 11, R1 is 0.65 in attribute A2, which is larger than 0.5, and therefore moves to the right to move to property A3.

그리고, 도 12에서 속성 A3에서 R1이 0.58이며, 이는 0.5 보다 큰 값이므로 우측으로 이동하게 된다. 마찬가지 방식으로 R2~R6의 그룹핑(grouping)과 분류(classification)를 진행하게 된다. In Fig. 12, R1 is 0.58 in the property A3, which is larger than 0.5, and therefore moves to the right. In the same way, grouping and classification of R2 to R6 are performed.

본 발명에서 제2 단계(S6200에서, 2N개의 해시맵(Hashmap) 그룹에서 미리 정해진 비율만큼 랜덤(random)하게 데이터를 선택할 수 있다. In the present invention, in the second step (S6200, data can be randomly selected by a predetermined ratio in 2 N hash map groups.

도 13 내지 도 16은 본 발명의 일 실시예에 따른 랜덤 프루닝을 설명하기 위한 예시도이다. 13 to 16 are diagrams for explaining random pruning according to an embodiment of the present invention.

도 13에서 이미 유사한 객체(similar object)를 모두 해시맵에 그룹핑했으며, 그룹핑된 해시맵으로부터 랜덤하게 25%의 객체를 선택한다(pick). 도 13의 예시에서는 R1, R2, R6가 선택된 것을 확인할 수 있다.In FIG. 13, all similar objects are grouped into a hash map, and 25% objects are randomly selected from the grouped hash map. In the example of FIG. 13, it is confirmed that R1, R2, and R6 are selected.

도 14는 그룹핑 없이 랜덤 프루닝을 수행한 결과를 도시한 그래프이고, 도 15는 본 발명의 일 실시예에 따른 그룹핑을 한 후 랜덤 프루닝을 수행한 결과이다. FIG. 14 is a graph showing a result of performing random pruning without grouping, and FIG. 15 is a result of performing random pruning after grouping according to an embodiment of the present invention.

도 14에서 그룹핑 없이 랜덤 프루닝을 수행하면 원본 데이터의 형태를 잃어버린 결과(A)를 나타냄을 확인할 수 있다. In FIG. 14, if random pruning is performed without grouping, it can be confirmed that the result of the loss of the original data form (A) is shown.

반면, 도 15에서 본 발명의 일 실시예에 따른 그룹핑을 한 후 랜덤 프루닝을 수행하면 원본 데이터의 형태를 유지한 결과(B)를 나타냄을 확인할 수 있다. On the other hand, FIG. 15 shows that grouping according to an exemplary embodiment of the present invention performs random pruning to show a result (B) of maintaining the original data format.

도 16은 본 발명의 일 실시예에 따른 랜덤 프루닝과 정확도와의 관계를 도시한 그래프인데, 랜덤 프루닝이 진행될수록 정확도가 향상되는 것을 확인할 수 있다.FIG. 16 is a graph showing the relationship between random pruning and accuracy according to an embodiment of the present invention. As the random pruning progresses, the accuracy improves.

실제 5 개의 각기 다른 데이터세트(dataset)를 사용하여, 본 발명의 주 성분 분석 알고리즘을 실험하기로 한다. 여기서 각 데이터세트는 17개의 같은 수의 속성을 갖는다. 그리고, 데이터는 고르게 분배되지 않으며, 속성1은 가장 큰 분산을 갖고, 속성2는 두 번째로 큰 분산을 가지며, 이런 식으로 순차적으로 속성이 분산을 가지게 되며, 따라서 속성 17은 가장 작은 분산을 갖는다. 그리고, 해시맵 그룹은 217=131072 가 생성될 것으로 예상된다. Actually, five different data sets (datasets) are used to experiment the main component analysis algorithm of the present invention. Where each data set has the same number of 17 attributes. Then, the data are not evenly distributed, the attribute 1 has the largest variance, the attribute 2 has the second largest variance, and thus the attribute has the variance in this way, so the attribute 17 has the smallest variance . Then, the hash map group is expected to generate 2 17 = 131072.

도 17은 본 발명의 일 실시예에 따른 실험 결과를 보여주는 도표이고, 도 18은 기존 PCA 연산 시간과, 본 발명의 해시 기반 그룹핑을 한 PCA 연산 시간을 비교한 그래프이다. FIG. 17 is a graph showing experimental results according to an embodiment of the present invention, and FIG. 18 is a graph comparing an existing PCA operation time and a PCA operation time of the hash-based grouping of the present invention.

도 17 및 도 18을 참조하면, 본 발명에서 해시 기반 그룹핑을 이용한 주 성분 분석 알고리즘을 수행하는 연산시간에 있어서, 기존 주 성분 분석 알고리즘 연산 시간에 비해 연산 시간이 대폭 단축되는 것을 확인할 수 있다. Referring to FIGS. 17 and 18, it can be seen that the calculation time of the main component analysis algorithm using the hash-based grouping is significantly shortened compared with the calculation time of the existing main component analysis algorithm.

또한, 본 발명의 해시 기반 그룹핑을 이용한 주 성분 분석 알고리즘의 정확성이 이상적인 것을 확인할 수 있다. In addition, it can be confirmed that the accuracy of the main component analysis algorithm using the hash-based grouping of the present invention is ideal.

한편, 본 발명의 실시예에 따른 핵심 인자 추출 가속화 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.Meanwhile, the method of accelerating key factor extraction according to an embodiment of the present invention can be implemented as a computer-readable code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 포함된다.For example, the computer-readable recording medium includes a ROM, a RAM, a CD-ROM, a magnetic tape, a hard disk, a floppy disk, a removable storage device, a nonvolatile memory, , Optical data storage devices, and the like.

또한, 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.In addition, the computer readable recording medium may be distributed and executed in a computer system connected to a computer communication network, and may be stored and executed as a code readable in a distributed manner. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers skilled in the art to which the present invention pertains.

이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.While the present invention has been described with reference to several preferred embodiments, these embodiments are illustrative and not restrictive. It will be understood by those skilled in the art that various changes and modifications may be made therein without departing from the spirit of the invention and the scope of the appended claims.

Claims (5)

원본 데이터에 대하여 해시 기반으로 그룹핑(Grouping)하는 제1 단계;
상기 그룹핑된 데이터에 대하여 랜덤 프루닝(Random Pruning)을 수행하는 제2 단계; 및
상기 랜덤 프루닝이 수행된 데이터에 대해 주 성분 분석(Principal Component Analysis) 알고리즘을 실행하는 제3 단계를 포함하되,
상기 제1 단계에서, N개의 속성(Attribute)이 있을 때, 해시 기반 그룹핑을 통해 2N개의 해시맵(Hashmap) 그룹을 갖고,
상기 제2 단계에서, 2N개의 해시맵(Hashmap) 그룹에서 미리 정해진 비율만큼 랜덤(random)하게 데이터를 선택하고,
상기 제 3단계는, 상기 랜덤 프루닝에 의해 선택된 전체 데이터에 대해 평균을 구하는 단계, 상기 전체 데이터에 대하여 상기 평균을 빼는 중심화 단계, 상기 중심화 단계 후에 공분산 행렬(covariance matrix)을 계산하는 단계, 상기 공분산 행렬을 이용하여 고유치(eigenvalue)와 고유벡터(eigenvector)를 구하는 단계, 최대 분산을 갖는 고유벡터를 제1 주 성분으로 정의하는 단계 및 상기 제1 주 성분에 직교하면서 2번째로 큰 분산을 갖는 고유벡터를 제2 주 성분으로 정의하며, 이와 같은 방식으로 제n 주 성분을 정의하는 단계를 포함하여 이루어지는 것을 특징으로 하는 핵심 인자 추출 가속화 방법.
A first step of grouping the original data based on a hash;
A second step of performing random pruning on the grouped data; And
And a third step of performing a Principal Component Analysis algorithm on the data subjected to the random pruning,
In the first step, when there are N attributes, the hash grouping has 2 N hash maps,
In the second step, data is randomly selected in a predetermined ratio from 2 N hash map groups,
The third step may include a step of calculating an average for all the data selected by the random pruning, a centering step for subtracting the average for all the data, a covariance matrix after the centering step, Calculating an eigenvalue and an eigenvector using a covariance matrix, defining an eigenvector having a maximum variance as a first principal component, and calculating a second principal component having a second largest variance orthogonal to the first principal component Defining an eigenvector as a second principal component, and defining the nth principal component in this manner.
삭제delete 삭제delete 삭제delete 청구항 1의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program capable of executing the method of claim 1 by a computer.
KR1020160162906A 2016-12-01 2016-12-01 Acceleration Method for Extracting Critical Features with Hash-based group, and recording medium thereof KR101850775B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160162906A KR101850775B1 (en) 2016-12-01 2016-12-01 Acceleration Method for Extracting Critical Features with Hash-based group, and recording medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160162906A KR101850775B1 (en) 2016-12-01 2016-12-01 Acceleration Method for Extracting Critical Features with Hash-based group, and recording medium thereof

Publications (1)

Publication Number Publication Date
KR101850775B1 true KR101850775B1 (en) 2018-04-20

Family

ID=62088322

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160162906A KR101850775B1 (en) 2016-12-01 2016-12-01 Acceleration Method for Extracting Critical Features with Hash-based group, and recording medium thereof

Country Status (1)

Country Link
KR (1) KR101850775B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013244403A (en) 2012-05-23 2013-12-09 Seiko Epson Corp Image processing method
KR101519449B1 (en) 2013-10-31 2015-05-12 한국과학기술원 Anonymizing Device and Method using Information theory approach of Electronic Medical Records
JP5799967B2 (en) 2013-03-01 2015-10-28 トヨタ自動車株式会社 Data transmitting apparatus, data sharing system, data sharing method, and message exchange system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013244403A (en) 2012-05-23 2013-12-09 Seiko Epson Corp Image processing method
JP5799967B2 (en) 2013-03-01 2015-10-28 トヨタ自動車株式会社 Data transmitting apparatus, data sharing system, data sharing method, and message exchange system
KR101519449B1 (en) 2013-10-31 2015-05-12 한국과학기술원 Anonymizing Device and Method using Information theory approach of Electronic Medical Records

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Chenyi Xia, et al., "GORDER: An Efficient Method for KNN Join Processing", Proceedings of the 30th VLDB Conference, vol. 30, pp. 756-767, August 31, 2004.
Cong Leng, et al., "Learning Binary Codes with Bagging PCA", Machine Learning and Knowledge Discovery in Databases, pp.177-192, September 15, 2014.
Jun Jie Foo, et al., "Pruning SIFT for Scalable Near-Duplicate Image Matching", Proceedings of 18th conference on Australasian database, vol. 63, pp. 63-71, January 30, 2007.
Mehdi Ghayoumi, et al., "An Integrated Approach for Efficient Analysis of Facial Expressions", International Conference on SIGMAP, pp. 1-9 , August 28, 2014.*
Ramin Raziperchikolaei, et al. "Learning Independent, Diverse Binary Hash Functions: Pruning and Locality", IEEE 16th International Conference on Data Mining (ICDM), pp. 1173-1178, December 12, 2016.

Similar Documents

Publication Publication Date Title
US10645105B2 (en) Network attack detection method and device
CN112182578A (en) Model training method, URL detection method and device
CN109685092B (en) Clustering method, equipment, storage medium and device based on big data
US20170249218A1 (en) Data to be backed up in a backup system
EP3121735A1 (en) Data mining method and device
CN112434003B (en) SQL optimization method and device, computer equipment and storage medium
KR102302484B1 (en) Method for mobile malware classification based feature selection, recording medium and device for performing the method
KR101116663B1 (en) Partitioning Method for High Dimensional Data
US9460243B2 (en) Selective importance sampling
US9805091B2 (en) Processing a database table
CN111026736B (en) Data blood margin management method and device and data blood margin analysis method and device
KR101850775B1 (en) Acceleration Method for Extracting Critical Features with Hash-based group, and recording medium thereof
KR101772333B1 (en) INTELLIGENT JOIN TECHNIQUE PROVIDING METHOD AND SYSTEM BETWEEN HETEROGENEOUS NoSQL DATABASES
KR101628602B1 (en) Similarity judge method and appratus for judging similarity of program
CN110019295B (en) Database retrieval method, device, system and storage medium
CN110928941A (en) Data fragment extraction method and device
CN111177506A (en) Classification storage method and system based on big data
CN115935208A (en) Online segmentation method, equipment and medium for multi-element time sequence running data of data center equipment
US11709798B2 (en) Hash suppression
CN116226681A (en) Text similarity judging method and device, computer equipment and storage medium
US10325056B1 (en) Failure boundary classification and corner creation for scaled-sigma sampling
CN105144139A (en) Generating a feature set
CN109165097B (en) Data processing method and data processing device
CN109522915B (en) Virus file clustering method and device and readable medium
CN106897616B (en) Program file processing method and device

Legal Events

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