KR102246303B1 - 다차원 데이터 스트림에서의 실시간 이상치 탐지 방법 및 장치 - Google Patents
다차원 데이터 스트림에서의 실시간 이상치 탐지 방법 및 장치 Download PDFInfo
- Publication number
- KR102246303B1 KR102246303B1 KR1020210029081A KR20210029081A KR102246303B1 KR 102246303 B1 KR102246303 B1 KR 102246303B1 KR 1020210029081 A KR1020210029081 A KR 1020210029081A KR 20210029081 A KR20210029081 A KR 20210029081A KR 102246303 B1 KR102246303 B1 KR 102246303B1
- Authority
- KR
- South Korea
- Prior art keywords
- density
- multidimensional data
- data
- grid cell
- kernel
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2264—Multidimensional index structures
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- 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/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
- G06F17/175—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method of multidimensional data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2433—Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
-
- 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/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
다차원 데이터 스트림에서 실시간 이상치 탐지 장치의 동작 방법으로서, 실시간 입력된 다차원 데이터들을 그리드 셀 영역에 배치하고, 그리드 셀 영역에 배치된 데이터 분포에 기초하여 그리드 셀의 커널 센터에 가중치를 설정하는 단계, 현재 시점의 데이터 분포와 직전 시점의 데이터 분포를 비교하여, 서로 대응되는 커널 센터마다 가중치의 누적 변화량을 산출하고 상기 누적 변화량에 기초하여 그리드 셀 영역에서 불변 영역을 설정하는 단계, 불변 영역의 커널 센터의 밀도를 갱신 마지막 시점에서의 설정된 밀도로 유지하고, 불변 영역을 제외한 커널 센터의 밀도를 산출하여 갱신하는 단계, 그리고 현재 시점의 다차원 데이터들의 밀도를 추정하고, 다차원 데이터의 밀도와 해당 다차원 데이터와의 최근접한 커널 센터의 밀도간의 상대적 차이 값에 기초하여 미리 설정된 임의의 개수의 다차원 데이터를 이상치로 검출하는 단계를 포함한다.
Description
본 발명은 다차원 데이터 스트림에서의 실시간 이상치 탐지 기술에 관한 것이다.
다차원 데이터 스트림은 하나 이상의 차원으로 이뤄진 데이터 공간 상에 시간 순서에 따라 지속적으로 발생하는 데이터를 의미하며, 차원은 데이터의 부분적인 특성이 정의된 공간으로, 각 차원에서의 특성 값이 모여 해당 데이터의 포괄적인 특성이 정의된다. 이러한 다차원 데이터 스트림은 연속적이고 무한하게 발생한다는 특징에 따라 실시간으로 이상치를 감지하는 것이 중요하다.
이상치는 복수 개의 데이터로 이루어진 데이터 셋에서 다른 데이터들과 특성의 유사도 측면에서 큰 차이를 보이는 데이터를 의미한다.
이러한 이상치는 주어진 데이터 셋으로부터 추정되는 다차원 데이터 분포상에서 희소하게 존재하는 데이터로 실제 데이터 셋을 응용하는 상황에서는 이상 현상, 잠재적 위험 요소, 노이즈 등을 의미할 수 있다.
그러므로 데이터 분포가 실시간으로 변화하는 양상을 가지는 최신 데이터 분포 상에서 대부분의 데이터와 뚜렷이 구분되는 이상 데이터를 탐지하는 기술들이 개발되고 있다.
다만, 기존 방법들은 데이터 스트림의 최신 분포를 지속적으로 갱신해가며 최신 데이터 집합 상에서 데이터 밀도를 갱신하고, 상대적 밀도를 비교하여 이상치를 탐지하는 단계를 수행한다. 이에 따라 매번 슬라이딩 윈도우에서 밀도 갱신하는 밀도 추정 방식은 대부분 높은 계산량을 요구하기 때문에 신속한 이상치 탐지를 수행하기엔 한계가 있다.
본 발명이 해결하고자 하는 과제는 다차원 데이터들을 그리드 셀의 커널 센터를 기준으로 근사화하고, 실시간 다차원 데이터들에 대한 커널 센터의 누적 변화량에 기초하여 그리드 셀 기반의 불변 영역을 설정하고, 불변 영역에 대한 커널 센터의 밀도 갱신을 생략하도록 하는 실시간 이상치 탐지 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 과제는 다차원 데이터들의 밀도와 각 다차원 데이터와 최근접한 커널 센터 밀도간의 상대적 차이에 기초하여 이상치를 검출하는 실시간 이상치 탐지 방법 및 장치를 제공하는 것이다.
하나의 실시예에 따른 다차원 데이터 스트림에서 실시간 이상치 탐지 장치의 동작 방법으로서, 실시간 입력된 다차원 데이터들을 그리드 셀 영역에 배치하고, 그리드 셀 영역에 배치된 데이터 분포에 기초하여 그리드 셀의 커널 센터에 대한 가중치를 설정하는 단계, 현재 시점의 데이터 분포와 직전 시점의 데이터 분포를 비교하여 서로 대응하는 커널 센터마다 가중치의 누적 변화량을 산출하고, 누적 변화량에 기초하여 그리드 셀 영역에서 불변 영역을 설정하는 단계, 불변 영역의 커널 센터의 밀도를 갱신 마지막 시점에서의 설정된 밀도로 유지하고, 불변 영역을 제외한 커널 센터의 밀도를 산출하여 갱신하는 단계, 그리고 현재 시점의 다차원 데이터들의 밀도를 추정하고, 다차원 데이터의 밀도와 해당 다차원 데이터와의 최근접한 커널 센터의 밀도간의 상대적 차이 값에 기초하여 미리 설정된 임의의 개수의 다차원 데이터를 이상치로 검출하는 단계를 포함한다.
커널 센터에 대한 가중치를 설정하는 단계는, 그리드 셀에 위치하는 다차원 데이터의 개수를 그리드 셀에 대한 커널 센터의 가중치로 설정할 수 있다.
불변 영역을 설정하는 단계는, 그리드 셀 내의 데이터 개수의 순 변화량을 나타내는 가중치의 누적 변화량이 설정된 한계치 이하의 값을 가지면 불변 영역으로 분류하고, 누적 변화량이 한계치보다 큰 값을 가지면 갱신 영역으로 분류할 수 있다.
커널 센터의 밀도를 산출하여 갱신하는 단계는, 갱신 영역에 해당되는 최근접한 k개(k는 자연수)의 상이한 커널 센터간의 거리와 커널 함수(kernel function)에 기초하여 해당 커널 센터의 밀도를 산출할 수 있다.
이상치로 검출하는 단계는, 현재 시점에서의 다차원 데이터마다 해당 위치에서 최근접한 k개(k는 자연수)의 커널 센터간의 거리와 커널 함수(kernel function)에 기초하여 다차원 데이터마다의 밀도를 추정할 수 있다.
이상치로 검출하는 단계는, 상대적 차이 값을 이상치 점수로 산정하고, 이상치 점수가 가장 높은 순서에 따라 임의의 개수의 다차원 데이터를 이상치로 검출하거나 미리 설정된 임계치 이상의 이상치 점수를 가지는 다차원 데이터를 이상치로 검출할 수 있다.
이상치로 검출하는 단계는, 그리드 셀 안에서 다차원 데이터의 위치에 기초하여 그리드 셀마다 다차원 데이터의 밀도 상한값과 밀도 하한값을 추정하고, 밀도 상한값과 밀도 하한값에 기초하여 이상치 점수의 상한 값과 하한 값을 산출할 수 있다.
이상치로 검출하는 단계는, 그리드 셀마다 이상치 점수의 상한 값과 하한 값들을 비교하여 일부 그리드 셀이 가지는 이상치 점수의 상한값보다 높은 이상치 점수의 하한값을 가지는 하나 이상의 그리드 셀을 후보 그리드 셀로 선택하고, 후보 그리드 셀 내의 위치하는 다차원 데이터들을 대상으로 임의의 개수의 다차원 데이터를 상기 이상치를 검출할 수 있다.
하나의 실시예에 따른 컴퓨팅 장치로서, 명령어들을 포함하는 메모리, 그리고 명령어들을 실행하여 다차원 스트림 데이터에서 이상치를 검출하는 적어도 하나의 프로세서를 포함하고, 프로세서는 실시간 입력된 다차원 데이터들을 그리드 셀 영역에 배치하고, 그리드 셀 영역에 배치된 데이터 분포에 기초하여 그리드 셀의 커널 센터에 가중치를 설정하고, 현재 시점의 데이터 분포와 직전 시점의 데이터 분포를 비교하여, 서로 대응되는 그리드 셀의 커널 센터에 설정된 가중치의 누적 변화량에 따라 불변 영역과 갱신 영역으로 분류하며, 갱신 영역 내 커널 센터의 밀도를 산출하여 갱신하고 다차원 데이터들마다 밀도를 추정하여 다차원 데이터의 밀도와 해당 다차원 데이터와의 최근접한 커널 센터의 밀도간의 상대적 차이 값에 기초하여 미리 설정된 임의의 개수의 다차원 데이터를 이상치로 검출할 수 있다.
프로세서는, 그리드 셀에 위치하는 다차원 데이터의 수를 커널 센터의 가중치로 설정하고, 커널 센터의 가중치 분포에 대한 변화량을 통해 누적 변화량을 산출할 수 있다.
프로세서는, 커널 센터의 밀도 또는 다차원 데이터의 밀도를 각 위치에서의 최근접한 k개의 커널 센터와의 거리와 커널 함수(kernel function)에 기초하여 산출할 수 있다.
프로세서는, 불변 영역의 커널 센터의 밀도를 갱신 마지막 시점에서의 설정된 밀도로 유지하고, 불변 영역을 제외한 커널 센터의 밀도를 산출하여 갱신하여 현재 시점에서의 커널 센터의 밀도를 저장할 수 있다.
프로세서는, 그리드 셀 안에서 다차원 데이터의 위치에 기초하여 그리드 셀마다 다차원 데이터의 밀도를 상한 값과 하한 값으로 추정하고, 밀도 상한 값과 밀도 하한값에 기초하여 상대적 차이값의 상한 값과 하한 값으로 산출하며, 그리드 셀마다 상한 값과 하한 값들을 비교하여 그리드 셀 중에서 상대적 차이값의 하한값이 다른 그리드 셀들의 상한값 보다 큰 값을 가지는 그리드 셀을 후보 그리드 셀을 선택할 수 있다.
프로세서는, 후보 그리드 셀에 위치한 다차원 데이터의 개수가 임의의 개수보다 큰 값을 가지도록 하나 이상의 후보 그리드 셀을 선택하고, 후보 그리드 셀 내에 위치하는 다차원 데이터들 중에서 상대적 차이값이 큰 순서대로 임의의 개수의 다차원 데이터를 이상치로 선택할 수 있다.
본 발명에 따르면, 불변 영역을 생략하여 불필요한 밀도 갱신을 방지함으로써, 계산량을 최소화하고 그에 따른 이상치 탐지의 속도를 향상시킬 수 있다.
본 발명에 따르면, 다차원 데이터들마다 최근접한 커널 센터의 가중치 변화량에 기초하여 산출된 누적 변화량을 설정된 한계치와 비교하여 불변 영역을 설정함으로써, 이상치 탐지의 정확도를 저해하지 않으면서도 탐지 속도의 개선을 확보할 수 있다.
도 1은 한 실시예에 따른 실시간 이상치 탐지 방법과 기존 방법을 나타낸 예시도이다.
도 2는 한 실시예에 따른 이상치 탐지 장치를 나타낸 구성도이다.
도 3은 한 실시예에 따른 데이터 분포 근사화하여 갱신 영역을 선별하는 과정을 설명하기 위한 예시도이다.
도 4는 한 실시예에 따른 이상치 탐지 방법을 나타낸 순서도이다.
도 5는 한 실시예에 따른 데이터 분포 근사화하여 영역별 밀도를 산출하는 과정을 설명하기 위한 예시도이다.
도 6은 한 실시예에 따른 불변 영역과 갱신 영역을 설명하기 위한 예시도이다.
도 7은 한 실시예에 따른 실시간 다차원 데이터 스트림에서 이상치를 탐지하는 과정을 설명하기 위한 예시도이다.
도 8은 한 실시예에 따른 누적 변화량의 한계치에 대한 민감도 실험 결과 그래프이다.
도 9는 본 발명의 성능을 평가한 결과 그래프이다.
도 10은 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구조도이다.
도 2는 한 실시예에 따른 이상치 탐지 장치를 나타낸 구성도이다.
도 3은 한 실시예에 따른 데이터 분포 근사화하여 갱신 영역을 선별하는 과정을 설명하기 위한 예시도이다.
도 4는 한 실시예에 따른 이상치 탐지 방법을 나타낸 순서도이다.
도 5는 한 실시예에 따른 데이터 분포 근사화하여 영역별 밀도를 산출하는 과정을 설명하기 위한 예시도이다.
도 6은 한 실시예에 따른 불변 영역과 갱신 영역을 설명하기 위한 예시도이다.
도 7은 한 실시예에 따른 실시간 다차원 데이터 스트림에서 이상치를 탐지하는 과정을 설명하기 위한 예시도이다.
도 8은 한 실시예에 따른 누적 변화량의 한계치에 대한 민감도 실험 결과 그래프이다.
도 9는 본 발명의 성능을 평가한 결과 그래프이다.
도 10은 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구조도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.
본 명세서에서 "전송 또는 제공"은 직접적인 전송 또는 제공하는 것뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.
도 1은 한 실시예에 따른 실시간 이상치 탐지 방법과 기존 방법을 나타낸 예시도이다.
도 1의 (a)는 전역 갱신을 수행하는 기존 방법에 의한 이상치 탐지 방법을 나타내고, (b)는 한 실시예에 따른 설정된 불변 영역의 갱신을 생략하는 이상치 탐지 방법을 나타낸다.
도 1에 도시한 바와 같이, 전역 갱신을 수행하는 기존 방법으로는 감지된 데이터들에 대해 전체적인 업데이트를 수행하는 반면에, 제안하는 이상치 탐지 방법은 불변 영역을 생략(skip)하고 변경된 영역만을 업데이트를 수행한다.
예를 들어, 다차원 데이터 스트림은 스마트 팩토리 영역에서 획득하는 것으로, 일반적으로 스마트 팩토리의 부착된 센서에 기초하여 디지털 트윈(digital twin)에 의해 생성될 수 있다.
이와 같은 다차원 데이터 스트림은 본질적으로 제한이 없이 때문에, 연속 이상 값 감지에서 슬라이딩 윈도우를 사용하여 가장 최근 데이터 포인트만 고려하는 것이 일반적으로, 연속적인 슬라이딩 윈도우는 일정한 값을 중복되도록 설정된다.
예를 들어, 슬라이딩 윈도우에서 감지된 데이터들은 다음 슬라이딩 윈도우에서 일부는 만료되고 일부는 새로운 데이터들이 추가된다. 그리고 다음 슬라이딩 윈도우에서 처음 슬라이딩 윈도우에 포함된 데이터들은 모두 만료되고 새로운 데이터들이 추가될 수 있다.
이러한 특징으로 짧은 시간 내에는 데이터 공간 대부분의 지역상에서의 밀도 변화가 크지 않기 때문에, 데이터들의 밀도 변화를 확인하여 밀도 변화가 발생하는 영역과 밀도 변화가 없는 영역을 구분하여 밀도를 갱신하고, 이를 기초하여 이상치를 탐지하는 방법을 제안한다.
도 2는 한 실시예에 따른 이상치 탐지 장치를 나타낸 구성도이다.
도 2에 도시한 바와 같이, 이상치 탐지 장치(100)는 다차원 데이터 스트림에 기초하여 데이터 분포를 갱신하는 데이터 분포 갱신기(110), 갱신된 데이터 분포에서 불변 영역을 설정하는 불변 영역 설정기(120), 불변 영역을 제외한 갱신된 데이터 분포의 영역에 대해 밀도를 갱신하는 밀도 산출기(130), 그리고 지역적 편향된 분포에서의 이상치를 검출하는 이상치 검출기(140)를 포함할 수 있다.
설명을 위해 데이터 분포 갱신기(110), 불변 영역 설정기(120), 밀도 산출기 (130), 그리고 이상치 검출기(140)로 명명하여 부르나, 이들은 적어도 하나의 프로세서에 의해 동작할 수 있다. 여기서, 데이터 분포 갱신기(110), 불변 영역 설정기(120), 밀도 산출기(130), 그리고 이상치 검출기(140)는 별도의 컴퓨팅 장치에 분산되어 구현될 수 있으며, 분산 구현되는 경우에는 통신 인터페이스를 통해 서로 통신할 수 있다.
여기서, 컴퓨팅 장치는 본 발명을 수행하도록 작성된 소프트웨어 프로그램을 실행할 수 있는 장치이면 충분하고, 예를 들면, 서버, 랩탑 컴퓨터 등일 수 있다.
데이터 분포 갱신기(110)는 입력되는 다차원 데이터들을 그리드 셀 영역에 배치하여 그리드 셀의 커널 센터를 기준으로 다차원 데이터들의 분포를 근사화한다.
데이터 분포 갱신기(110)는 동일한 크기의 그리드 셀이 일정하게 배열된 그리드 셀 영역에 다차원 데이터를 배치하고, 그리드 셀마다 중심점인 커널 센터를 정의한다. 데이터 분포 갱신기(110)는 각 커널 센터의 위치, 그리고 그리드 셀 영역 내에 위치하는 다차원 데이터 수를 커널 센터의 가중치로 설정할 수 있다.
그리고 데이터 분포 갱신기(110)는 그리드 셀 영역에 배치된 다차원 데이터 분포를 별도로 구비된 데이터베이스에 저장할 수 있다.
그리고 데이터 분포 갱신기(110)는 다음 시점에서 입력된 다차원 데이터들을 다시 그리드 셀 영역에 배치하여 그리드 셀의 커널 센터를 기준으로 다차원 데이터들의 분포를 근사화하는 과정을 반복한다.
불변 영역 설정기(120)는 실시간 근사화된 다차원 데이터들의 분포와 직전 시점에서 근사화된 다차원 데이터들의 분포간에 비교하여, 불변 영역을 설정한다.
불변 영역 설정기(120)는 다차원 데이터들마다 최근접 커널 센터의 변화량을 산출하고, 누적 변화량이 한계치보다 작은 값을 가지는 그리드 셀 영역을 불변 영역으로 설정할 수 있다.
다시 말해, 다차원 데이터의 밀도는 다차원 데이터와 최근접한 커널 센터에 의해 결정되기 때문에, 최근접 커널 센터의 가중치 변화량을 통해 밀도 변화를 예측할 수 있다. 그러므로 불변 영역 설정기(120)는 직전 시점과 현재 시점에서의 커널 센터의 가중치 분포를 이용하여 누적 변화량을 산출할 수 있다.
이외에도 불변 영역 설정기(120)는 누적 변화량이 한계치보다 큰 값을 가지는 그리드 셀 영역을 갱신 영역으로 설정할 수 있다.
밀도 산출기(130)는 그리드 셀 영역마다 커널 센터의 밀도를 산출하고, 다차원 데이터들의 밀도를 산출한다.
밀도 산출기(130)는 최근접한 k 개의 커널 센터의 거리와 커널 함수(kernel function)에 따라 밀도를 산출하며, 커널 센터 및 다차원 데이터들의 밀도 산출 방식은 동일하게 적용할 수 있다. 여기서, k는 자연수이며, 관리자에 의해 추후에 용이하게 변경 및 설정 가능하다.
밀도 산출기(130)는 불변 영역을 제외한 그리드 셀 영역마다 셀의 밀도를 산출하여 해당 커널 센터의 밀도를 갱신할 수 있다.
그리고 밀도 산출기(130)는 그리드 셀별로 그리드 셀에 속한 데이터들의 밀도의 상한과 하한을 산출할 수 있다.
이상치 검출기(140)는 다차원 데이터의 밀도와 해당 다차원 데이터와의 최근접한 커널 센터의 밀도간의 상대적 차이 값에 기초하여 각 다차원 데이터들의 이상치 점수를 산정한다.
이상치 검출기(140)는 그리드 셀 안에서 다차원 데이터의 위치에 따라 데이터의 밀도의 상한과 하한 그리고 이상치 점수에 대한 상한과 하한을 계산할 수 있으며, 이를 이용하여 높은 이상치 점수를 가지는 데이터를 신속하게 검출할 수 있다.
상세하게는 이상치 검출기(140)는 그리드 셀마다의 산출된 다차원 데이터의 밀도 상한 값 및 밀도 하한 값을 이용하여 이상치 점수 상한 값 또는 이상치 점수 하한 값을 산출할 수 있다.
그리고 이상치 검출기(140)는 그리드 셀 단위에서 이상치 점수 상한 값 또는 이상치 점수 하한 값에 기초하여 이상치로 검출되지 않을 데이터들을 미리 제외시킬 수 있다.
예를 들어, 이상치 점수가 가장 높은 3개의 데이터를 검출하고자 하는 경우에 3개 이상의 데이터를 가지는 그리드 셀의 이상치 점수 하한 값이 다른 그리드 셀 상한 값보다 높은 경우, 다른 그리드 셀에 포함된 데이터들을 고려 대상에서 제외시킬 수 있다. 또는, 2개의 데이터를 가지는 그리드 셀의 이상치 점수 하한 값이 다른 그리드 셀들의 상한 값보다 높은 경우, 해당 그리드 셀을 후보 그리드 셀로 분류하고, 후보 그리드 셀을 제외한 나머지 그리드 셀 중에서 이상치 점수 하한 값이 다른 그리드 셀들의 상한 값보다 높은 그리드 셀을 후보 그리드 셀로 분류할 수 있다.
다시 말해 검출하고자 하는 다차원 데이터의 개수에 기초하여 하나 이상의 그리드 셀을 후보 그리드 셀로 선택할 수 있다.
이와 같이 이상치 검출기(140)는 그리드 셀 단위의 이상치 점수 상한 값 및 이상치 점수 하한 값을 선정하면, 그리드 셀별로 비교하여 Top-n 에 해당하는 이상치를 가지고 있을 것으로 추정되는 후보 그리드 셀들을 선택하고, 후보 그리드 셀 안에 데이터들을 대상으로 최종 Top-n 이상치를 선정할 수 있다.
여기서 Top-n은 이상치 점수가 높은 순서대로 미리 설정된 임의의 개수(n)를의미한다. (n은 자연수)
이와 같이, 이상치 검출기(140)는 이상치 점수가 높은 순서대로 미리 설정된 임의의 개수의 다차원 데이터를 이상치로 검출할 수 있다. 또는, 이상치 검출기(140)는 임계치 이상인 이상치 점수를 가지는 다차원 데이터를 이상치로 검출할 수 있다. 여기서, 임계치는 관리자에 의해 설정되는 기준 값으로 추후에 용이하게 변경 및 설정 가능하다.
이와 같은 이상치 검출 개수의 선정은 추후에 적용되는 조건에 기초하여 용이하게 변경 및 설정이 가능하다.
도 3은 한 실시예에 따른 데이터 분포 근사화하여 갱신 영역을 선별하는 과정을 설명하기 위한 예시도이다.
도 3의 (a)는 데이터 분포를 근사화하기 위해 셀 그리드 영역에 배치하는 과정을 나타내고, (b)는 셀 그리드 영역 내에서 불변 영역과 갱신 영역을 선별하는 과정을 나타내는 예시도이다.
도 3의 (a)에 도시한 바와 같이, 다차원 데이터들을 일정한 크기의 그리드 셀들의 영역에 배치한다. 이때 그리드 셀은 대각선 길이가 R인 d차원 격자 셀로 구현될 수 있다. 그리고 각 그리드 셀(Grid cell)의 중심점에 위치하는 커널 센터(Kernel Center)을 고정하고, 커널 센터에 밀도와 가중치가 설정된다.
여기서, 커널 센터의 밀도는 해당 커널 센터와 최근접한 k개의 커널 센터와의 거리와 커널 함수에 따라 결정되며, 가중치는 해당 그리드 셀 내에 위치하는 다차원 데이터의 수를 의미한다.
그리고 도 3의 (b)에 도시한 바와 같이, t시점에서 입력된 다차원 데이터의 분포와 t+k 시점에서 갱신된 다차원 데이터의 분포를 비교하여 불변 영역(skip)과 갱신 영역(update)를 분류하여 밀도 갱신 여부를 달리 설정할 수 있다.
이때, 불변 영역과 갱신 영역을 분류하는 기준은 미리 설정된 임계치(Threshold)로, 상세한 설명은 아래 도 4를 통해 설명한다.
도 4는 한 실시예에 따른 이상치 탐지 방법을 나타낸 순서도이다.
도 4에 도시한 바와 같이, 이상치 탐지 장치(100)는 다차원 데이터를 그리드 셀 영역에 배치하고, 데이터 분포에 따라 그리드 셀 기반 커널 센터의 가중치를 설정하고, 커널 센터의 밀도를 산출하여 저장한다(S110).
이상치 탐지 장치(100)는 그리드 셀 내에 위치하는 다차원 데이터의 수를 커널 센터의 가중치로 설정하고, 다음 수학식 1을 이용하여 커널 센터의 밀도 D (x)를 산출한다.
여기서, kc1, kc2, …… ,kcθK 는 데이터 X의 가장 근접한 θK개의 각 커널 중심을 의미하며, hl, xl 및 kcl는 각각 l 차원 (1 ≤ l≤ d)에서 대역폭, x값 및 kc 값이고, 대역폭 hl 는 l 차원에서 x 데이터의 위치에서 θK개 커널 중심까지의 거리의 평균으로 설정된다.
한편, 이상치 탐지 장치(100)는 다차원 데이터들의 밀도를 산출한다.
다음으로 이상치 탐지 장치(100)는 실시간으로 입력된 다차원 데이터들을 그리드 셀 영역에 배치하여 그리드 셀의 커널 센터의 가중치를 갱신한다(S120).
그리고 이상치 탐지 장치(100)는 커널 센터의 누적 변화량을 산출하고, 누적 변화량이 한계치보다 작은 값을 가지는 그리드 셀의 영역을 불변 영역으로 설정한다(S130).
이상치 탐지 장치(100)는 다음 수학식 2를 이용하여 커널 센터의 누적 변화량을 산출한다. 여기서, 말하는 커널 센터의 누적 변화량은 실질적으로 다차원 데이터의 순 변화량을 의미한다. 이는 직전 시점에서 특정 커널 센터에 a,b,c 라는 다차원 데이터가 위치하고, 현재 시점에서 특정 커널 센터에 b,c,d 라는 다차원 데이터가 위치하는 경우, a데이터가 이동하고 d 라는 데이터가 유입되었으나, 특정 커널 센터의 위치하는 다차원 데이터의 개수는 동일하므로 커널 센터의 가중치는 변하지 않는다.
다시 말해, 이상 탐지 장치(100)는 특정 다차원 데이터의 이동이 아니라 해당 그리드 셀에 위치하는 다차원 데이터의 개수만을 이용하여 순 변화량을 산출할 수 있다.
여기서, E(x;tc,tl)은 tc에서 tl 시점간의 x 데이터의 누적 변화량(E), KC는 tl 시점에서의 최근접 k개의 커널 센터 집합을 의미하며, ΔW_t는 인근 커널 센터의 가중치 변화량 집합을 의미하고, w는 커널 센터의 가중치를 의미한다.
한편, 이상치 탐지 장치(100)는 한계치를 이전 시점에서 민감도 실험을 통해 속도 개선과 정확도를 고려하여 조정할 수 있다.
여기서, 한계치는 0과 1 사이의 값을 가지며, 0에 가까울수록 밀도 오류를 허용하지 않고, 밀도 변화가 전혀 없는 영역에만 밀도 갱신을 생략하도록 불변 영역으로 설정한다. 그리고 한계치가 0보다 큰 값을 가질수록 어느 정도의 밀도 오류를 허용하면서 밀도 변화가 있는 경우에도 한계치 이하의 밀도 변화인 경우 해당 영역을 불변 영역으로 설정한다.
한편 이상치 탐지 장치(100)는 누적 변화량의 상한을 다음 수학식 3과 같이 정의할 수 있다.
이와 같이, 이상치 탐지 장치(100)는 도출되는 누적 변화량의 상한을 통해 설정된 한계치에 기초하여 밀도 값에 대한 오류 정도를 확인할 수 있다.
다시 말해, 한계치에 기초하여 불변 지역을 설정하여 밀도의 갱신을 생략할 경우, 대응되는 밀도 오류를 확인하고, 허용 범위의 밀도 오류 여부를 확인할 수 있다.
또한 추후에 관리자에 의해 불변 영역으로 추정하기 위한 누적 변화량을 특정 값으로 설정하고자 할 때, 수학식 3을 역산하여 한계치를 설정할 수 있다.
다음으로 이상치 탐지 장치(100)는 불변 영역을 제외한 그리드 셀 영역의 셀의 밀도를 산출하여 갱신하고, 다차원 데이터마다 밀도를 산출한다(S140).
이상치 탐지 장치(100)는 앞서 설명한 수학식 1을 이용하여 갱신 영역에 위치하는 각 커널 센터의 밀도를 산출하고 현재 시점의 다차원 데이터마다 밀도를 산출할 수 있다.
한편, 이상치 탐지 장치(100)는 불변 영역에 대해서는 밀도 갱신을 생략하고 갱신 마지막 시점에서의 해당 그리드 셀의 밀도를 그대로 유지할 수 있다.
이상치 탐지 장치(100)는 각 시점마다 그리드 셀 영역의 커널 센터마다의 밀도를 별도의 데이터베이스에 저장할 수 있다. 이러한 그리드 셀 영역의 일부 커널 센터의 밀도 값은 갱신되는 경우, 갱신된 부분만 변경하여 저장할 수 있다.
이때, 이상치 탐지 장치(100)는 각 시점별로 커널 센터마다의 밀도를 저장할 수 있으며, 각 밀도 값들은 갱신 시점과 함께 저장될 수 있다.
다음으로 이상치 탐지 장치(100)는 다차원 데이터의 밀도와 각 다차원 데이터와 최근접한 셀의 밀도간의 상대적 차이 값에 기초하여 다차원 데이터들마다 이상치 점수를 산정한다(S150).
이상치 탐지 장치(100)는 다차원 데이터 밀도와 각 다차원 데이터와 최근접한 커널 센터의 밀도간의 상대적 차이값을 해당 다차원 데이터 밀도의 이상치 점수로 산출할 수 있다.
다시 말해, 이상치 탐지 장치(100)는 각각의 이상치 정도에 해당하는 이상치 점수를 산출하여 정량적인 값으로 이상치를 표현할 수 있다.
이상치 탐지 장치(100)는 그리드 셀의 크기(θ_R)에 기초하여 다차원 데이터의 위치에 따라 k개의 최근접한 커널 센터들과의 거리 값이 달라지기 때문에, 이를 이용하여 밀도 상한 값과 밀도 하한 값을 산출할 수 있다.
예를 들어, 그리드 셀 안에 위치하는 다차원 데이터가 해당 그리드 셀의 커널 센터와 근접하게 위치한 다차원 데이터와 그리드 셀 안에서 가장자리에 위치하는 다차원 데이터에 의해 거리값이 달라지게 되므로 그리드 셀 단위에서의 다차원 데이터의 밀도 상한 값과 밀도 하한 값을 산출할 수 있다.
상세하게는 이상치 탐지 장치는 수학식 4를 이용하여 그리드 셀 단위에서의 다차원 데이터의 밀도에 대한 상한값(Dup(c))과 하한값(Dlow(c))를 산출하고, 그에 따른 이상치의 상한값(Sup(c))과 하한값(Slow(c))을 산출할 수 있다.
그리고 x ∈ Xd(kc)의 로컬 밀도 D(x)는 Dlow(c) ≤D(x) ≤Dup(c) 에 해당된다.
다음으로 이상치 탐지 장치(100)는 이상치 점수가 높은 순서대로 N개를 선택하여 제공한다(S160).
이상치 탐지 장치(100)는 이상치 점수를 내림차순으로 정렬하여 이상치 점수가 높은 순서대로 N개를 선택하여 선택된 이상치 점수를 가지는 다차원 데이터를 제공할 수 있다. (N은 자연수)
이때 이상치 탐지 장치(100)는 그리드 셀 단위에서 이상치 점수의 상한값과 하한값을 비교하여 그리드 셀 중에서 이상치로 도출된 다차원 데이터를 포함하는 하나 이상의 후보 그리드 셀을 선택할 수 있다.
그리고 이상치 탐지 장치(100)는 모든 다차원 데이터들의 이상치를 비교하지 않고, 후보 그리드 셀에 위치하는 다차원 데이터들의 이상치만을 비교하여 이상치 점수가 가장 높은 N개의 다차원 데이터를 이상치로 검출할 수 있다.
이하에서는 도 5 내지 도 7을 이용하여 데이터 분포 근사화하여 불변 영역을 설정하고, 이상치 탐지하는 과정에 대해서 상세하게 설명한다.
도 5는 한 실시예에 따른 데이터 분포 근사화하여 영역별 밀도를 산출하는 과정을 설명하기 위한 예시도이다.
도 5의 (a)는 다차원 데이터의 분포를 나타내고, (b)는 그리드 셀 영역에 배치된 다차원 데이터들의 분포이며, (c)는 지역 밀도 추정 그래프이다.
이상치 탐지 장치(100)는 다차원 데이터 분포를 그리드 셀 영역에 배치하면, 그리드 셀 영역의 중심점인 커널 센터(Kerrnel Center)에 그리드 셀 영역 내 위치하는 다차원 데이터의 수를 가중치로 설정한다.
이때 다차원 데이터가 복수개의 그리드 셀 영역에 겹쳐 있는 경우에는 이상치 탐지 장치(100)는 가장 많은 영역이 포함된 그리드 셀에 해당 다차원 데이터를 포함시킬 수 있다. 다시 말해, 하나의 다차원 데이터는 하나의 그리드 셀에 포함되도록 한다.
이처럼, 커널 센터의 가중치는 그리드 셀 내에 위치한 다차원 데이터 수를 의미하므로 가중치의 업데이트가 용이하며 갱신 마지막 시점과의 비교를 통해 변화를 쉽게 확인할 수 있다.
이러한 커널 센터에 대해 밀도와 각 다차원 데이터들의 밀도를 산출하면 도 (c)와 같다.
앞서 설명한 바와 같이, 커널 센터와 다차원 데이터들의 밀도 산출 방법은 동일하며, 이상치 탐지 장치(100)는 최근접 k개의 커널 센터와의 거리와 커널 함수에 따라 각 밀도 값을 결정한다.
도 6은 한 실시예에 따른 불변 영역과 갱신 영역을 설명하기 위한 예시도이다.
도 6에 도시한 바와 같이, 최근 갱신된 데이터 분포에서 오른쪽 하단의 박스각 내에서 다차원 데이터들의 최근접 커널 센터의 가중치 변경에 기초하여 누적 변화량을 기반으로 불변 영역을 설정 과정을 나타낸다.
도 6의 (a)는 t1 시점에서의 데이터 분포를 나타내고, (b)는 t2 시점에서의 데이터 분포를 나타내며, (c)는 t3 시점에서의 데이터 분포를 나타낸다.
타겟 포인트(x, 특정 다차원 데이터)에 최근접한 k개의 커널 센터와의 거리와 커널 함수에 기초하여 타겟 포인트(x)의 밀도(Dt1(x))를 산출한다.
이후 t2시점에서 갱신된 데이터 분포를 보면, 타겟 포인트(x)에 근접한 k개의 커널 센터와의 거리와 커널 함수에 기초하여 산출된 타겟 포인트(x)의 밀도(Dt2(x))가 타겟 포인트(x)의 밀도(Dt1(x))와 거의 유사한 것을 알 수 있다.
다시 말해, 타겟 포인트에 대응하여 최근접한 k개의 커널 센터에 대한 가중치들이 변화에 의해 타겟 포인트의 밀도값이 달라지기 때문에 최근접한 k개의 커널 센터의 가중치들의 변화되지 않음은 타겟 포인트의 밀도값이 변하지 않음을 추정할 수 있다.
이때, 이상치 탐지 장치(100)는 해당 타겟포인트 x의 영역을 불변 영역을 설정하고, t1 시점에서 설정된 x의 영역 내의 커널 센터의 밀도를 유지한다.
반면에 t3 시점에서의 갱신된 데이터 분포를 보면, 타겟 포인트(x)에 최근접한 k개의 커널 센터의 가중치가 변화되었기 때문에 산출된 타겟 포인트(x)의 밀도(Dt3(x))가 변하게 된다.
이에 따라, 이상치 탐지 장치(100)는 t3 시점에서 타겟 포인트(x)에 대한 누적 변화량(E(x: t2, t3): t2에서 t3 시점간의 x데이터의 누적 변화량 E)을 산출하고, 설정된 임계치(allowance threshold) 이하인지 확인한다.
이때, 가중치의 누적 변화량이 임계치 이하인 경우에는 이상치 탐지의 정확도를 저해하지 않는 수준으로 추정하고 임계치 이상이 경우에 해당 영역을 갱신 영역으로 분류할 수 있다.
이상치 탐지 장치(100)는 t3 시점에서 타겟 포인트(x)에 대한 누적 변화량이 설정된 임계치보다 큰 값을 가지므로, 해당 타겟포인트 x의 영역 내의 커널 센터의 밀도를 산출하여 갱신한다.
이러한 과정을 통해 이상치 탐지 장치(100)는 불변 영역을 설정하여 이전 시점에서의 커널 센터의 밀도를 유지하거나 현재 시점에서의 커널 센터의 밀도를 산출하여 갱신할 수 있다.
도 7은 한 실시예에 따른 실시간 다차원 데이터 스트림에서 이상치를 탐지하는 과정을 설명하기 위한 예시도이다.
도 7에 도시한 바와 같이, 이상치 탐지 장치(100)는 데이터 분포를 업데이트하고(a), 불변 영역을 설정하여 불변 영역에서는 이전 밀도 값을 유지하고, 불변 영역이 아닌 갱신 영역인 경우 밀도를 새롭게 산출하여 갱신한다(b). 그리고 이상치 탐지 장치(100)는 최종적으로 다차원 데이터들의 밀도 값과 다차원 데이터들의 최근접한 커널 센터의 밀도 값과의 상대적 차이에 의해 이상치 점수를 결정한다(c).
예를 들어, 이상치 탐지 장치(100)의 이상치 탐지 과정을 알고리즘으로 작성하면 다음 표 1과 같다.
도 8은 한 실시예에 따른 누적 변화량의 한계치에 대한 민감도 실험 결과 그래프이다.
도 8은 5 개의 데이터 셋에 기초하여 한계치 을 0에서 1로 늘리면서 R- 정밀도(R-precision), 평균 정밀도(Average precision), 건너 뛰기 비율(Skip ratio) 및 시간 감소 비율(time reduction ratio)을 측정한 결과 그래프이다.
여기서, 건너 뛰기 비율은 건너 뛴 그리드 셀 수와 건너 뛰지 않은 그리드 셀 수의 비율을 나타내고, 시간 감소 비율은 전체 CPU 시간에 대한 저장된 CPU 시간의 비율을 나타낸다. 그리고 R-정밀도는 실제 이상치 개수를 검출된 n개의 이상치 개수 중에서 실제 이상치 개수로 나눈 값이고, 평균 정밀도는 실제 이상치 개수를 상위로 검출된 이상치의 정밀도를 합한 값으로 나눈 값을 의미한다.
그리고 데이터 셋은 4 개의 실제 데이터 세트 (YahooA1, HTTP, DLR 및 ECG)와 하나의 합성 데이터 셋(YahooA2)을 이용한다. YahooA1에는 Yahoo! 사람이 라벨을 붙인 이상 값이 있는 서비스와 YahooA2에는 다양한 추세, 노이즈 및 계절성으로 생성된 합성 데이터 스트림이 포함되며, HTTP에는 다양한 네트워크 공격에 대한 이상값을 포함하고, DLR은 활동 인식 시스템을 위해 수집되었으며 인체에 부착 된 센서의 측정 값을 포함한다. 그리고 ECG에는 심전도 신호에서 추출한 기능이 포함되어 있으며 비정상적인 심장 박동의 신호는 이상 값으로 표시된다.
일반적으로 속도의 개선과 이상치 검출 정확도는 트레이드 오프 관계에 있기 때문에, 검출 정확도를 확보하면서 속도를 최대한으로 개선할 수 있는 포인트를 설정하는 것이 중요하다.
도 8에 도시한 바와 같이, 모든 데이터 세트에 대한 임계 값이 증가함에 따라 스킵 비율과 시간 감소 비율이 모두 증가하고, 그리드 셀을 더 많이 건너 뛰면 정확도가 떨어지는 것을 알 수 있다.
다시 말해, 이상치 탐지 장치(100)는 적용하고자 하는 데이터 셋마다 한계치에 대한 민감도 실험을 통해 속도 개선 및 높은 정확도를 확보할 수 있는 한계치(0.1)를 설정할 수 있다.
한편, HTTP 및 ECG는 높은 스킵 비율에도 불구하고 정확도 손실을 겪지 않은 것을 알 수 있다. 이러한 데이터 셋의 밀도 분포가 시간이 지남에 따라 거의 변하지 않았기 때문에 정확도 손실이 발생되지 않은 것으로 HTTP 및 ECG의 경우에는 오래된 데이터 분포에서도 로컬 이상 값을 효과적으로 감지할 수 있다.
도 9는 본 발명의 성능을 평가한 결과 그래프이다.
도 9의 (a)는 본 발명을 포함하여 5가지의 알고리즘에 기초하여 CPU 시간과 최대 메모리의 사용을 나타낸 그래프이고, (b)는 각 알고리즘에 대한 정확도를 나타낸 그래프이다.
도 9에서는 다음 표 2와 같이, 데이터 종류에 기초하여 각 설정된 기준 값들을 이용하여 성능 평가를 나타낸 결과 그래프이다.
Data set | Dim. | Size | Window size | Slide size | Outlier ratio |
YahooA1 | 1 | 95K | 1,415 | 71 | 1.7% |
YahooA2 | 1 | 142K | 1,421 | 71 | 0.3% |
HTTP | 3 | 567K | 6,000 | 300 | 0.3% |
DLR | 9 | 23K | 1,000 | 50 | 2.2% |
ECG | 32 | 112K | 2,237 | 117 | 16.3% |
FDC | 32 | 1.6K | 534 | 24 | 0.2% |
여기서, FDC에는 반도체 공장 시설의 시설에서 수집 한 센서 판독 값이 포함된다.
이러한 데이터 셋을 본원 발명에서 제안하는 탐지 방법(STARE)과 기존의 4가지 알고리즘(sLOF (vanilla LOF), MiLOF (compression-based LOF), DILOF (sampling-based LOF), KELOS (micro-cluster kernel center))을 이용하여 성능 평가 척도로 설정된 CPU 시간과 최대 메모리 사용량 그리고 탐지 정확도(R-precision, Average precision)를 비교한다.
도 9를 살펴보면, 실시예에 따른 실시간 이상치 탐지 방법(STARE)은 모든 데이터 셋에서 평균을 냈을 때 다른 알고리즘에 비해 가장 빠른 탐지 속도를 가지는 것을 확인할 수 있다.
상세하게는 실시간 이상치 탐지 방법(STARE)은 sLOF 알고리즘에 비해 3,107 배, KELOS에 비해 11 배 더 빠른 속도를 가지는 것을 알 수 있다. 또한, 이러한 속도 향상에도 불구하고 STARE는 가장 높은 이상 값 탐지 정확도를 달성하면서 비슷한 메모리 공간을 소비한 것을 알 수 있다.
도 10은 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구조도이다.
도 10에 도시한 바와 같이 데이터 분포 갱신기(110), 불변 영역 설정기(120), 밀도 산출기(130), 그리고 이상치 검출기(140)는 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치(200)로 구현될 수 있다.
컴퓨팅 장치(200)의 하드웨어는 적어도 하나의 프로세서(210), 메모리(220), 스토리지(230), 통신 인터페이스(240)를 포함할 수 있고, 버스를 통해 연결될 수 있다. 이외에도 입력 장치 및 출력 장치 등과 같은 다양한 구성 요소들을 더 포함될 수 있다.
프로세서(210)는 컴퓨팅 장치(200)의 동작을 제어하는 장치로서, 컴퓨터 프로그램에 포함된 명령어들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다.
메모리(220)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(210)에 의해 처리되도록 해당 컴퓨터 프로그램을 로드한다. 메모리(220)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다.
스토리지(230)는 본 발명의 동작을 실행하는데 요구되는 각종 데이터, 컴퓨터 프로그램 등을 저장한다. 통신 인터페이스(440)는 유/무선 통신 모듈일 수 있다.
컴퓨터 프로그램은, 프로세서(210)에 의해 실행되는 명령어들(instructions)을 포함하고, 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장되며, 명령어들은 프로세서(210)가 본 개시의 동작을 실행하도록 만든다. 컴퓨터 프로그램은 네트워크를 통해 다운로드되거나, 제품 형태로 판매될 수 있다.
본 발명의 실시예에 따르면, 불변 영역을 생략하여 불필요한 밀도 갱신을 방지함으로써, 계산량을 최소화하고 그에 따른 이상치 탐지의 속도를 향상시킬 수 있다.
또한, 다차원 데이터들마다 최근접한 커널 센터의 가중치 변화량에 기초하여 산출된 누적 변화량을 설정된 한계치와 비교하여 불변 영역을 설정함으로써, 이상치 탐지의 정확도를 저해하지 않으면서도 탐지 속도의 개선을 확보할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
Claims (14)
- 다차원 데이터 스트림에서 실시간 이상치 탐지 장치의 동작 방법으로서,
실시간 입력된 다차원 데이터들을 그리드 셀 영역에 배치하고, 그리드 셀 영역에 배치된 데이터 분포에 기초하여 그리드 셀의 커널 센터에 대한 가중치를 설정하는 단계,
현재 시점의 데이터 분포와 직전 시점의 데이터 분포를 비교하여 서로 대응하는 커널 센터마다 가중치의 누적 변화량을 산출하고, 상기 누적 변화량에 기초하여 그리드 셀 영역에서 불변 영역을 설정하는 단계,
상기 불변 영역의 커널 센터의 밀도를 갱신 마지막 시점에서의 설정된 밀도로 유지하고, 상기 불변 영역을 제외한 커널 센터의 밀도를 산출하여 갱신하는 단계, 그리고
현재 시점의 다차원 데이터들의 밀도를 추정하고, 다차원 데이터의 밀도와 해당 다차원 데이터와의 최근접한 커널 센터의 밀도간의 상대적 차이 값에 기초하여 미리 설정된 임의의 개수의 다차원 데이터를 이상치로 검출하는 단계
를 포함하는 동작 방법. - 제1항에서,
상기 커널 센터에 대한 가중치를 설정하는 단계는,
그리드 셀에 위치하는 다차원 데이터의 개수를 상기 그리드 셀에 대한 커널 센터의 가중치로 설정하는 동작 방법. - 제1항에서,
상기 불변 영역을 설정하는 단계는,
상기 그리드 셀 내의 데이터 개수의 순 변화량을 나타내는 상기 가중치의 누적 변화량이 설정된 한계치 이하의 값을 가지면 불변 영역으로 분류하고, 상기 누적 변화량이 한계치보다 큰 값을 가지면 갱신 영역으로 분류하는 동작 방법. - 제3항에서,
상기 커널 센터의 밀도를 산출하여 갱신하는 단계는,
상기 갱신 영역에 해당되는 최근접한 k개(k는 자연수)의 상이한 커널 센터간의 거리와 커널 함수(kernel function)에 기초하여 상기 해당 커널 센터의 밀도를 산출하는 동작 방법. - 제3항에서,
상기 이상치로 검출하는 단계는,
상기 현재 시점에서의 다차원 데이터마다 해당 위치에서 최근접한 k개(k는 자연수)의 커널 센터간의 거리와 커널 함수(kernel function)에 기초하여 상기 다차원 데이터마다의 밀도를 추정하는 동작 방법. - 제5항에서,
상기 이상치로 검출하는 단계는,
상기 상대적 차이 값을 이상치 점수로 산정하고, 상기 이상치 점수가 가장 높은 순서에 따라 상기 임의의 개수의 다차원 데이터를 이상치로 검출하거나 미리 설정된 임계치 이상의 이상치 점수를 가지는 다차원 데이터를 이상치로 검출하는 동작 방법. - 제6항에서,
상기 이상치로 검출하는 단계는,
상기 그리드 셀 안에서 다차원 데이터의 위치에 기초하여 그리드 셀마다 다차원 데이터의 밀도 상한값과 밀도 하한값을 추정하고, 상기 밀도 상한값과 상기 밀도 하한값에 기초하여 이상치 점수의 상한 값과 하한 값을 산출하는 동작 방법. - 제6항에서,
상기 이상치로 검출하는 단계는,
그리드 셀마다 이상치 점수의 상한 값과 하한 값들을 비교하여 일부 그리드 셀이 가지는 이상치 점수의 상한값보다 높은 이상치 점수의 하한값을 가지는 하나 이상의 그리드 셀을 후보 그리드 셀로 선택하고, 상기 후보 그리드 셀 내의 위치하는 다차원 데이터들을 대상으로 상기 임의의 개수의 다차원 데이터를 상기 이상치를 검출하는 동작 방법. - 컴퓨팅 장치로서,
명령어들을 포함하는 메모리, 그리고
상기 명령어들을 실행하여 다차원 스트림 데이터에서 이상치를 검출하는 적어도 하나의 프로세서를 포함하고,
상기 프로세서는
실시간 입력된 다차원 데이터들을 그리드 셀 영역에 배치하고, 그리드 셀 영역에 배치된 데이터 분포에 기초하여 그리드 셀의 커널 센터에 가중치를 설정하고,
현재 시점의 데이터 분포와 직전 시점의 데이터 분포를 비교하여, 서로 대응되는 그리드 셀의 커널 센터에 설정된 가중치의 누적 변화량에 따라 불변 영역과 갱신 영역으로 분류하며,
갱신 영역 내 커널 센터의 밀도를 산출하여 갱신하고 상기 다차원 데이터들마다 밀도를 추정하여 다차원 데이터의 밀도와 해당 다차원 데이터와의 최근접한 커널 센터의 밀도간의 상대적 차이 값에 기초하여 미리 설정된 임의의 개수의 다차원 데이터를 이상치로 검출하는 컴퓨팅 장치. - 제9항에서,
상기 프로세서는,
상기 그리드 셀에 위치하는 다차원 데이터의 수를 상기 커널 센터의 가중치로 설정하고,
상기 커널 센터의 가중치 분포에 대한 변화량을 통해 상기 누적 변화량을 산출하는 컴퓨팅 장치. - 제9항에서,
상기 프로세서는,
커널 센터의 밀도 또는 다차원 데이터의 밀도를 각 위치에서의 최근접한 k개의 커널 센터와의 거리와 커널 함수(kernel function)에 기초하여 산출하는 컴퓨팅 장치. - 제9항에서,
상기 프로세서는,
상기 불변 영역의 커널 센터의 밀도를 갱신 마지막 시점에서의 설정된 밀도로 유지하고, 상기 불변 영역을 제외한 커널 센터의 밀도를 산출하여 갱신하여 상기 현재 시점에서의 커널 센터의 밀도를 저장하는 컴퓨팅 장치. - 제9항에서,
상기 프로세서는,
상기 그리드 셀 안에서 다차원 데이터의 위치에 기초하여 그리드 셀마다 다차원 데이터의 밀도를 상한 값과 하한 값으로 추정하고, 상기 밀도 상한 값과 밀도 하한값에 기초하여 상기 상대적 차이값의 상한 값과 하한 값으로 산출하며,
그리드 셀마다 상한 값과 하한 값들을 비교하여 그리드 셀 중에서 상기 상대적 차이값의 하한값이 다른 그리드 셀들의 상한값 보다 큰 값을 가지는 그리드 셀을 후보 그리드 셀을 선택하는 컴퓨팅 장치. - 제13항에서,
상기 프로세서는,
상기 후보 그리드 셀에 위치한 다차원 데이터의 개수가 상기 임의의 개수보다 큰 값을 가지도록 하나 이상의 후보 그리드 셀을 선택하고,
상기 후보 그리드 셀 내에 위치하는 다차원 데이터들 중에서 상기 상대적 차이값이 큰 순서대로 임의의 개수의 다차원 데이터를 이상치로 선택하는 컴퓨팅 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210029081A KR102246303B1 (ko) | 2021-03-04 | 2021-03-04 | 다차원 데이터 스트림에서의 실시간 이상치 탐지 방법 및 장치 |
US17/354,219 US20220284076A1 (en) | 2021-03-04 | 2021-06-22 | Real-time outlier detection method and apparatus in multidimensional data stream |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210029081A KR102246303B1 (ko) | 2021-03-04 | 2021-03-04 | 다차원 데이터 스트림에서의 실시간 이상치 탐지 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102246303B1 true KR102246303B1 (ko) | 2021-04-29 |
Family
ID=75728483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210029081A KR102246303B1 (ko) | 2021-03-04 | 2021-03-04 | 다차원 데이터 스트림에서의 실시간 이상치 탐지 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220284076A1 (ko) |
KR (1) | KR102246303B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569686A (zh) * | 2021-07-20 | 2021-10-29 | 武汉中旗生物医疗电子有限公司 | 一种健壮平滑滤波方法、系统、设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150580B (zh) * | 2023-04-17 | 2023-06-30 | 中国水利水电科学研究院 | 一种数字孪生流域数据底板的数据资源评价方法 |
CN117235651B (zh) * | 2023-11-14 | 2024-02-02 | 湖南璟泰信息系统有限公司 | 基于物联网的企业信息数据优化管理系统 |
CN117909692B (zh) * | 2024-03-18 | 2024-05-31 | 山东海纳智能装备科技股份有限公司 | 一种双盘式电机轴承运行数据智能分析方法 |
CN118520317B (zh) * | 2024-07-23 | 2024-09-20 | 四川福莱宝生物科技有限公司 | 一种适用于高通量分析的生物元件数据分析方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013037471A (ja) * | 2011-08-05 | 2013-02-21 | Nec Corp | 確率モデル更新システム、確率モデル更新装置、確率モデル更新方法およびプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140058705A1 (en) * | 2011-04-27 | 2014-02-27 | Decision Makers Ltd. | System and Method for Detecting Abnormal Occurrences |
US9860553B2 (en) * | 2015-03-18 | 2018-01-02 | Intel Corporation | Local change detection in video |
CN110471946A (zh) * | 2019-07-08 | 2019-11-19 | 广东工业大学 | 一种基于网格剪枝的lof离群点检测方法及系统 |
US11567926B2 (en) * | 2020-03-17 | 2023-01-31 | Noodle Analytics, Inc. | Spurious outlier detection system and method |
CN112765219B (zh) * | 2021-02-01 | 2022-04-29 | 浙江大学 | 一种跳过平稳区域的流数据异常检测方法 |
-
2021
- 2021-03-04 KR KR1020210029081A patent/KR102246303B1/ko active IP Right Grant
- 2021-06-22 US US17/354,219 patent/US20220284076A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013037471A (ja) * | 2011-08-05 | 2013-02-21 | Nec Corp | 確率モデル更新システム、確率モデル更新装置、確率モデル更新方法およびプログラム |
Non-Patent Citations (3)
Title |
---|
논문1 * |
논문2 * |
논문3 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569686A (zh) * | 2021-07-20 | 2021-10-29 | 武汉中旗生物医疗电子有限公司 | 一种健壮平滑滤波方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220284076A1 (en) | 2022-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102246303B1 (ko) | 다차원 데이터 스트림에서의 실시간 이상치 탐지 방법 및 장치 | |
Keller et al. | HiCS: High contrast subspaces for density-based outlier ranking | |
Fortin et al. | Generalizing the improved run-time complexity algorithm for non-dominated sorting | |
US20180225166A1 (en) | Abnormality detection apparatus, abnormality detection method, and non-transitory computer readable medium | |
CN111314173B (zh) | 监控信息异常的定位方法、装置、计算机设备及存储介质 | |
Al-Kateb et al. | Adaptive stratified reservoir sampling over heterogeneous data streams | |
CN110874488A (zh) | 一种基于混合差分隐私的流数据频数统计方法、装置、系统及存储介质 | |
CN112640380A (zh) | 用于对事件的输入流进行异常检测的设备和方法 | |
CN113407371A (zh) | 数据异常监测方法、装置、计算机设备和存储介质 | |
CN112036085B (zh) | 一种轧钢燃耗参数推荐方法、系统、介质及终端 | |
Yoon et al. | Ultrafast local outlier detection from a data stream with stationary region skipping | |
CN115237710A (zh) | 服务器温度预测方法、装置、计算机设备和存储介质 | |
CN115641177B (zh) | 一种基于机器学习的防秒杀预判系统 | |
Yilmaz | Online nonparametric anomaly detection based on geometric entropy minimization | |
Morlini | On multicollinearity and concurvity in some nonlinear multivariate models | |
EP3699928B1 (en) | Method and system for detecting parkinson's disease | |
CN117971625B (zh) | 基于计算机云平台的性能数据智能监测系统 | |
CN110659686A (zh) | 一种用于混合属性数据的模糊粗糙粒离群点检测方法 | |
Malinen | Locally adaptable non-parametric methods for estimating stand characteristics for wood procurement planning | |
Kafaf et al. | B-kNN to Improve the Efficiency of kNN | |
Yaşar et al. | Challenges and possible solutions to density based clustering | |
CN113959428B (zh) | 一种用于跟踪非刚性多扩展目标的phd滤波方法 | |
CN112015723A (zh) | 数据等级划分方法、装置、计算机设备和存储介质 | |
EP4109374A1 (en) | Data processing method and device | |
Romero-Medrano et al. | Multinomial sampling for hierarchical change-point detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |