KR101768438B1 - 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템 - Google Patents
데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템 Download PDFInfo
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B40/00—ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/70—Machine learning, data mining or chemometrics
Abstract
데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템이 개시된다. 본 발명의 일실시예에 따른 데이터 분류 방법은, 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 클래스 소속도를 반영하여 벡터를 군집화 하는 단계, 군집화 된 결과에 따라 복수 개의 분류 대상 데이터들을 라벨링하는 단계, 및 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 단계를 포함한다.
Description
본 발명의 실시예는 데이터 분류 기술에 관한 것으로, 보다 상세하게는 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템에 관한 것이다.
어떤 데이터를 분류하기 위해서는 해당 데이터의 라벨이 명확해야 한다. 따라서, 데이터의 라벨이 명확하지 못하고 단지 클래스 소속도로 표현되어 있는 경우에는 데이터를 분류하기 어렵게 된다. 예를 들어, 하기의 표 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)으로 라벨링함), 클래스 소속도를 가지고 라벨링한 결과가 신뢰도가 낮기 때문에 분류 결과 역시 신뢰도가 낮아지게 되는 문제점이 있다.
삭제
본 발명의 실시예는 데이터 분류 성능을 향상시킬 수 있는 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템을 제공하고자 한다.
본 발명의 실시예는 라벨이 불명확한 데이터를 분류할 수 있는 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템을 제공하고자 한다.
본 발명의 일 실시예에 따른 데이터 분류 장치는, 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화하는 군집화부; 및 상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하고, 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 분류 모델 생성부를 포함한다.
상기 데이터 분류 장치는, 상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화 하는 군집 파라미터 결정부를 더 포함하고, 상기 군집화부는, 상기 군집 파라미터 값 및 상기 클래스 소속도를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화 할 수 있다.
상기 군집 파라미터 결정부는, 군집 내 상기 벡터들의 유사도가 기 설정된 값을 초과하고, 군집들 간의 거리가 기 설정된 값을 초과하는지 여부에 따라 상기 군집 파라미터 값을 최적화 할 수 있다.
상기 군집화부는, 하기 수학식을 통해 상기 복수 개의 분류 대상 데이터들의 벡터를 재군집화 할 수 있다.
(수학식)
PDF : 해당 군집 기법의 확률 밀도 함수.
n : 클래스 소속도의 영향도.
PDF' : 해당 분류 대상 데이터의 클래스 소속도가 반영된 새로운 확률 밀도 함수.
상기 분류 모델 생성부는, 각 분류 대상 데이터들의 군집 포함 여부로 이진 분류하여 라벨링할 수 있다.
상기 데이터 분류 장치는, 상기 생성된 분류 모델의 정확도를 검증하는 검증부를 더 포함할 수 있다.
상기 검증부는, 테스트 데이터의 클래스 소속도 값을 이용하여 복수 개의 테스트 데이터들을 라벨링하고, 상기 라벨링된 테스트 데이터를 상기 분류 모델에 대입하여 상기 분류 모델의 정확도를 계산할 수 있다.
상기 군집화부는, 상기 분류 모델의 정확도가 목표 성능에 도달하지 못한 경우, 상기 클래스 소속도의 반영 정도를 조정하여 복수 개의 분류 대상 데이터들의 벡터를 재군집화 할 수 있다.
상기 검증부는, 상기 테스트 데이터의 라벨링에 따른 분류 결과와 상기 테스트 데이터의 상기 분류 모델에 따른 분류 결과와의 일치 정도에 따라 상기 분류 모델의 정확도를 계산할 수 있다.
상기 데이터 분류 장치는, 데이터 수집부로부터 입력 데이터를 수신하고, 수신한 입력 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 상기 데이터 수집부로 전송하는 통신부를 더 포함할 수 있다.
상기 클래스 소속도는, 상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출될 수 있다.
상기 클래스 소속도는, 하기 수학식을 통해 산출될 수 있다.
(수학식)
x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
a 및 b : 보정 계수.
본 발명의 일 실시예에 따른 데이터 분류 방법은, 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화 하는 단계; 상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하는 단계; 및 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 단계를 포함한다.
상기 군집화 하는 단계는, 상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화하는 단계; 및 상기 군집 파라미터 값 및 상기 클래스 소속도를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화 하는 단계를 포함할 수 있다.
상기 군집 파라미터 값을 최적화하는 단계는, 군집 내 상기 벡터들의 유사도가 기 설정된 값을 초과하고, 군집들 간의 거리가 기 설정된 값을 초과하는지 여부에 따라 상기 군집 파라미터 값을 최적화 할 수 있다.
상기 재군집화 하는 단계는, 하기 수학식을 통해 상기 복수 개의 분류 대상 데이터들의 벡터를 재군집화 할 수 있다.
(수학식)
PDF : 해당 군집 기법의 확률 밀도 함수.
n : 클래스 소속도의 영향도.
PDF' : 해당 분류 대상 데이터의 클래스 소속도가 반영된 새로운 확률 밀도 함수.
상기 복수 개의 분류 대상 데이터들을 라벨링하는 단계는, 각 분류 대상 데이터들의 군집 포함 여부로 이진 분류하여 라벨링 할 수 있다.
상기 분류 모델을 생성하는 단계 이후에, 상기 생성된 분류 모델의 정확도를 검증하는 단계를 더 포함할 수 있다.
상기 분류 모델의 정확도를 검증하는 단계는, 테스트 데이터의 클래스 소속도 값을 이용하여 복수 개의 테스트 데이터들을 라벨링하는 단계; 및 상기 라벨링된 테스트 데이터를 상기 분류 모델에 대입하여 상기 분류 모델의 정확도를 계산하는 단계를 포함할 수 있다.
상기 분류 모델의 정확도를 계산하는 단계 이후에, 상기 분류 모델의 정확도가 목표 성능에 도달하지 못한 경우, 상기 클래스 소속도의 반영 정도를 조정하여 복수 개의 분류 대상 데이터들의 벡터를 재군집화 하는 단계를 더 포함할 수 있다.
상기 분류 모델의 정확도를 계산하는 단계는, 상기 테스트 데이터의 라벨링에 따른 분류 결과와 상기 테스트 데이터의 상기 분류 모델에 따른 분류 결과와의 일치 정도에 따라 계산할 수 있다.
상기 분류 모델을 생성하는 단계 이후에, 데이터 수집부로부터 입력 데이터를 수신하는 단계; 및 수신한 상기 입력 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 상기 데이터 수집부로 전송하는 단계를 더 포함할 수 있다.
상기 클래스 소속도는, 상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출될 수 있다.
상기 클래스 소속도는, 하기 수학식을 통해 산출될 수 있다.
(수학식)
x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
a 및 b : 보정 계수.
본 발명의 일 실시예에 따른 데이터 수집 시스템은, 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화하고, 상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하며, 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 데이터 분류 장치; 및 소정 주기로 데이터를 수집하여 상기 데이터 분류 장치로 전송하는 데이터 수집 장치를 포함하며, 상기 데이터 수집 장치는, 상기 수집된 데이터가 상기 분류 모델에 의해 분류된 결과에 따라 데이터의 수집 주기를 변경한다.
상기 데이터 수집 장치는, 상기 수집된 데이터가 장애로 분류되는 경우, 상기 데이터의 수집 주기를 단축시킬 수 있다.
상기 클래스 소속도는, 상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출될 수 있다.
상기 클래스 소속도는, 하기 수학식을 통해 산출될 수 있다.
(수학식)
x : 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이.
a 및 b : 보정 계수.
본 발명의 실시예에 의하면, 훈련 데이터에 포함된 클래스 소속도를 반영하여 훈련 데이터를 군집화 하고, 군집화된 결과에 따라 훈련 데이터를 라벨링하며, 라벨링된 훈련 데이터를 입력 데이터로 하여 분류 모델을 생성함으로써, 낮은 신뢰도의 클래스 소속도를 가진 훈련 데이터라 하더라도 데이터의 분류 성능을 향상시킬 수 있게 된다. 그리고, 입력되는 데이터들을 군집화된 결과에 따라 라벨링을 한 후 분류하기 때문에, 라벨이 불명확한 데이터의 경우에도 효과적으로 분류할 수 있게 된다. 또한, 분류 모델의 정확도가 목표 값에 미달한 경우, 클래스 소속도의 반영 정도를 조정함으로써, 분류 모델의 성능을 최적화 시킬 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 데이터 분류 장치의 구성을 나타낸 도면.
도 2는 수학식 1에서 a 및 b를 2로 설정한 경우의 클래스 소속도 함수(f(x))를 나타낸 도면.
도 3은 클래스 소속도를 고려하지 않은 경우와 클래스 소속도를 고려한 경우의 군집 결과를 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 데이터 분류 방법을 나타낸 순서도.
도 5는 본 발명의 일 실시예에 따른 데이터 분류 장치를 이용한 장애 예측 시스템을 나타낸 도면.
도 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과 같은 로지스틱 함수를 이용할 수 있다.
여기서, 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에 기재된 군집 함수를 통해 복수 개의 훈련 데이터들을 재군집화 할 수 있다.
여기서, PDF는 해당 군집 기법의 확률 밀도 함수를 나타내고, n은 클래스 소속도의 영향도를 나타낸다. 즉, n > 1 인 경우, 군집화 과정에서 클래스 소속도의 영향이 상대적으로 커지게 되고, n < 1인 경우, 군집화 과정에서 클래스 소속도의 영향이 상대적으로 작아지게 된다. 클래스 소속도의 영향도(n)는 복수 개의 훈련 데이터들을 재군집화 할 때, 클래스 소속도를 어느 정도 반영할 것인지(즉, 어느 정도의 가중치를 부여할 것인지)에 따라 결정될 수 있다. PDF'는 해당 훈련 데이터의 클래스 소속도가 반영된 새로운 확률 밀도 함수를 나타낸다.
예를 들어, 군집화부(104)가 복수 개의 훈련 데이터들에 대해 k-means 기법을 사용하여 재군집화 하는 경우, 군집화부(104)는 수학식 3에 기재된 군집 함수를 통해 복수 개의 훈련 데이터들을 재군집화 할 수 있다.
여기서, 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에 나타난 분류 결과를 통해 분류 모델의 정확도 및 오류율을 살펴보면 다음과 같다.
한편, 데이터 분류 장치(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 |
2) 실험군의 경우
라벨링 N | 라벨링 A | |
분류 N | 2402863 | 177667 |
분류 A | 5511 | 2904 |
위에서 보는 바와 같이, 군집 과정을 거치지 않고 훈련 데이터를 바로 대입하여 분류 모델을 생성한 경우의 정확도는 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 : 장애 예측 장치
102 : 군집 파라미터 결정부 104 : 군집화부
106 : 분류 모델 생성부 108 : 검증부
200 : 장애 예측 시스템
202 : 훈련 서버 204 : 대상 서버
206 : 장애 예측 서버 208 : 관리자 단말기
211 : 데이터 분류 장치 214 : 장애 예측 장치
Claims (28)
- 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화하는 군집화부;
상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하고, 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 분류 모델 생성부; 및
상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화하는 군집 파라미터 결정부를 포함하고,
상기 군집화부는, 상기 군집 파라미터 값 및 상기 군집화에 이용된 군집 기법의 확률 밀도 함수(PDF)에 상기 분류 대상 데이터의 클래스 소속도를 반영한 확률 밀도 함수(PDF')를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화하는, 데이터 분류 장치.
- 삭제
- 제1항에 있어서,
상기 군집 파라미터 결정부는,
군집 내 상기 벡터들의 유사도가 기 설정된 값을 초과하고, 군집들 간의 거리가 기 설정된 값을 초과하는지 여부에 따라 상기 군집 파라미터 값을 최적화하는, 데이터 분류 장치.
- 제1항에 있어서,
상기 분류 모델 생성부는,
각 분류 대상 데이터들의 군집 포함 여부로 이진 분류하여 라벨링하는, 데이터 분류 장치.
- 제1항에 있어서,
상기 데이터 분류 장치는,
상기 생성된 분류 모델의 정확도를 검증하는 검증부를 더 포함하는, 데이터 분류 장치.
- 제6항에 있어서,
상기 검증부는,
테스트 데이터의 클래스 소속도 값을 이용하여 복수 개의 테스트 데이터들을 라벨링하고, 상기 라벨링된 테스트 데이터를 상기 분류 모델에 대입하여 상기 분류 모델의 정확도를 계산하는, 데이터 분류 장치.
- 제7항에 있어서,
상기 군집화부는,
상기 분류 모델의 정확도가 목표 성능에 도달하지 못한 경우, 상기 클래스 소속도의 반영 정도를 조정하여 복수 개의 분류 대상 데이터들의 벡터를 재군집화하는, 데이터 분류 장치.
- 제7항에 있어서,
상기 검증부는,
상기 테스트 데이터의 라벨링에 따른 분류 결과와 상기 테스트 데이터의 상기 분류 모델에 따른 분류 결과와의 일치 정도에 따라 상기 분류 모델의 정확도를 계산하는, 데이터 분류 장치.
- 제1항에 있어서,
상기 데이터 분류 장치는,
데이터 수집부로부터 입력 데이터를 수신하고, 수신한 입력 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 상기 데이터 수집부로 전송하는 통신부를 더 포함하는, 데이터 분류 장치.
- 제1항에 있어서,
상기 클래스 소속도는,
상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출되는, 데이터 분류 장치.
- 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화 하는 단계;
상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하는 단계;
상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 단계;
상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화하는 단계; 및
상기 군집 파라미터 값 및 상기 군집화에 이용된 군집 기법의 확률 밀도 함수(PDF)에 상기 분류 대상 데이터의 클래스 소속도를 반영한 확률 밀도 함수(PDF')를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화하는 단계를 포함하는, 데이터 분류 방법.
- 삭제
- 제13항에 있어서,
상기 군집 파라미터 값을 최적화하는 단계는,
군집 내 상기 벡터들의 유사도가 기 설정된 값을 초과하고, 군집들 간의 거리가 기 설정된 값을 초과하는지 여부에 따라 상기 군집 파라미터 값을 최적화하는, 데이터 분류 방법.
- 제13항에 있어서,
상기 복수 개의 분류 대상 데이터들을 라벨링하는 단계는,
각 분류 대상 데이터들의 군집 포함 여부로 이진 분류하여 라벨링하는, 데이터 분류 방법.
- 제13항에 있어서,
상기 분류 모델을 생성하는 단계 이후에,
상기 생성된 분류 모델의 정확도를 검증하는 단계를 더 포함하는, 데이터 분류 방법.
- 제18항에 있어서,
상기 분류 모델의 정확도를 검증하는 단계는,
테스트 데이터의 클래스 소속도 값을 이용하여 복수 개의 테스트 데이터들을 라벨링하는 단계; 및
상기 라벨링된 테스트 데이터를 상기 분류 모델에 대입하여 상기 분류 모델의 정확도를 계산하는 단계를 포함하는, 데이터 분류 방법.
- 제19항에 있어서,
상기 분류 모델의 정확도를 계산하는 단계 이후에,
상기 분류 모델의 정확도가 목표 성능에 도달하지 못한 경우, 상기 클래스 소속도의 반영 정도를 조정하여 복수 개의 분류 대상 데이터들의 벡터를 재군집화 하는 단계를 더 포함하는, 데이터 분류 방법.
- 제19항에 있어서,
상기 분류 모델의 정확도를 계산하는 단계는,
상기 테스트 데이터의 라벨링에 따른 분류 결과와 상기 테스트 데이터의 상기 분류 모델에 따른 분류 결과와의 일치 정도에 따라 계산하는, 데이터 분류 방법.
- 제13항에 있어서,
상기 분류 모델을 생성하는 단계 이후에,
데이터 수집부로부터 입력 데이터를 수신하는 단계; 및
수신한 상기 입력 데이터를 상기 분류 모델에 대입하여 분류된 결과에 따라 데이터 수집 주기 변경 신호를 상기 데이터 수집부로 전송하는 단계를 더 포함하는, 데이터 분류 방법.
- 제13항에 있어서,
상기 클래스 소속도는,
상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출되는, 데이터 분류 방법.
- 클래스 소속도 및 적어도 하나의 속성값으로 이루어지는 벡터를 포함하는 복수 개의 분류 대상 데이터들에 대해 상기 클래스 소속도를 반영하여 상기 벡터를 군집화하고, 상기 군집화 된 결과에 따라 상기 복수 개의 분류 대상 데이터들을 라벨링하며, 상기 라벨링 된 분류 대상 데이터를 이용하여 분류 모델을 생성하는 데이터 분류 장치; 및
소정 주기로 데이터를 수집하여 상기 데이터 분류 장치로 전송하는 데이터 수집 장치를 포함하며,
상기 데이터 수집 장치는, 상기 수집된 데이터가 상기 분류 모델에 의해 분류된 결과에 따라 데이터의 수집 주기를 변경하며,
상기 데이터 분류 장치는, 상기 분류 대상 데이터들의 각 벡터의 1차 군집화에 따른 군집 파라미터 값을 최적화 하고, 상기 군집 파라미터 값 및 상기 군집화에 이용된 군집 기법의 확률 밀도 함수(PDF)에 상기 분류 대상 데이터의 클래스 소속도를 반영한 확률 밀도 함수(PDF')를 이용하여 상기 분류 대상 데이터들의 벡터를 재군집화하는, 데이터 수집 시스템.
- 제25항에 있어서,
상기 데이터 수집 장치는,
상기 수집된 데이터가 장애로 분류되는 경우, 상기 데이터의 수집 주기를 단축시키는, 데이터 수집 시스템.
- 제25항에 있어서,
상기 클래스 소속도는,
상기 분류 대상 데이터의 발생 시점과 특정 이벤트 간의 시간 차이에 따른 연관도를 기준으로 산출되는, 데이터 수집 시스템.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022114653A1 (ko) * | 2020-11-26 | 2022-06-02 | (주)심플랫폼 | 데이터 경계 도출 시스템 및 방법 |
Families Citing this family (20)
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)
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)
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 | 경희대학교 산학협력단 | 마르코프 연쇄 은닉 조건부 랜덤 필드 모델 기반의 패턴 인식 방법 |
-
2013
- 2013-10-30 KR KR1020130130180A patent/KR101768438B1/ko active IP Right Grant
- 2013-12-16 WO PCT/KR2013/011630 patent/WO2015064829A1/ko active Application Filing
- 2013-12-17 CN CN201310693281.9A patent/CN104598500B/zh active Active
- 2013-12-27 US US14/141,794 patent/US9582736B2/en active Active
Patent Citations (2)
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)
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 |