KR101768438B1 - 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템 - Google Patents

데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템 Download PDF

Info

Publication number
KR101768438B1
KR101768438B1 KR1020130130180A KR20130130180A KR101768438B1 KR 101768438 B1 KR101768438 B1 KR 101768438B1 KR 1020130130180 A KR1020130130180 A KR 1020130130180A KR 20130130180 A KR20130130180 A KR 20130130180A KR 101768438 B1 KR101768438 B1 KR 101768438B1
Authority
KR
South Korea
Prior art keywords
data
classification
degree
cluster
classification model
Prior art date
Application number
KR1020130130180A
Other languages
English (en)
Other versions
KR20150049511A (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 KR1020130130180A priority Critical patent/KR101768438B1/ko
Priority to PCT/KR2013/011630 priority patent/WO2015064829A1/ko
Priority to CN201310693281.9A priority patent/CN104598500B/zh
Priority to US14/141,794 priority patent/US9582736B2/en
Publication of KR20150049511A publication Critical patent/KR20150049511A/ko
Application granted granted Critical
Publication of KR101768438B1 publication Critical patent/KR101768438B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/70Machine learning, data mining or chemometrics

Abstract

데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템이 개시된다. 본 발명의 일실시예에 따른 데이터 분류 방법은, 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 클래스 소속도를 반영하여 벡터를 군집화 하는 단계, 군집화 된 결과에 따라 복수 개의 분류 대상 데이터들을 라벨링하는 단계, 및 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 단계를 포함한다.

Description

데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템{APPARATUS AND METHOD FOR CLASSIFYING DATA AND SYSTEM FOR COLLECTING DATA OF USING THE SAME}
본 발명의 실시예는 데이터 분류 기술에 관한 것으로, 보다 상세하게는 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템에 관한 것이다.
어떤 데이터를 분류하기 위해서는 해당 데이터의 라벨이 명확해야 한다. 따라서, 데이터의 라벨이 명확하지 못하고 단지 클래스 소속도로 표현되어 있는 경우에는 데이터를 분류하기 어렵게 된다. 예를 들어, 하기의 표 1과 같이 서버의 성능 데이터들에 대해 서버의 장애와의 연관성 정도가 클래스 소속도로 표시되어 있는 경우, 해당 성능 데이터를 이상(Abnormal:A)으로 분류해야 할지 정상(Normal:N)으로 분류해야 할지 어렵게 된다.
식별자 클래스 소속도 CPU 사용률 메모리 사용률 CPU 대기 시간
AAA 30.55 70.10 4.5 430.1
BBB 79.11 4.32 97.12 96.3
CCC 5.15 18.07 3.2 4.2
여기서, 클래스 소속도의 기 설정된 값을 기준으로 성능 데이터를 라벨링한다고 해도(예를 들어, 클래스 소속도의 값 60을 기준으로 그 이상인 값을 이상(A)으로 라벨링하고, 그 미만의 값을 정상(N)으로 라벨링함), 클래스 소속도를 가지고 라벨링한 결과가 신뢰도가 낮기 때문에 분류 결과 역시 신뢰도가 낮아지게 되는 문제점이 있다.
삭제
한국등록특허공보 제10-1247307호(2013.03.26)
본 발명의 실시예는 데이터 분류 성능을 향상시킬 수 있는 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템을 제공하고자 한다.
본 발명의 실시예는 라벨이 불명확한 데이터를 분류할 수 있는 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템을 제공하고자 한다.
본 발명의 일 실시예에 따른 데이터 분류 장치는, 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화하는 군집화부; 및 상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하고, 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 분류 모델 생성부를 포함한다.
상기 데이터 분류 장치는, 상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화 하는 군집 파라미터 결정부를 더 포함하고, 상기 군집화부는, 상기 군집 파라미터 값 및 상기 클래스 소속도를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화 할 수 있다.
상기 군집 파라미터 결정부는, 군집 내 상기 벡터들의 유사도가 기 설정된 값을 초과하고, 군집들 간의 거리가 기 설정된 값을 초과하는지 여부에 따라 상기 군집 파라미터 값을 최적화 할 수 있다.
상기 군집화부는, 하기 수학식을 통해 상기 복수 개의 분류 대상 데이터들의 벡터를 재군집화 할 수 있다.
(수학식)
Figure 112013098683114-pat00001
PDF : 해당 군집 기법의 확률 밀도 함수.
n : 클래스 소속도의 영향도.
PDF' : 해당 분류 대상 데이터의 클래스 소속도가 반영된 새로운 확률 밀도 함수.
상기 분류 모델 생성부는, 각 분류 대상 데이터들의 군집 포함 여부로 이진 분류하여 라벨링할 수 있다.
상기 데이터 분류 장치는, 상기 생성된 분류 모델의 정확도를 검증하는 검증부를 더 포함할 수 있다.
상기 검증부는, 테스트 데이터의 클래스 소속도 값을 이용하여 복수 개의 테스트 데이터들을 라벨링하고, 상기 라벨링된 테스트 데이터를 상기 분류 모델에 대입하여 상기 분류 모델의 정확도를 계산할 수 있다.
상기 군집화부는, 상기 분류 모델의 정확도가 목표 성능에 도달하지 못한 경우, 상기 클래스 소속도의 반영 정도를 조정하여 복수 개의 분류 대상 데이터들의 벡터를 재군집화 할 수 있다.
상기 검증부는, 상기 테스트 데이터의 라벨링에 따른 분류 결과와 상기 테스트 데이터의 상기 분류 모델에 따른 분류 결과와의 일치 정도에 따라 상기 분류 모델의 정확도를 계산할 수 있다.
상기 데이터 분류 장치는, 데이터 수집부로부터 입력 데이터를 수신하고, 수신한 입력 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 상기 데이터 수집부로 전송하는 통신부를 더 포함할 수 있다.
상기 클래스 소속도는, 상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출될 수 있다.
상기 클래스 소속도는, 하기 수학식을 통해 산출될 수 있다.
(수학식)
Figure 112013098683114-pat00002
x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
a 및 b : 보정 계수.
본 발명의 일 실시예에 따른 데이터 분류 방법은, 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화 하는 단계; 상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하는 단계; 및 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 단계를 포함한다.
상기 군집화 하는 단계는, 상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화하는 단계; 및 상기 군집 파라미터 값 및 상기 클래스 소속도를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화 하는 단계를 포함할 수 있다.
상기 군집 파라미터 값을 최적화하는 단계는, 군집 내 상기 벡터들의 유사도가 기 설정된 값을 초과하고, 군집들 간의 거리가 기 설정된 값을 초과하는지 여부에 따라 상기 군집 파라미터 값을 최적화 할 수 있다.
상기 재군집화 하는 단계는, 하기 수학식을 통해 상기 복수 개의 분류 대상 데이터들의 벡터를 재군집화 할 수 있다.
(수학식)
Figure 112013098683114-pat00003
PDF : 해당 군집 기법의 확률 밀도 함수.
n : 클래스 소속도의 영향도.
PDF' : 해당 분류 대상 데이터의 클래스 소속도가 반영된 새로운 확률 밀도 함수.
상기 복수 개의 분류 대상 데이터들을 라벨링하는 단계는, 각 분류 대상 데이터들의 군집 포함 여부로 이진 분류하여 라벨링 할 수 있다.
상기 분류 모델을 생성하는 단계 이후에, 상기 생성된 분류 모델의 정확도를 검증하는 단계를 더 포함할 수 있다.
상기 분류 모델의 정확도를 검증하는 단계는, 테스트 데이터의 클래스 소속도 값을 이용하여 복수 개의 테스트 데이터들을 라벨링하는 단계; 및 상기 라벨링된 테스트 데이터를 상기 분류 모델에 대입하여 상기 분류 모델의 정확도를 계산하는 단계를 포함할 수 있다.
상기 분류 모델의 정확도를 계산하는 단계 이후에, 상기 분류 모델의 정확도가 목표 성능에 도달하지 못한 경우, 상기 클래스 소속도의 반영 정도를 조정하여 복수 개의 분류 대상 데이터들의 벡터를 재군집화 하는 단계를 더 포함할 수 있다.
상기 분류 모델의 정확도를 계산하는 단계는, 상기 테스트 데이터의 라벨링에 따른 분류 결과와 상기 테스트 데이터의 상기 분류 모델에 따른 분류 결과와의 일치 정도에 따라 계산할 수 있다.
상기 분류 모델을 생성하는 단계 이후에, 데이터 수집부로부터 입력 데이터를 수신하는 단계; 및 수신한 상기 입력 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 상기 데이터 수집부로 전송하는 단계를 더 포함할 수 있다.
상기 클래스 소속도는, 상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출될 수 있다.
상기 클래스 소속도는, 하기 수학식을 통해 산출될 수 있다.
(수학식)
Figure 112013098683114-pat00004
x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
a 및 b : 보정 계수.
본 발명의 일 실시예에 따른 데이터 수집 시스템은, 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화하고, 상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하며, 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 데이터 분류 장치; 및 소정 주기로 데이터를 수집하여 상기 데이터 분류 장치로 전송하는 데이터 수집 장치를 포함하며, 상기 데이터 수집 장치는, 상기 수집된 데이터가 상기 분류 모델에 의해 분류된 결과에 따라 데이터의 수집 주기를 변경한다.
상기 데이터 수집 장치는, 상기 수집된 데이터가 장애로 분류되는 경우, 상기 데이터의 수집 주기를 단축시킬 수 있다.
상기 클래스 소속도는, 상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출될 수 있다.
상기 클래스 소속도는, 하기 수학식을 통해 산출될 수 있다.
(수학식)
Figure 112013098683114-pat00005
x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
a 및 b : 보정 계수.
본 발명의 실시예에 의하면, 훈련 데이터에 포함된 클래스 소속도를 반영하여 훈련 데이터를 군집화 하고, 군집화된 결과에 따라 훈련 데이터를 라벨링하며, 라벨링된 훈련 데이터를 입력 데이터로 하여 분류 모델을 생성함으로써, 낮은 신뢰도의 클래스 소속도를 가진 훈련 데이터라 하더라도 데이터의 분류 성능을 향상시킬 수 있게 된다. 그리고, 입력되는 데이터들을 군집화된 결과에 따라 라벨링을 한 후 분류하기 때문에, 라벨이 불명확한 데이터의 경우에도 효과적으로 분류할 수 있게 된다. 또한, 분류 모델의 정확도가 목표 값에 미달한 경우, 클래스 소속도의 반영 정도를 조정함으로써, 분류 모델의 성능을 최적화 시킬 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 데이터 분류 장치의 구성을 나타낸 도면.
도 2는 수학식 1에서 a 및 b를 2로 설정한 경우의 클래스 소속도 함수(f(x))를 나타낸 도면.
도 3은 클래스 소속도를 고려하지 않은 경우와 클래스 소속도를 고려한 경우의 군집 결과를 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 데이터 분류 방법을 나타낸 순서도.
도 5는 본 발명의 일 실시예에 따른 데이터 분류 장치를 이용한 장애 예측 시스템을 나타낸 도면.
이하, 도 1 내지 도 5를 참조하여 본 발명의 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템의 구체적인 실시예를 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 일 실시예에 따른 데이터 분류 장치의 구성을 나타낸 도면이다.
도 1을 참조하면, 데이터 분류 장치(100)는 군집 파라미터 결정부(102), 군집화부(104), 분류 모델 생성부(106), 및 검증부(108)를 포함한다.
군집 파라미터 결정부(102)는 입력되는 복수 개의 훈련 데이터들을 1차 군집화(또는 그룹화) 할 때 군집 결과를 최적화 할 수 있는 군집 파라미터 값이 무엇인지를 결정한다. 즉, 군집 파라미터 결정부(102)는 복수 개의 훈련 데이터들의 군집 파라미터 값을 최적화하는 역할을 한다. 군집 파라미터 결정부(102)는 복수 개의 훈련 데이터들을 1차 군집화 할 때 기 설정된 조건을 만족하는 최적의 군집 결과를 도출할 수 있는 군집 파라미터 값이 무엇인지를 결정할 수 있다. 예를 들어, 군집 파라미터 결정부(102)는 복수 개의 훈련 데이터들을 k-means 군집 기법에 의해 1차 군집화하는 경우, 1) 군집 내 훈련 데이터들의 유사도가 기 설정된 값을 초과하고, 2) 군집들 간의 거리가 기 설정된 값을 초과하는 조건을 만족하여 최적의 군집 결과를 도출할 수 있는 군집 파라미터 값을 결정 할 수 있다. 여기서, 복수 개의 훈련 데이터들을 1차 군집화 할 때 각 군집 기법 마다 최적화해야 하는 군집 파라미터가 달라질 수 있다. 군집 파라미터 결정부(102)는 복수 개의 훈련 데이터들을 1차 군집화 할 때 군집 기법에 따라 최적화해야 하는 군집 파라미터를 선택한 후, 선택한 군집 파라미터의 값을 최적화 할 수 있다. 동일한 군집 기법이라 하더라도 훈련 데이터들의 종류 및 특성에 따라 최적화 된 군집 파라미터의 값이 달라질 수 있다. 군집 파라미터 결정부(102)는 동일한 훈련 데이터들에 대해 군집 파라미터의 값을 변경해가면서 군집 결과를 비교하여 최적의 군집 결과를 나타내는 군집 파라미터 값을 결정할 수 있다. 군집 기법의 선택, 각 군집 기법에 따른 군집 파라미터의 최적화 방법, 군집 결과의 평가 지표 등은 본 발명의 범위를 벗어나므로 이에 대한 자세한 설명은 생략하기로 한다.
한편, 상기 훈련 데이터는 고유 식별 정보, 클래스 소속도, 및 속성(Attribute)값을 포함한다. 하기 표 2는 본 발명의 일 실시예에 따른 훈련 데이터를 나타낸 것이다. 여기서는, 훈련 데이터의 일 실시예로 서버의 상태 값을 나타내었지만, 훈련 데이터가 이에 한정되는 것은 아니다.
고유 식별 정보 클래스 소속도 CPU 사용률 CPU 실행 큐 CPU 대기 시간 메모리 사용률 메모리 페이지 아웃 메모리 사용량 스왑(Swap) 사용량 파일 시스템 사용률
FLDBPD01.cvs@20120101-0035
27.83

74.15

19252.68

450.1

3.7

23.15

0.0

2.35

3.45
FLDBPD01.cvs@20120101-0010
7.31

23.01

8012.1

1.21

1.5

941.2

3.75

97.2

40.12
trust-db.csv@20120927-1915
70.1

4.38

48192.69

96.8

98.24

8434.5

0.0

99.9

90.53
여기서, 고유 식별 정보는 해당 훈련 데이터를 다른 훈련 데이터와 구별할 수 있는 정보를 말한다. 클래스 소속도는 해당 훈련 데이터의 특정 사건과의 연관성 정도를 나타낸다. 예를 들어, 클래스 소속도는 해당 훈련 데이터의 서버 장애와의 연관성 정도를 나타낼 수 있다. 속성값은 훈련 데이터에 포함되는 각 속성들의 값을 나타낸다. 예를 들어, 속성값으로는 소정 시간에 해당 서버(또는 장치)의 각 성능 수치, 동작 수치, 주변 환경(온도, 습도, 압력 등)을 측정한 값이 될 수 있다. 그러나, 이에 한정되는 것은 아니며 속성값은 훈련 데이터가 어떤 속성을 포함하는지에 따라 다양한 종류의 값이 될 수 있다. 상기 표 1에서 속성값으로는 CPU 사용률, CPU 실행 큐, CPU 대기 시간, 메모리 사용률, 메모리 페이지 아웃, 메모리 사용량(예를 들어, 파일 캐쉬를 제외한 실제 사용 영역의 사용량), 스왑(Swap) 사용량, 파일 시스템 사용률 등이 있다. 훈련 데이터는 적어도 하나의 속성값을 포함하며, 각 속성값들의 집합을 벡터(Vector)로 나타낼 수 있다. 군집 파라미터 결정부(102)는 복수 개의 훈련 데이터들의 각 벡터들을 1차 군집화 할 때 최적의 군집 결과를 도출하는 군집 파라미터 값을 결정하게 된다.
클래스 소속도가 훈련 데이터에 포함되지 않은 상태로 데이터 분류 장치(100)에 입력되는 경우, 데이터 분류 장치(100)는 해당 훈련 데이터의 발생 시점과 특정 이벤트(예를 들어, 서버 장애)의 발생 시점 간의 차이에 따른 연관도로 해당 훈련 데이터의 클래스 소속도를 계산할 수 있다. 즉, 훈련 데이터가 발생한 이후에 언제 특정 이벤트가 발생하였는가에 따라 해당 훈련 데이터의 특정 이벤트와의 연관성 정도(클래스 소속도)를 계산할 수 있다. 데이터 분류 장치(100)는 소정 훈련 데이터의 클래스 소속도를 계산하기 위해 다음 수학식 1과 같은 로지스틱 함수를 이용할 수 있다.
Figure 112013098683114-pat00006
여기서, x는 훈련 데이터의 발생 시점과 특정 이벤트의 발생 시점 간의 차이를 나타낸다. a 및 b는 훈련 데이터의 특성에 따라 설정되는 보정 계수를 나타낸다.
도 2는 수학식 1에서 a 및 b를 2로 설정한 경우의 클래스 소속도 함수(f(x))를 나타낸 도면이다. 도 2를 참조하면, 훈련 데이터의 발생 시점 이후 10분에 서버 장애(즉, 특정 이벤트)가 발생한 경우, 해당 훈련 데이터의 클래스 소속도는 0.992769인 것을 볼 수 있다. 훈련 데이터의 발생 시점 이후 1시간 15분에 서버 장애가 발생한 경우, 해당 훈련 데이터의 클래스 소속도는 0.832548인 것을 볼 수 있다. 훈련 데이터의 발생 시점 이후 2시간 30분에 서버 장애가 발생한 경우, 해당 훈련 데이터의 클래스 소속도는 0.273867인 것을 볼 수 있다. 도 2에 의하면, 훈련 데이터의 발생 시점으로부터 서버 장애가 발생한 시점이 늦어질 수록 해당 훈련 데이터의 클래스 소속도가 줄어드는 것을 볼 수 있다. 이와 같이, 클래스 소속도 함수(f(x))를 이용하면 해당 훈련 데이터의 클래스 소속도를 계산할 수 있게 된다.
군집화부(104)는 군집 파라미터 결정부(102)에서 결정된 군집 파라미터 값을 이용하여 복수 개의 훈련 데이터들을 2차 군집화(재군집화) 한다. 군집화부(104)는 예를 들어, k-means 군집 또는 디리클레 군집 등의 군집 기법을 사용하여 유사성이 있는 훈련 데이터들끼리 군집화 하게 된다. 그러나, 이에 한정되는 것은 아니며 군집화부(104)는 그 이외의 다양한 군집 기법을 사용할 수 있다. 군집화부(104)는 상기 결정된 군집 파라미터 값을 이용하여 복수 개의 훈련 데이터들(즉, 복수 개의 훈련 데이터들의 각 벡터들)을 재군집화 하되, 각 훈련 데이터에 포함된 클래스 소속도를 반영하여 복수 개의 훈련 데이터들을 재군집화 할 수 있다.
즉, 일반적인 군집 기법은 해당 군집 기법에 설정된 확률 밀도 함수(Probability Density Function : PDF)로 각 훈련 데이터의 특정 군집에 대한 포함 여부를 결정하게 되나, 군집화부(104)는 확률 밀도 함수(PDF)에 각 훈련 데이터의 클래스 소속도를 반영하여 특정 군집에 대한 포함 여부를 결정하게 된다. 구체적으로, 군집화부(104)는 다음 수학식 2에 기재된 군집 함수를 통해 복수 개의 훈련 데이터들을 재군집화 할 수 있다.
Figure 112013098683114-pat00007
여기서, PDF는 해당 군집 기법의 확률 밀도 함수를 나타내고, n은 클래스 소속도의 영향도를 나타낸다. 즉, n > 1 인 경우, 군집화 과정에서 클래스 소속도의 영향이 상대적으로 커지게 되고, n < 1인 경우, 군집화 과정에서 클래스 소속도의 영향이 상대적으로 작아지게 된다. 클래스 소속도의 영향도(n)는 복수 개의 훈련 데이터들을 재군집화 할 때, 클래스 소속도를 어느 정도 반영할 것인지(즉, 어느 정도의 가중치를 부여할 것인지)에 따라 결정될 수 있다. PDF'는 해당 훈련 데이터의 클래스 소속도가 반영된 새로운 확률 밀도 함수를 나타낸다.
예를 들어, 군집화부(104)가 복수 개의 훈련 데이터들에 대해 k-means 기법을 사용하여 재군집화 하는 경우, 군집화부(104)는 수학식 3에 기재된 군집 함수를 통해 복수 개의 훈련 데이터들을 재군집화 할 수 있다.
Figure 112013098683114-pat00008
여기서, dist는 해당 군집의 중심과 해당 훈련 데이터 간의 거리를 나타낸다.
수학식 3에 의하면, 1) 클래스 소속도가 높고 군집의 중심과의 거리가 짧은 훈련 데이터는 해당 군집에 속하게 된다. 2) 클래스 소속도가 높더라도 군집의 중심과의 거리가 먼(즉, 해당 군집의 대표성이 약한) 훈련 데이터는 해당 군집에 속하지 않게 된다. 다만, 해당 군집의 대표성이 약하더라도 클래스 소속도가 충분히 높은 경우 해당 군집에 속할 수도 있다. 3) 클래스 소속도의 크기가 어중간하거나 낮은 경우, 군집의 중심과의 거리가 해당 군집에 속하는지 여부를 판단하는 기준이 될 수 있다. 즉, 클래스 소속도가 크게 높지 않더라도 군집의 중심과의 거리가 짧은 훈련 데이터는 해당 군집에 속할 수 있다.
도 3은 클래스 소속도를 고려하지 않은 경우와 클래스 소속도를 고려한 경우의 군집 결과를 나타낸 도면이다. 여기서는, k-means 기법으로 군집화 한 경우를 나타내었다. 도 3에서 도시된 점은 2차원 유클리드 평면 상에 투영된 훈련 데이터를 나타낸다. 점의 진한 정도는 클래스 소속도를 나타내고, 점이 진할 수록 클래스 소속도가 높음을 나타낸다.
도 3의 (a)를 참조하면, 클래스 소속도를 고려하지 않은 경우, 훈련 데이터들의 밀집 정도에 따라 3개의 군집이 나타나는 것을 볼 수 있다. 여기서는, 군집의 중심과 각 훈련 데이터 간의 거리만으로 해당 훈련 데이터의 군집 포함 여부가 결정됨을 볼 수 있다.
도 3의 (b)를 참조하면, 클래스 소속도를 고려한 경우, 도 3의 (a)와 비교하여 군집의 개수가 2개로 줄어 들고, 군집의 결과도 다르게 나타나는 것을 볼 수 있다. 클래스 소속도를 반영하여 군집화 한 경우, 도 3의 (a)에서 클래스 소속도가 낮은 훈련 데이터들이 속한 군집이 사라진 것을 볼 수 있고, 여전히 존재하는 군집에서도 클래스 소속도에 따라 훈련 데이터의 군집 포함 여부가 달라지는 것을 볼 수 있다.
분류 모델 생성부(106)는 복수 개의 훈련 데이터들을 재군집화 한 결과에 따라 라벨링을 하고, 라벨링된 훈련 데이터들을 이용하여 분류 모델을 생성한다. 분류 모델 생성부(106)는 재군집화 한 결과에 따라 각 훈련 데이터들을 2개의 분류(즉, 이진 분류)로 라벨링할 수 있다. 예를 들어, 분류 모델 생성부(106)는 재군집화 한 결과에 따라 소정 군집에 속한 훈련 데이터는 이상(Abnormal : A)으로 라벨링하고, 어떤 군집에도 속하지 않은 훈련 데이터는 정상(Normal : N)으로 라벨링할 수 있다. 분류 모델 생성부(106)는 이진 분류로 라벨링된 훈련 데이터들을 입력 데이터로 하여 분류 모델을 생성할 수 있다. 분류 모델 생성부(106)는 예를 들어, 나이브 베이지안(Naive Bayesian), 랜덤 포레스트(Random Forest), 서포트 벡터 머신(SVM) 등의 분류 기법을 사용하여 분류 모델을 생성할 수 있으나, 이에 한정되는 것은 아니며 그 이외의 다양한 분류 기법을 사용할 수 있다.
검증부(108)는 분류 모델 생성부(106)가 생성한 분류 모델의 정확도를 검증할 수 있다. 이때, 검증부(108)는 훈련 데이터와 동일한 형태의 테스트 데이터를 이용하여 상기 분류 모델의 정확도를 검증할 수 있다. 테스트 데이터는 훈련 데이터와 같이 고유 식별 정보, 클래스 소속도, 및 속성값을 포함한다. 구체적으로, 검증부(108)는 입력되는 테스트 데이터에 포함된 클래스 소속도 값을 이용하여 각 테스트 데이터를 라벨링할 수 있다. 이때, 검증부(108)는 클래스 소속도가 기 설정된 값 이상이면 해당 테스트 데이터를 이상(A)으로 분류하고, 클래스 소속도가 기 설정된 값 미만이면 해당 테스트 데이터를 정상(N)으로 분류할 수 있다. 다음으로, 검증부(108)는 라벨링 된 테스트 데이터를 분류 모델 생성부(106)가 생성한 분류 모델에 입력한 후 분류된 결과를 확인하여 상기 분류 모델의 정확도를 계산할 수 있다.
라벨링 N 라벨링 A
분류 N 2300319 280211
분류 A 4606 3809
표 3은 분류 모델 생성부(106)가 생성한 분류 모델의 정확도를 검증하기 위한 일 실시예를 나타낸 표이다. 표 3을 참조하면, 총 2588945개의 테스트 데이터가 사용되었다. 여기서, 정상(N)으로 라벨링된 2304925개의 테스트 데이터를 상기 분류 모델에 대입한 결과, 2300319개가 정상(N)으로 분류되었고, 4606개가 이상(A)으로 분류되었다. 이상(A)으로 라벨링된 284020개의 테스트 데이터를 상기 분류 모델에 대입한 결과, 280211개가 정상(N)으로 분류되었고, 3809개가 이상(A)으로 분류되었다. 표 2에 나타난 분류 결과를 통해 분류 모델의 정확도 및 오류율을 살펴보면 다음과 같다.
Figure 112013098683114-pat00009
Figure 112013098683114-pat00010
한편, 데이터 분류 장치(100)는 소정 수집 주기로 데이터를 수집하는 데이터 수집부(미도시)로부터 입력 데이터를 수신하는 경우, 입력 데이터를 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 데이터 수집부(미도시)로 전송할 수 있다. 예를 들어, 데이터 수집부(미도시)로부터 수집한 입력 데이터를 분류 모델에 대입한 결과 장애(Abnormal)로 분류된 경우, 데이터 분류 장치(100)는 데이터의 수집 주기를 단축시키라는 내용의 데이터 수집 주기 변경 신호를 데이터 수집부(미도시)로 전송할 수 있다.
본 발명의 실시예에 의하면, 훈련 데이터에 포함된 클래스 소속도를 반영하여 훈련 데이터를 군집화 하고, 군집화된 결과에 따라 훈련 데이터를 라벨링하며, 라벨링된 훈련 데이터를 입력 데이터로 하여 분류 모델을 생성함으로써, 낮은 신뢰도의 클래스 소속도를 가진 훈련 데이터라 하더라도 데이터의 분류 성능을 향상시킬 수 있게 된다. 그리고, 입력되는 데이터들을 군집화된 결과에 따라 라벨링을 한 후 분류하기 때문에, 라벨이 불명확한 데이터의 경우에도 효과적으로 분류할 수 있게 된다. 또한, 분류 모델의 정확도가 목표 값에 미달한 경우, 클래스 소속도의 반영 정도를 조정함으로써, 분류 모델의 성능을 최적화 시킬 수 있게 된다.
* 비교예
(1) 대조군: 군집 과정을 거치지 않은 훈련 데이터를 분류기에 바로 대입하여 분류 모델을 생성함.
(2) 실험군: 클래스 소속도를 반영하여 군집 과정을 거친 훈련 데이터를 분류기에 대입하여 분류 모델을 생성함.
(3) 실험 환경: 분석 패키지 - mahout v0.7, 군집 알고리즘 - k-means clustering, 분류기 알고리즘 - naive bayes classifier
(4) 데이터 구성: 특정 시간 간격에 따라 모니터링 된 서버 성능 데이터로서, 훈련 데이터 6,378,481개, 테스트 데이터 2,588,945개가 사용됨.
(5) 실험 결과
1) 대조군의 경우
라벨링 N 라벨링 A
분류 N 218355 396975
분류 A 3735 4680
Figure 112013098683114-pat00011
2) 실험군의 경우
라벨링 N 라벨링 A
분류 N 2402863 177667
분류 A 5511 2904
Figure 112013098683114-pat00012
위에서 보는 바와 같이, 군집 과정을 거치지 않고 훈련 데이터를 바로 대입하여 분류 모델을 생성한 경우의 정확도는 35.8%이고, 클래스 소속도를 반영하여 군집 과정을 거친 훈련 데이터를 분류기에 대입하여 분류 모델을 생성한 경우의 정확도는 92.9%인 것을 볼 수 있다. 즉, 실험군의 경우 대조군과 대비하여 그 정확도가 약 2.6배 향상된 것을 확인할 수 있다. 이는 클래스 소속도를 반영한 군집 과정이 낮은 신뢰도의 클래스 소속도를 가진 훈련 데이터에 대한 분류 성능 향상에 기여한 때문이다.
도 4는 본 발명의 일 실시예에 따른 데이터 분류 방법을 나타낸 순서도이다.
도 4를 참조하면, 데이터 분류 장치(100)는 입력되는 복수 개의 훈련 데이터들을 1차 군집화 한다(S 101). 예를 들어, 데이터 분류 장치(100)는 k-means 군집 또는 디리클레 군집 등의 군집 기법을 사용하여 유사성이 있는 훈련 데이터들의 벡터들끼리 1차 군집화 할 수 있다. 데이터 분류 장치(100)는 군집 기법에 따라 군집 파라미터를 선택하고, 소정의 군집 파라미터 값을 이용하여 복수 개의 훈련 데이터들의 각 벡터들을 1차 군집화 할 수 있다.
다음으로, 데이터 분류 장치(100)는 1차 군집화의 군집 결과가 최적인지 여부를 확인한다(S 103). 데이터 분류 장치(100)는 1차 군집화의 군집 결과가 기 설정된 조건을 만족하여 최적의 군집 결과를 나타내는지 여부를 확인할 수 있다. 예를 들어, 데이터 분류 장치(100)가 복수 개의 훈련 데이터들을 k-means 군집 기법에 의해 1차 군집화하는 경우, 1) 군집 내 훈련 데이터들의 유사도가 기 설정된 값을 초과하고, 2) 군집들 간의 거리가 기 설정된 값을 초과하는 조건을 만족하는지 여부에 따라 군집 결과가 최적인지를 확인할 수 있다.
단계 S 103의 확인 결과, 1차 군집화의 군집 결과가 최적이 아닌 경우, 데이터 분류 장치(100)는 군집 파라미터의 값을 조정하여 다시 1차 군집화를 수행한다(S 105). 데이터 분류 장치(100)는 군집 파라미터 값의 조정에 따른 군집 결과가 최적인지 여부를 다시 확인하고, 최적의 군집 결과가 나올때까지 이러한 과정을 반복하게 된다.
단계 S 103의 확인 결과, 1차 군집화의 군집 결과가 최적인 경우, 데이터 분류 장치(100)는 최적의 군집 결과를 나타낸 군집 파라미터 값 및 각 훈련 데이터의 클래스 소속도를 이용하여 복수 개의 훈련 데이터들의 각 벡턱들을 재군집화 한다(S 107). 데이터 분류 장치(100)는 상기 수학식 2를 이용하여 복수 개의 훈련 데이터들의 각 벡터들을 재군집화 할 수 있다.
다음으로, 데이터 분류 장치(100)는 재군집화 한 결과에 따라 복수 개의 훈련 데이터들을 라벨링한다(S 109). 예를 들어, 데이터 분류 장치(100)는 재군집화 한 결과에 따라 소정 군집에 속한 훈련 데이터는 이상(Abnormal : A)으로 라벨링하고, 어떤 군집에도 속하지 않은 훈련 데이터는 정상(Normal : N)으로 라벨링할 수 있다.
다음으로, 데이터 분류 장치(100)는 라벨링된 훈련 데이터들을 입력 데이터로 하여 분류 모델을 생성한다(S 111). 데이터 분류 장치(100)는 예를 들어, 나이브 베이지안(Naive Bayesian), 랜덤 포레스트(Random Forest), 서포트 벡터 머신(SVM) 등의 분류 기법을 사용하여 분류 모델을 생성할 수 있으나, 이에 한정되는 것은 아니며 그 이외의 다양한 분류 기법을 사용할 수 있다.
다음으로, 데이터 분류 장치(100)는 분류 모델의 정확도를 검증한다(S 113). 데이터 분류 장치(100)는 입력되는 테스트 데이터에 포함된 클래스 소속도 값을 이용하여 각 테스트 데이터를 라벨링하고, 라벨링 된 테스트 데이터를 상기 분류 모델에 입력한 후 분류된 결과를 확인하여 상기 분류 모델의 정확도를 검증할 수 있다.
다음으로, 데이터 분류 장치(100)는 분류 모델의 정확도가 목표 값에 도달하였는지 여부를 확인한다(S 115). 단계 S 115의 확인 결과, 분류 모델의 정확도가 목표 값에 도달하지 못한 경우, 데이터 분류 장치(100)는 클래스 소속도의 영향도 값을 조정하여 복수 개의 훈련 데이터들의 각 벡터들을 재군집화 한다(S 117). 즉, 분류 모델의 정확도가 목표 값에 도달하지 못한 경우, 데이터 분류 장치(100)는 수학식 2에서 클래스 소속도의 영향도(n) 값을 조정하여 복수 개의 훈련 데이터들의 각 벡터들을 재군집화 할 수 있다. 그 후, 데이터 분류 장치(100)는 재군집화 한 결과에 따라 복수 개의 훈련 데이터들을 라벨링하고, 라벨링된 훈련 데이터들을 이용하여 분류 모델을 재생성하며, 재생성한 분류 모델의 정확도가 목표 값에 도달하기까지 이러한 과정을 반복하게 된다.
도 5는 본 발명의 일 실시예에 따른 데이터 분류 장치를 이용한 장애 예측 시스템을 나타낸 도면이다.
도 5를 참조하면, 장애 예측 시스템(200)은 훈련 서버(202), 대상 서버(204), 장애 예측 서버(206), 및 관리자 단말기(208)를 포함한다.
훈련 서버(202)는 대상 서버(204)와 동일 또는 유사한 동작(또는 기능)을 수행하는 서버이다. 훈련 서버(202)는 대상 서버(204)와 동일한 종류의 서버일 수 있다. 훈련 서버(202)는 훈련 서버(202)의 성능, 동작 수치, 및 주변 환경 등을 측정한 데이터를 장애 예측 서버(206)로 전송한다. 훈련 서버(202)가 전송한 데이터들은 장애 예측 서버(206)에서 훈련 데이터와 테스트 데이터로 구분되어 사용될 수 있다.
대상 서버(204)는 장애 예측 시스템(200)에서 장애 여부를 예측하고자 하는 대상이 되는 서버이다. 대상 서버(204)는 대상 서버(204)의 성능, 동작 수치, 및 주변 환경 등을 측정한 데이터를 장애 예측 서버(206)로 전송한다. 대상 서버(204)는 상기 측정한 데이터를 실시간(또는 주기적)으로 장애 예측 서버(206)에 전송할 수 있다.
장애 예측 서버(206)는 데이터 분류 장치(211) 및 장애 예측 장치(214)를 포함한다. 데이터 분류 장치(211)는 훈련 서버(202)로부터 전송받은 데이터들에 대해 장애 관련도(즉, 클래스 소속도)를 라벨링 한 후, 훈련 데이터와 테스트 데이터로 구분할 수 있다. 데이터 분류 장치(211)는 훈련 데이터들의 장애 관련도를 반영하여 훈련 데이터들을 군집화 하고, 군집 결과에 따라 훈련 데이터들을 라벨링하며, 라벨링된 훈련 데이터들을 입력 데이터로 하여 분류 모델을 생성할 수 있다. 데이터 분류 장치(211)는 테스트 데이터를 이용하여 분류 모델의 성능을 검증할 수 있다. 데이터 분류 장치(211)에 대한 구성 및 동작은 위에서 설명하였으므로 이에 대한 자세한 설명은 생략하기로 한다. 장애 예측 장치(214)는 대상 서버(204)로부터 데이터가 전송되는 경우, 해당 데이터를 상기 분류 모델에 대입하여 대상 서버(204)의 장애를 예측한다. 장애 예측 장치(214)는 장애 발생 가능성이 기 설정된 임계치를 초과하는 경우, 관리자 단말기(208)로 대상 서버(204)의 장애 발생 가능성을 통보할 수 있다. 여기서, 장애 발생 가능성에 대한 임계치는 상기 분류 모델의 성능에 따라 결정될 수 있다. 그리고, 장애 예측 장치(214)는 대상 서버(204)로부터 수신한 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 대상 서버(204)로 전송할 수 있다. 예를 들어, 대상 서버(214)로부터 수신한 데이터를 분류 모델에 대입한 결과 장애(Abnormal)로 분류된 경우, 장애 예측 장치(214)는 데이터의 수집 주기를 단축시키라는 내용의 데이터 수집 주기 변경 신호를 대상 서버(204)로 전송할 수 있다. 여기서는, 데이터 분류 장치(211) 및 장애 예측 장치(214)가 별개로 구현된 것으로 도시하였으나, 이에 한정되는 것은 아니며 데이터 분류 장치(211) 및 장애 예측 장치(214)를 일체로 구현할 수도 있다.
관리자 단말기(208)는 장애 예측 서버(206)로부터 대상 서버(204)의 장애 발생 가능성이 통보된 경우, 경고음이나 경고등을 발생하여 관리자에게 경고할 수 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터 상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기록매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 데이터 분류 장치
102 : 군집 파라미터 결정부 104 : 군집화부
106 : 분류 모델 생성부 108 : 검증부
200 : 장애 예측 시스템
202 : 훈련 서버 204 : 대상 서버
206 : 장애 예측 서버 208 : 관리자 단말기
211 : 데이터 분류 장치 214 : 장애 예측 장치

Claims (28)

  1. 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화하는 군집화부;
    상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하고, 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 분류 모델 생성부; 및
    상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화하는 군집 파라미터 결정부를 포함하고,
    상기 군집화부는, 상기 군집 파라미터 값 및 상기 군집화에 이용된 군집 기법의 확률 밀도 함수(PDF)에 상기 분류 대상 데이터의 클래스 소속도를 반영한 확률 밀도 함수(PDF')를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화하는, 데이터 분류 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 군집 파라미터 결정부는,
    군집 내 상기 벡터들의 유사도가 기 설정된 값을 초과하고, 군집들 간의 거리가 기 설정된 값을 초과하는지 여부에 따라 상기 군집 파라미터 값을 최적화하는, 데이터 분류 장치.
  4. 제1항에 있어서,
    상기 군집화부는,
    하기 수학식을 통해 상기 복수 개의 분류 대상 데이터들의 벡터를 재군집화 하는, 데이터 분류 장치.
    (수학식)
    Figure 112017022612713-pat00013

    PDF : 상기 군집 기법의 확률 밀도 함수.
    n : 클래스 소속도의 영향도.
    PDF' : 상기 분류 대상 데이터의 클래스 소속도를 반영한 확률 밀도 함수.
  5. 제1항에 있어서,
    상기 분류 모델 생성부는,
    각 분류 대상 데이터들의 군집 포함 여부로 이진 분류하여 라벨링하는, 데이터 분류 장치.
  6. 제1항에 있어서,
    상기 데이터 분류 장치는,
    상기 생성된 분류 모델의 정확도를 검증하는 검증부를 더 포함하는, 데이터 분류 장치.
  7. 제6항에 있어서,
    상기 검증부는,
    테스트 데이터의 클래스 소속도 값을 이용하여 복수 개의 테스트 데이터들을 라벨링하고, 상기 라벨링된 테스트 데이터를 상기 분류 모델에 대입하여 상기 분류 모델의 정확도를 계산하는, 데이터 분류 장치.
  8. 제7항에 있어서,
    상기 군집화부는,
    상기 분류 모델의 정확도가 목표 성능에 도달하지 못한 경우, 상기 클래스 소속도의 반영 정도를 조정하여 복수 개의 분류 대상 데이터들의 벡터를 재군집화하는, 데이터 분류 장치.
  9. 제7항에 있어서,
    상기 검증부는,
    상기 테스트 데이터의 라벨링에 따른 분류 결과와 상기 테스트 데이터의 상기 분류 모델에 따른 분류 결과와의 일치 정도에 따라 상기 분류 모델의 정확도를 계산하는, 데이터 분류 장치.
  10. 제1항에 있어서,
    상기 데이터 분류 장치는,
    데이터 수집부로부터 입력 데이터를 수신하고, 수신한 입력 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 상기 데이터 수집부로 전송하는 통신부를 더 포함하는, 데이터 분류 장치.
  11. 제1항에 있어서,
    상기 클래스 소속도는,
    상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출되는, 데이터 분류 장치.
  12. 제1항에 있어서,
    상기 클래스 소속도는,
    하기 수학식을 통해 산출되는, 데이터 분류 장치.
    (수학식)
    Figure 112013098683114-pat00014

    x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
    a 및 b : 보정 계수.
  13. 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화 하는 단계;
    상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하는 단계;
    상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 단계;
    상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화하는 단계; 및
    상기 군집 파라미터 값 및 상기 군집화에 이용된 군집 기법의 확률 밀도 함수(PDF)에 상기 분류 대상 데이터의 클래스 소속도를 반영한 확률 밀도 함수(PDF')를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화하는 단계를 포함하는, 데이터 분류 방법.
  14. 삭제
  15. 제13항에 있어서,
    상기 군집 파라미터 값을 최적화하는 단계는,
    군집 내 상기 벡터들의 유사도가 기 설정된 값을 초과하고, 군집들 간의 거리가 기 설정된 값을 초과하는지 여부에 따라 상기 군집 파라미터 값을 최적화하는, 데이터 분류 방법.
  16. 제13항에 있어서,
    상기 재군집화 하는 단계는,
    하기 수학식을 통해 상기 복수 개의 분류 대상 데이터들의 벡터를 재군집화 하는, 데이터 분류 방법.
    (수학식)
    Figure 112017022612713-pat00015

    PDF : 상기 군집 기법의 확률 밀도 함수.
    n : 클래스 소속도의 영향도.
    PDF' : 상기 분류 대상 데이터의 클래스 소속도를 반영한 확률 밀도 함수.
  17. 제13항에 있어서,
    상기 복수 개의 분류 대상 데이터들을 라벨링하는 단계는,
    각 분류 대상 데이터들의 군집 포함 여부로 이진 분류하여 라벨링하는, 데이터 분류 방법.
  18. 제13항에 있어서,
    상기 분류 모델을 생성하는 단계 이후에,
    상기 생성된 분류 모델의 정확도를 검증하는 단계를 더 포함하는, 데이터 분류 방법.
  19. 제18항에 있어서,
    상기 분류 모델의 정확도를 검증하는 단계는,
    테스트 데이터의 클래스 소속도 값을 이용하여 복수 개의 테스트 데이터들을 라벨링하는 단계; 및
    상기 라벨링된 테스트 데이터를 상기 분류 모델에 대입하여 상기 분류 모델의 정확도를 계산하는 단계를 포함하는, 데이터 분류 방법.
  20. 제19항에 있어서,
    상기 분류 모델의 정확도를 계산하는 단계 이후에,
    상기 분류 모델의 정확도가 목표 성능에 도달하지 못한 경우, 상기 클래스 소속도의 반영 정도를 조정하여 복수 개의 분류 대상 데이터들의 벡터를 재군집화 하는 단계를 더 포함하는, 데이터 분류 방법.
  21. 제19항에 있어서,
    상기 분류 모델의 정확도를 계산하는 단계는,
    상기 테스트 데이터의 라벨링에 따른 분류 결과와 상기 테스트 데이터의 상기 분류 모델에 따른 분류 결과와의 일치 정도에 따라 계산하는, 데이터 분류 방법.
  22. 제13항에 있어서,
    상기 분류 모델을 생성하는 단계 이후에,
    데이터 수집부로부터 입력 데이터를 수신하는 단계; 및
    수신한 상기 입력 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 상기 데이터 수집부로 전송하는 단계를 더 포함하는, 데이터 분류 방법.
  23. 제13항에 있어서,
    상기 클래스 소속도는,
    상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출되는, 데이터 분류 방법.
  24. 제13항에 있어서,
    상기 클래스 소속도는,
    하기 수학식을 통해 산출되는, 데이터 분류 방법.
    (수학식)
    Figure 112013098683114-pat00016

    x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
    a 및 b : 보정 계수.
  25. 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화하고, 상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하며, 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 데이터 분류 장치; 및
    소정 주기로 데이터를 수집하여 상기 데이터 분류 장치로 전송하는 데이터 수집 장치를 포함하며,
    상기 데이터 수집 장치는, 상기 수집된 데이터가 상기 분류 모델에 의해 분류된 결과에 따라 데이터의 수집 주기를 변경하며,
    상기 데이터 분류 장치는, 상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화 하고, 상기 군집 파라미터 값 및 상기 군집화에 이용된 군집 기법의 확률 밀도 함수(PDF)에 상기 분류 대상 데이터의 클래스 소속도를 반영한 확률 밀도 함수(PDF')를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화하는, 데이터 수집 시스템.
  26. 제25항에 있어서,
    상기 데이터 수집 장치는,
    상기 수집된 데이터가 장애로 분류되는 경우, 상기 데이터의 수집 주기를 단축시키는, 데이터 수집 시스템.
  27. 제25항에 있어서,
    상기 클래스 소속도는,
    상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출되는, 데이터 수집 시스템.
  28. 제25항에 있어서,
    상기 클래스 소속도는,
    하기 수학식을 통해 산출되는, 데이터 수집 시스템.
    (수학식)
    Figure 112013098683114-pat00017

    x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
    a 및 b : 보정 계수.
KR1020130130180A 2013-10-30 2013-10-30 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템 KR101768438B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020130130180A KR101768438B1 (ko) 2013-10-30 2013-10-30 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템
PCT/KR2013/011630 WO2015064829A1 (ko) 2013-10-30 2013-12-16 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템
CN201310693281.9A CN104598500B (zh) 2013-10-30 2013-12-17 数据分类装置及方法和利用该装置及方法的数据收集系统
US14/141,794 US9582736B2 (en) 2013-10-30 2013-12-27 Apparatus and method for classifying data and system for collecting data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130130180A KR101768438B1 (ko) 2013-10-30 2013-10-30 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템

Publications (2)

Publication Number Publication Date
KR20150049511A KR20150049511A (ko) 2015-05-08
KR101768438B1 true KR101768438B1 (ko) 2017-08-16

Family

ID=52996596

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130130180A KR101768438B1 (ko) 2013-10-30 2013-10-30 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템

Country Status (4)

Country Link
US (1) US9582736B2 (ko)
KR (1) KR101768438B1 (ko)
CN (1) CN104598500B (ko)
WO (1) WO2015064829A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022114653A1 (ko) * 2020-11-26 2022-06-02 (주)심플랫폼 데이터 경계 도출 시스템 및 방법

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3115959B1 (en) * 2014-03-07 2020-06-03 Hitachi, Ltd. Data analysis system and method
JP6460765B2 (ja) * 2014-12-09 2019-01-30 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム
US11461368B2 (en) * 2015-06-23 2022-10-04 Micro Focus Llc Recommending analytic tasks based on similarity of datasets
DE102016008987B4 (de) * 2015-07-31 2021-09-16 Fanuc Corporation Maschinenlernverfahren und Maschinenlernvorrichtung zum Lernen von Fehlerbedingungen, und Fehlervorhersagevorrichtung und Fehlervorhersagesystem, das die Maschinenlernvorrichtung einschließt
US9923912B2 (en) * 2015-08-28 2018-03-20 Cisco Technology, Inc. Learning detector of malicious network traffic from weak labels
US10436720B2 (en) * 2015-09-18 2019-10-08 KLA-Tenfor Corp. Adaptive automatic defect classification
CN105183612B (zh) * 2015-09-25 2017-11-21 携程计算机技术(上海)有限公司 服务器可用内存异常增长及运行状况的评估方法
KR101722871B1 (ko) * 2016-03-21 2017-04-04 울산대학교 산학협력단 서포트 벡터 머신의 최적 파라미터 선택 장치 및 방법
CN109993233B (zh) * 2016-06-13 2022-11-01 第四范式(北京)技术有限公司 基于机器学习来预测数据审核目标的方法及系统
CN106940803B (zh) * 2017-02-17 2018-04-17 平安科技(深圳)有限公司 相关变量识别方法和装置
CN107229733B (zh) * 2017-06-12 2020-01-14 上海智臻智能网络科技股份有限公司 扩展问评价方法及装置
JP7027070B2 (ja) * 2017-08-31 2022-03-01 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US10628475B2 (en) * 2017-10-03 2020-04-21 International Business Machines Corporation Runtime control of automation accuracy using adjustable thresholds
JP6477943B1 (ja) * 2018-02-27 2019-03-06 オムロン株式会社 メタデータ生成装置、メタデータ生成方法及びプログラム
CN109501241B (zh) * 2018-11-05 2020-12-04 北京工业大学 立体视觉监视的高强度多方向fdm 3d打印方法
KR102281431B1 (ko) * 2019-10-01 2021-07-27 주식회사 아이옵스테크놀러지 장애 예측 및 장애 예측 모델링 관리 시스템
JP7276488B2 (ja) * 2019-10-23 2023-05-18 富士通株式会社 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法
KR102314848B1 (ko) * 2021-03-30 2021-10-19 주식회사 솔리드웨어 해석이 용이한 모델생성방법 및 그 장치와, 이를 이용하여 생성된 모델을 이용한 데이터분류방법 및 그 장치
WO2023119456A1 (ja) * 2021-12-21 2023-06-29 富士通株式会社 検知プログラム、検知装置、および検知方法
KR102484218B1 (ko) * 2022-06-20 2023-01-04 주식회사 애자일소다 유사도 기반의 분류 모델 결과 검증 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065535A1 (en) * 2001-05-01 2003-04-03 Structural Bioinformatics, Inc. Diagnosing inapparent diseases from common clinical tests using bayesian analysis
US20100017354A1 (en) * 2006-08-31 2010-01-21 Chung-King Chan Interpreting a plurality of m-dimensional attribute vectors assigned to a plurality of locations in an n-dimensional interpretation space

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9800427D0 (en) * 1998-01-10 1998-03-04 Ibm Probabilistic data clustering
WO2005117693A1 (en) * 2004-05-27 2005-12-15 Children's Medical Center Corporation Patient-specific seizure onset detection system
US7818131B2 (en) * 2005-06-17 2010-10-19 Venture Gain, L.L.C. Non-parametric modeling apparatus and method for classification, especially of activity state
KR100987168B1 (ko) * 2008-10-31 2010-10-11 한국전력공사 원격계측 전력 부하패턴의 분류 및 예측 방법
JP5692493B2 (ja) * 2009-02-05 2015-04-01 セイコーエプソン株式会社 隠れマルコフモデル作成プログラム、情報記憶媒体、隠れマルコフモデル作成システム、音声認識システム及び音声認識方法
KR20110080246A (ko) * 2010-01-05 2011-07-13 중앙대학교 산학협력단 분산과 사전확률을 고려한 데이터 분류 장치 및 방법
WO2012086444A1 (ja) * 2010-12-24 2012-06-28 日本電気株式会社 監視データ分析装置、監視データ分析方法および監視データ分析プログラム
US8311973B1 (en) * 2011-09-24 2012-11-13 Zadeh Lotfi A Methods and systems for applications for Z-numbers
KR101300247B1 (ko) * 2011-11-11 2013-08-26 경희대학교 산학협력단 마르코프 연쇄 은닉 조건부 랜덤 필드 모델 기반의 패턴 인식 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030065535A1 (en) * 2001-05-01 2003-04-03 Structural Bioinformatics, Inc. Diagnosing inapparent diseases from common clinical tests using bayesian analysis
US20100017354A1 (en) * 2006-08-31 2010-01-21 Chung-King Chan Interpreting a plurality of m-dimensional attribute vectors assigned to a plurality of locations in an n-dimensional interpretation space

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022114653A1 (ko) * 2020-11-26 2022-06-02 (주)심플랫폼 데이터 경계 도출 시스템 및 방법
KR20220073307A (ko) * 2020-11-26 2022-06-03 (주)심플랫폼 데이터 경계 도출 시스템 및 방법
KR102433598B1 (ko) * 2020-11-26 2022-08-18 (주)심플랫폼 데이터 경계 도출 시스템 및 방법

Also Published As

Publication number Publication date
CN104598500B (zh) 2018-06-08
WO2015064829A1 (ko) 2015-05-07
US9582736B2 (en) 2017-02-28
KR20150049511A (ko) 2015-05-08
CN104598500A (zh) 2015-05-06
US20150120639A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
KR101768438B1 (ko) 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템
CN108052528B (zh) 一种存储设备时序分类预警方法
Li et al. Hard drive failure prediction using decision trees
KR101984730B1 (ko) 서버 장애 자동 예측 시스템 및 자동 예측 방법
US8365019B2 (en) System and method for incident management enhanced with problem classification for technical support services
JP5214656B2 (ja) 評価装置および評価プログラム
CN103513983A (zh) 用于预测性警报阈值确定工具的方法和系统
US10992675B2 (en) Anomaly detection using tripoint arbitration
KR101948634B1 (ko) 스마트 컴퓨팅을 위한 시스템 자원의 장애 예측 방법
CN108460397B (zh) 设备故障类型的分析方法、装置、储存介质和电子设备
JP7343374B2 (ja) 航空機の保守を実行するための方法及びシステム
US11860721B2 (en) Utilizing automatic labelling, prioritizing, and root cause analysis machine learning models and dependency graphs to determine recommendations for software products
US11675648B2 (en) Automatic triaging of diagnostics failures
CN114556302A (zh) 异常检测的动态配置
CN111459692B (zh) 用于预测驱动器故障的方法、设备和计算机程序产品
CN116451139B (zh) 一种基于人工智能的直播数据快速分析方法
Pereira et al. Transfer learning for Bayesian networks with application on hard disk drives failure prediction
CN114090393A (zh) 一种告警级别的确定方法、装置及设备
JP5684084B2 (ja) 誤分類検出装置、方法、及びプログラム
Yoon et al. Who is delivering my food? Detecting food delivery abusers using variational reward inference networks
KR102480518B1 (ko) 신용평가 모델 업데이트 또는 교체 방법 및 장치
JP5063639B2 (ja) データ分類方法及び装置及びプログラム
CN109918905B (zh) 行为推论模型生成装置及其行为推论模型生成方法
Premalatha et al. Software Fault Prediction and Classification using Cost based Random Forest in Spiral Life Cycle Model.
Shahid et al. Machine learning-based false positive software vulnerability analysis

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant