KR20210158740A - 기계학습 성능 기반 클러스터링 평가 장치 및 그 방법 - Google Patents

기계학습 성능 기반 클러스터링 평가 장치 및 그 방법 Download PDF

Info

Publication number
KR20210158740A
KR20210158740A KR1020200134237A KR20200134237A KR20210158740A KR 20210158740 A KR20210158740 A KR 20210158740A KR 1020200134237 A KR1020200134237 A KR 1020200134237A KR 20200134237 A KR20200134237 A KR 20200134237A KR 20210158740 A KR20210158740 A KR 20210158740A
Authority
KR
South Korea
Prior art keywords
machine learning
clustering
data
performance
clusters
Prior art date
Application number
KR1020200134237A
Other languages
English (en)
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 한국전자통신연구원
Publication of KR20210158740A publication Critical patent/KR20210158740A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N5/003
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Abstract

본 발명은 기계학습 성능 기반 클러스터링 평가 장치 및 그 방법에 관한 것이다.
본 발명에 따른 기계학습 성능 기반 클러스터링 평가 장치는 기계학습 응용 구현에 사용될 데이터, 기계학습 모델, 클러스터링 알고리즘을 수신하는 입력부와, 기계학습 성능 기반 클러스터링 평가 프로그램이 저장된 메모리 및 프로그램을 실행시키는 프로세서를 포함하고, 프로세서는 클러스터링 알고리즘을 적용하여 데이터 클러스터를 도출하고, 데이터 클러스터를 활용하여 기계학습 모델을 학습하고, 구현하고자 하는 응용의 성능 관련 수치를 도출하고, 기계학습 응용 성능에 대한 기대에 대응되는 클러스터링 알고리즘 및 클러스터 수 중 적어도 어느 하나를 출력한다.

Description

기계학습 성능 기반 클러스터링 평가 장치 및 그 방법{APPARATUS AND METHOD FOR CLUSTERING VALIDATION BASED ON MACHINE LEARNING PERFORMANCE}
본 발명은 기계학습 성능 기반 클러스터링 평가 장치 및 그 방법에 관한 것이다.
기계학습 응용을 구현함에 있어서, 통상적인 경우 기계학습 응용에 사용될 데이터 내에 다양한 특성을 보이는 데이터가 섞여 있으므로, 데이터 클러스터링 적용에 따라 도출된 데이터 클러스터를 활용하여 기계학습 모델을 학습시킨다.
종래 기술에 따르면, 주어진 데이터에 기반하여 데이터 클러스터링 결과를 평가하는 방법(internal clustering validation index)이 제안되었지만, 대부분의 방법은 거리에 기반한 방법으로, 구현하고자 하는 기계학습 응용의 성능을 고려하지 않는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위해 제안된 것으로, 데이터 클러스터링에 따라 도출된 데이터 클러스터에 기반하여 기계학습 응용을 구현함에 있어서, 구현하고자 하는 기계학습 응용 성능에 기반하여 클러스터링을 평가하고, 클러스터링 알고리즘 또는 클러스터 수를 찾아 기계학습 응용 성능을 향상시키는 것이 가능한 기계학습 성능 기반 클러스터링 평가 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명에 따른 기계학습 성능 기반 클러스터링 평가 장치는 기계학습 응용 구현에 사용될 데이터, 기계학습 모델, 클러스터링 알고리즘을 수신하는 입력부와, 기계학습 성능 기반 클러스터링 평가 프로그램이 저장된 메모리 및 프로그램을 실행시키는 프로세서를 포함하고, 프로세서는 클러스터링 알고리즘을 적용하여 데이터 클러스터를 도출하고, 데이터 클러스터를 활용하여 기계학습 모델을 학습하고, 구현하고자 하는 응용의 성능 관련 수치를 도출하고, 기계학습 응용 성능에 대한 기대에 대응되는 클러스터링 알고리즘 및 클러스터 수 중 적어도 어느 하나를 출력한다.
본 발명에 따르면, 구현하고자하는 기계학습 응용에 사용될 기계학습 모델을 활용함으로써 기계학습 응용 측면에서 클러스터링 성능을 평가하고, 평가 결과에 기반하여 기계학습 응용 측면에서 최적의 성능을 보일 것으로 기대되는 클러스터링 알고리즘 및 클러스터 수를 결정하는 것이 가능한 효과가 있다.
본 발명의 효과는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 기계학습 성능 기반 클러스터링 평가 장치를 도시한다.
도 2는 본 발명의 실시예에 따른 기계학습 성능 기반 클러스터링 평가 방법을 도시한다.
도 3은 본 발명의 실시예에 따른 클러스터 수 지정이 필요한 알고리즘의 클러스터링 성능 평가 과정을 도시한다.
도 4 내지 도 6은 본 발명의 실시예에 따른 기계학습 모델 학습예를 도시한다.
도 7 내지 도 9는 본 발명의 실시예에 따른 검증 데이터 별 clustering validation index 도출 과정을 도시한다.
도 10은 본 발명의 실시예에 따른 클러스터 수에 따른 clustering validation index 비교 결과를 도시한다.
도 11은 본 발명의 실시예에 따른 clustering validation index와 기계학습 응용 성능과의 관계를 도시한다.
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 목적, 구성 및 효과를 용이하게 알려주기 위해 제공되는 것일 뿐으로서, 본 발명의 권리범위는 청구항의 기재에 의해 정의된다.
한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가됨을 배제하지 않는다.
이하에서는, 당업자의 이해를 돕기 위하여 본 발명이 제안된 배경에 대하여 먼저 서술하고, 본 발명의 실시예에 대하여 서술하기로 한다.
기계학습 응용을 구현함에 있어서, 통상적인 경우 기계학습 응용에 사용될 데이터 내에 다양한 특성을 보이는 데이터가 섞여 있다.
예를 들어, 기계학습에 기반하여 사람 행동 패턴을 분류하는 응용을 구현함에 있어서, 걷기, 뛰기, 눕기 등 다양한 형태의 데이터가 사용 가능한 데이터에 포함된다.
기계학습 응용을 구현함에 있어서, 응용에 사용할 기계학습 모델이 주어진 데이터를 잘 이해하도록 학습하는 것이 요구되는데, 다양한 특성을 보이는 데이터가 섞여 있는 상태로 기계학습 모델을 학습하는 경우, 이상적인 성능을 기대하기 어려운 문제점이 있다.
따라서, 클러스터링 없이 기계학습 응용을 구현하는 경우보다, 사용할 데이터에 클러스터링을 적용하고 분류된 데이터 클러스터에 기반하는 경우, 기계학습 응용의 성능이 향상된다.
즉, 기계학습 응용 구현에 사용할 데이터에 다양한 특성을 보이는 데이터가 섞여 있는 경우, 데이터 클러스터링 적용에 따라 도출된 데이터 클러스터를 활용하면 기계학습 모델을 보다 잘 학습시키는 것이 가능하다.
예를 들어, 기계학습에 기반하여 불량 공정을 탐지하는 응용을 구현함에 있어서, 다양한 형태의 정상 공정 데이터를 클러스터로 구분한 후에 각 클러스터 별로 기계학습 모델을 학습하고, 학습된 다수의 기계학습 모델을 활용하여 이상진단 응용을 구현하는 것이 가능하다.
데이터 클러스터링 기반 기계학습 응용 구현에 있어서, 기계학습 응용의 성능 측면을 고려하면, 주어진 데이터를 몇 개의 클러스터로 구분하는 것이 가장 유리한지, 또는 활용 가능한 여러 클러스터링 알고리즘 중에서 어떤 클러스터링 알고리즘을 적용하는 것이 가장 유리한지 고려하여야 한다.
종래 기술에 따르면, 주어진 데이터에 기반하여 데이터 클러스터링 결과를 평가하는 방법(internal clustering validation index)이 제안되었지만, 대부분의 방법은 거리에 기반한 방법이다.
예를 들어, Dunn index, Silhouette coefficient, Davies-Bouldin index 등은 동일 클러스터에 속한 데이터의 밀집 정도와 클러스터 간의 거리에 기반하여 클러스터링이 얼마나 잘 되었는지 비교한다.
종래 기술에 따르면, 구현하고자 하는 기계학습 응용의 성능을 고려하지 않는다는 문제점이 있다.
따라서, 구현하고자 하는 기계학습 응용 측면에서 클러스터링 결과를 평가하고, 이에 기반해서 최적의 기계학습 응용 성능을 보일 것으로 기대되는 클러스터링 알고리즘 또는 클러스터 수를 찾는 방법이 필요하다.
본 발명은 전술한 문제점을 해결하기 위해 제안된 것으로, 기계학습 응용 성능 측면에서 클러스터링 결과를 평가하고, 평가 결과에 기반하여 최적의 기계학습 응용 성능을 보일 것으로 기대되는 클러스터링 알고리즘 또는 클러스터 수를 찾는 장치 및 방법을 제안한다.
도 1은 본 발명의 실시예에 따른 기계학습 성능 기반 클러스터링 평가 장치를 도시한다.
본 발명의 실시예에 따른 기계학습 성능 기반 클러스터링 평가 장치는 기계학습 응용 구현에 사용될 데이터, 기계학습 모델, 클러스터링 알고리즘을 수신하는 입력부(110)와, 기계학습 성능 기반 클러스터링 평가 프로그램이 저장된 메모리(120) 및 프로그램을 실행시키는 프로세서(130)를 포함하고, 프로세서(130)는 클러스터링 알고리즘을 적용하여 데이터 클러스터를 도출하고, 데이터 클러스터를 활용하여 기계학습 모델을 학습하고, 구현하고자 하는 응용의 성능 관련 수치를 도출하고, 기계학습 응용 성능에 대한 기대에 대응되는 클러스터링 알고리즘 및 클러스터 수 중 적어도 어느 하나를 출력한다.
입력부(110)는 기계학습 응용의 구현을 위해서 사용될 원본 데이터, 원본 데이터의 가공을 통해 획득된 가공 데이터 또는 원본 데이터와 유사한 특성을 가지는 유사 데이터를 수신한다.
입력부(110)는 구현하고자 하는 기계학습 응용에 사용될 모델, 구현하고자 하는 기계학습 응용에 사용될 모델의 경량화 모텔, 구현하고자 하는 기계학습 응용에 사용될 모델과 유사한 기능을 하는 모델을 수신한다.
입력부(110)는 K-평균 군집화(K-means clustering) 알고리즘, 가우시안 혼합 모델(Gaussian mixture model) 알고리즘, 평균점 이동(mean-shift) 알고리즘, 디비스캔(DBSCAN: density-based spatial clustering of applications with noise) 알고리즘, 계층적 군집화(Hierarchical clustering) 알고리즘 등을 포함하는 클러스터링 알고리즘을 수신하고, 자체 개발 클러스터링 알고리즘을 수신한다.
프로세서(130)는 클러스터 수가 지정되어야 하는 클러스터링 알고리즘을 적용하는 경우, 지정된 클러스터 수만큼 데이터 클러스터를 생성한다.
프로세서(130)는 학습된 기계학습 모델에 기반하여 구현하고자 하는 기계학습 응용 측면에서 클러스터링 결과를 평가하는데 사용되는 clustering validation index를 도출한다.
프로세서(130)는 clustering validation index에 기반하여 클러스터링 성능 평가를 수행하고, 클러스터링 성능 평가 결과에 기초하여 최적의 기계학습 응용 성능을 보일 것으로 기대되는 클러스터링 알고리즘 또는 클러스터 수를 출력한다.
도 2는 본 발명의 실시예에 따른 기계학습 성능 기반 클러스터링 평가 방법을 도시한다.
S210 단계는 기계학습 응용 구현(학습, 검증)을 위해 사용될 데이터, 기계학습 모델, 클러스터링 알고리즘 목록을 수신한다.
이 때, 입력으로 주어지는 데이터는 구현하고자 하는 기계학습 응용의 구현을 위해서 사용될 원본 데이터이거나, 원본 데이터를 가공하여 획득한 가공 데이터이거나, 원본 데이터와 유사한 특성을 보이는 유사 데이터이다.
S210 단계에서 입력으로 주어지는 기계학습 모델은 구현하고자 하는 기계학습 응용에 사용될 모델이거나, 구현하고자 하는 기계학습 응용에 사용될 모델의 경량화 모델이거나, 구현하고자 하는 기계학습 응용에 사용될 모델과 유사한 기능을 하는 모델이다.
S210 단계에서 입력으로 주어지는 클러스터링 알고리즘 목록은 K-평균 군집화(K-means clustering) 알고리즘, 가우시안 혼합 모델(Gaussian mixture model) 알고리즘, 평균점 이동(mean-shift) 알고리즘, 디비스캔(DBSCAN: density-based spatial clustering of applications with noise) 알고리즘, 계층적 군집화(Hierarchical clustering) 알고리즘 등을 포함할 수 있고, 파이썬과 같이 프로그래밍 언어의 라이브러리(예. sklearn.cluster)를 통해 제공될 수 있다.
S210 단계에서 입력으로 주어지는 클러스터링 알고리즘 목록은 자체 개발 클러스터링 알고리즘을 포함할 수 있고, 이 경우 별도로 구현된 파일을 통해 클러스터링 알고리즘이 제공된다.
S220-1 내지 S220-M단계는 주어진 데이터에 고려 대상이 되는 클러스터링 알고리즘들을 적용하여, 데이터 클러스터를 도출한다.
이 때, 목표하는 데이터 클러스터 수가 지정되어야 하는 클러스터링 알고리즘의 경우(도 3을 참고하여 후술함), 추가 입력을 통해 클러스터 수 지정이 가능하며, 예를 들어, K-평균 군집화 알고리즘과 가우시안 혼합 모델 알고리즘 등의 경우에 지정된 클러스터 수만큼 데이터 클러스터를 생성한다.
반면, 목표하는 데이터 클러스터 수를 지정할 필요가 없는 클러스터링 알고리즘의 경우, 각 알고리즘의 절차에 따라 데이터 클러스터들이 도출되는데, 예를 들어, 평균점 이동 알고리즘, 디비스캔 알고리즘, 계측정 군집화 알고리즘 등의 경우에 데이터 클러스터 수를 지정할 필요가 없고, 동일한 데이터에 대해서 상이한 클러스터링 알고리즘들은 상이한 갯수의 데이터 클러스터를 도출할 수 있다.
S230-1 내지 S230-M 단계는 각 클러스터링 알고리즘에 기반하여 도출된 데이터 클러스터를 활용하여, 기계학습 모델을 학습한다.
이 때, 기계학습 모델은 S210 단계에서 입력으로 주어진 기계학습 모델로써, 동일한 구조의 기계학습 모델이 상이한 데이터 클러스터에 기반하여 학습되어, 적어도 하나 이상의 학습된 기계학습 모델이 도출된다.
예를 들어, 클러스터링 기반 이상 진단 응용의 경우, 데이터 클러스터 수와 동일한 수의 학습된 기계학습 모델이 도출된다.
전술한 바와 같이, 각 클러스터링 알고리즘 별로 동일한 구조의 기계학습 모델에 기반하나 상이한 가중치(weight)를 가진 모델이 도출될 수 있으며, 기계학습 모델의 출력은 구현하고자 하는 기계학습 응용 및 기계학습 모델에 따라 달라질 수 있다.
예를 들어, 기계학습 기반 이상 진단을 구현하는 경우, 기계학습 모델의 출력은 입력 데이터의 이상 지수 또는 정상 지수일 수 있다.
S240-1 내지 S240-M 단계는 학습된 기계학습 모델에 기반하여 구현하고자 하는 기계학습 응용 측면에서 클러스터링 결과를 평가하는데 사용될 clustering validation index를 도출한다.
이 때, 입력으로 주어진 데이터를 학습된 기계학습 모델에 적용하여, 구현하고자 하는 응용의 성능 관련 수치를 도출한다.
성능 관련 수치는 기계학습 모델의 출력 또는 출력을 가공한 것으로, 기계학습 모델에 따라 다양한 형태를 가진다.
예를 들어, 오토인코더(autoencoder) 계열의 경우 성능 관련 수치는 복원 에러 또는 복원 성능(입력과 출력의 유사도)일 수 있다.
예를 들어, 해당 클러스터의 데이터에 대해서는 1을, 나머지 클러스터의 데이터에 대해서는 0을 출력하도록 학습한 binary classifier의 경우 성능 관련 수치는 0과 1사이의 값으로 해당 클러스터에 데이터가 속할 가능성일 수 있다.
S250 단계는 각 클러스터링 알고리즘으로부터 도출된 clustering validation index 값에 기반하여, 클러스터링 성능 평가(clustering validation measure)를 수행한다.
S260 단계는 S250 단계에서의 클러스터링 성능 평가 결과를 토대로, 최적의 기계학습 응용 성능을 보일 것으로 기대되는 클러스터링 알고리즘 또는 클러스터 수(특정 클러스터링 알고리즘의 경우)를 출력한다.
이 때, 클러스터링 알고리즘 목록 중 가장 높은 clustering validation index 값을 보이는 클러스터링 알고리즘이 최적의 클러스터링 알고리즘으로 결정된다.
예를 들어, 오토인코더 계열의 기계학습 모델을 사용한 경우, 평균복원 성능이 가장 높은 경우의 클러스터링 알고리즘을 최적의 클러스터링 알고리즘으로 결정한다.
도 3은 본 발명의 실시예에 따른 클러스터 수 지정이 필요한 알고리즘의 클러스터링 성능 평가 과정을 도시한다.
기계학습 응용 구현(학습, 검증)을 위해 사용될 데이터, 구현하고자 하는 기계학습 응용의 구현에 사용될 기계학습 모델, 클러스터링 알고리즘, 최적의 클러스터 수를 결정함에 있어 고려할 최소 클러스터 수(도 3을 참조하면, MIN) 및 최대 클러스터 수(도 3을 참조하면, MAX)가 클러스터 수 지정이 필요한 알고리즘에 적용되는 입력으로 수신된다.
이 때, 클러스터링 알고리즘에는 클러스터 수 지정이 필요한 클러스터링 알고리즘이 적어도 하나 이상 포함되며, 클러스터링 알고리즘 별로 고려할 최소 및 최대 클러스터 수가 상이하게 지정될 수 있다.
도 3을 참조하면, 클러스터링 알고리즘 적용(S310), 기계학습 모델 학습(S320), 기계학습 모델 성능 테스트(S330) 과정이 최소 클러스터 수의 경우부터 최대 클러스터 수의 경우까지 반복 수행되며, 출력되는 결과는 고려 대상 클러스터 수 경우들에 대한 clustering validation index가 된다.
전술한 바와 같이, 클러스터 수 지정이 필요한 클러스터링 알고리즘의 경우, 최소 클러스터 수부터 최대 클러스터 수까지의 경우를 고려하여, 전술한 클러스터링 성능 평가가 진행된다.
본 발명의 실시예에 따르면, 클러스터 수 지정이 필요한 클러스터링 알고리즘으로부터 도출된 clustering validation index는 다른 클러스터링 알고리즘들로부터 도출된 clustering validation index와 함께 고려되어, 기계학습 성능 기반 클러스터링 평가가 진행된다.
본 발명의 실시예에 따르면, 클러스터 수 지정이 필요한 클러스터링 알고리즘이 최적의 클러스터링 알고리즘으로 선택된 경우에, 출력으로는 최적의 클러스터링 알고리즘 및 최적의 클러스터 수가 출력된다.
이하, 전술한 데이터 클러스터링 과정, 기계학습 모델 학습 과정, 기계학습 모델 성능 테스트 과정, 클러스터링 성능 평가 과정에 대해 상세히 설명한다.
데이터 클러스터링
본 발명의 실시예에 따르면, K-평균 군집화 알고리즘, 가우시안 혼합 모델 알고리즘, 평균점 이동 알고리즘, 디비스캔 알고리즘, 계층적 군집화 알고리즘 등을 사용하여 데이터 클러스터링을 수행하며, 데이터 클러스터링을 위해 자체 개발한 알고리즘의 적용이 가능하다.
전술한 바와 같이, 목표 클러스터 수 지정이 필요한 클러스터링 알고리즘에 대하여는 고려 대상이 되는 최소 클러스터 수 및 최대 클러스터 수가 추가적으로 제공된다.
데이터 클러스터링 알고리즘은 raw data에 바로 적용되거나, raw data를 가공한 후 적용될 수 있다.
예를 들어, PCA(principal component analysis) 등을 적용하여 raw data의 차원을 축소한 후에 데이터 클러스터링 알고리즘을 적용할 수 있다.
또한, raw data로부터 추출할 수 있는 다양한 feature를 추출한 후, 추출된 feature에 데이터 클러스터링 알고리즘을 적용할 수 있다.
기계학습 모델 학습
본 발명의 실시예에 따르면, 데이터 클러스터링 알고리즘 적용의 결과로 데이터 클러스터가 주어지고, 기계학습 모델 학습 과정은 구현하고자 하는 기계학습 응용의 구현과 동일한 방법으로 진행된다.
이 때 사용되는 기계학습 모델은 최종적으로 클러스터링에 기반하여 구현하고자 하는 기계학습 응용을 위해 사용되는 기계학습 모델이며, 기계학습 모델 학습 과정은 구현하고자 하는 기계학습 응용의 종류에 따라 상이하게 진행된다.
도 4 내지 도 6은 본 발명의 실시예에 따른 기계학습 모델 학습예를 도시한다.
도 4를 참조하면, 주어진 복수의 데이터 클러스터(401-1, 401-2, ..., 401-K)에 기반하여 하나의 기계학습 모델(402)을 학습한다.
이 경우 적용 가능한 기계학습 응용은 입력 데이터가 어느 클러스터에 속하는지, 또는 각 클러스터에 속할 확률에 대해 출력하는 분류 모델이 될 수 있다.
예를 들어, 사용자의 스마트폰을 통해 획득한 정보에 기초하여 사람의 행동을 분석하고자 하는 경우에, 기계학습 모델은 입력에 따라 사용자의 행동이 어느 클러스터에 속하는지 분류할 수 있으며, 이와 같은 분류는 대상자의 행동이 어떤 클러스터에서 가장 많은 빈도를 보이는지 분석하는데 활용될 수 있다.
또한, 도 4에 도시한 기계학습 분류 응용은 이상 진단을 위해서 사용될 수 있는데, 예를 들어, 학습에 사용되는 데이터가 정상 상태에 대한 데이터라면, 기계학습 모델에 학습에 사용된, 또는 사용되지 않은 정상 데이터를 입력으로 하여, 정상 데이터에 대한 출력 분포를 계산하고, 이를 기반으로 테스트 데이터의 출력 분포를 검토하여 테스트 데이터의 정상 여부를 판단한다.
OOD(out-of-distribution) 탐지는 이러한 응용의 한 예가 된다.
도 5를 참조하면, 하나의 데이터 클러스터(401-1, 401-2, ..., 401-K)에 하나의 기계학습 모델(402-1, 402-2, ..., 402-K)을 학습한다.
이 경우, 각 기계학습 모델(402-1, 402-2, ..., 402-K)은 해당하는 데이터 클러스터(401-1, 401-2, ..., 401-K)에 속한 데이터를 잘 이해하고 표현하도록 학습되고, 예를 들어, 오토인코더 계열의 기계학습 모델, SVM (support vector machine) 계열 기계학습 모델, 또는 SVDD (support vector data description) 계열 기계학습 모델 등이 사용된다.
도 5를 참조하면, 전술한 기계학습 모델 학습 방법은 입력 데이터가 어느 클러스터에 속하는지 판별하는 응용에 적용되는 것이 가능하다.
예를 들어, 테스트 데이터를 학습된 K개의 기계학습 모델에 적용하고, 가장 높은 적합도를 보이는 경우에 해당하는 클러스터에 속하는 것으로 간주하며, 적합도는 사용되는 기계학습 모델에 따라 상이하게 계산된다.
예를 들어, 적합도는 오토인코더 계열의 경우 입력과 출력 간의 유사도가 되고, SVDD 경우 계산된 분포의 중심까지의 거리에 반비례하는 값이 된다.
도 5를 참조하면, 전술한 기계학습 모델 학습 방법은 이상 진단을 위해서 사용되는 것이 가능하다.
예를 들어, 학습에 사용되는 데이터가 정상 상태에 대한 데이터라면, 학습된 기계학습 모델들에 정상 테스트 데이터를 적용한 경우, 특정 모델에서는 높은 적합도를 보이고, 나머지 모델에서는 낮은 적합도를 보일 것을 기대할 수 있으며, 이를 기반으로 주어진 테스트 데이터의 이상 여부를 판단한다.
도 5를 참조하면, 전술한 기계학습 모델 학습 방법은 예측 모델 고도화를 위해 사용되는 것이 가능하다.
예를 들어, 환경 변수에 기반하여 태양광 발전의 전력 생산량을 예측하는 모델을 구현함에 있어서, 유사한 환경 변수 별로 클러스터로 묶고, 클러스터 별로 특화된 예측 모델을 구현한다.
이 경우, 테스트 진행 시, 학습된 클러스터링 알고리즘에 테스트 데이터를 적용하여 테스트 데이터가 속하는 클러스터를 판별하고, 해당 클러스터에 기반하여 학습된 예측 모델을 적용하여 예측을 진행한다.
도 6을 참조하면, 데이터 클러스터(401-1, 401-2, ..., 401-K)의 수만큼 기계학습 모델(402-1, 402-2, ..., 402-K)을 학습하되, 하나의 기계학습 모델을 학습함에 있어 모든 데이터 클러스터를 활용한다.
이 경우, 각 기계학습 모델(402-1, 402-2, ..., 402-K)은 해당하는 데이터 클러스터(401-1, 401-2, ..., 401-K)에 속한 데이터를 잘 이해하고 표현하도록 학습될 뿐 아니라, 다른 데이터 클러스터에 속한 데이터도 이해하도록 학습된다.
예를 들어, binary classifier가 기계학습 모델로 사용되는 경우, binary classifier는 해당 데이터 클러스터에 속한 데이터에 대해서는 1을 출력하도록 학습되고, 나머지 클러스터에 속한 데이터에 대해서는 0을 출력하도록 학습되는 것이 가능하다.
도 6을 참조하면, 전술한 기계학습 모델 학습 방법은 입력 데이터가 어느 클러스터에 속하는지 판별하는 응용에 적용되는 것이 가능하다.
예를 들어, binary classifier를 사용한 경우에, 테스트 데이터를 학습된 K개의 기계학습 모델에 적용하여, 가장 높은 출력 값을 보이는 경우에 해당하는 클러스터에 속한 것으로 간주한다.
도 6을 참조하면, 전술한 기계학습 모델 학습 방법은 이상 진단을 위해서 사용되는 것이 가능하다.
예를 들어, 학습에 사용되는 데이터가 정상 상태에 대한 데이터라면, 학습된 기계학습 모델들에 정상 테스트 데이터를 적용한 경우 특정 binary classifier에서 높은 출력 값을 보이고 나머지 모델에서는 낮은 출력 값을 보일 것을 기대할 수 있고, 이를 기반으로 주어진 테스트 데이터의 이상 여부를 판단한다.
구현하고자 하는 기계학습 모델 수는 전술한 실시예와 같이 적용 가능하고, 성능 평가 목적으로 더 많거나 적은 모델 수를 사용하는 것 역시 가능하다.
기계학습 모델 성능 테스트
본 발명의 실시예에 따르면, 기계학습 모델 성능 테스트 과정은 최종 단계인 클러스터링 성능 평가에 사용될 clustering validation index 값을 도출하며, 특히 데이터의 레이블 없이 internal clustering validation index를 도출한다.
종래 기술에 따르면, 클러스터링 알고리즘에 의해서 도출된 데이터 클러스터의 특성에 기반하여 clustering validation index를 도출하고, 본 발명의 실시예에 따르면, 구현하고자 하는 기계학습 응용 측면에서 clustering validation index를 도출한다.
본 발명의 실시예에 따른 학습된 기계학습 모델에 기반한 기계학습 응용 성능 테스트는 기본적으로 기계학습 모델 학습에 사용된 데이터를 검증 데이터로 사용하여 수행된다.
또는, 기계학습 모델 학습에 사용되지 않은 데이터를 적용함으로써 기계학습 응용 성능 테스트를 수행한다.
예를 들어, 학습된 기계학습 성능의 검증 시, 초기에 주어진 데이터를 학습용과 검증용으로 구분하여 각각의 목적에 따라 적용하는 것이 가능하다.
예를 들어, K-fold cross validataion처럼 매 실행 시마다 학습용과 검증용 데이터를 달리 적용하여 반복 수행한 후, 각 실행의 결과를 취합하여 기계학습 응용 성능 테스트를 진행하는 것이 가능하다.
또는, 기계학습 모델 학습에 사용된 데이터를 가공한 데이터를 검증 데이터로 사용한다.
본 발명의 실시예에 따른 검증 데이터에 대한 clustering validation index를 도출하는 방법은 구현하고자 하는 기계학습 응용에 따라 상이하다.
도 7 내지 도 9는 본 발명의 실시예에 따른 검증 데이터 별 clustering validation index 도출 과정을 도시한다.
도 7은 각 검증 데이터에 대해서 clustering validation index를 도출하는 예를 도시한다.
도 7을 참조하면, 도 4와 관련하여 전술한 바와 같이, 복수의 데이터 클러스터들에 기반하여 하나의 분류 모델을 학습한 경우를 도시한다.
기계학습 모델이 분류 모델인 경우, 주어진 검증 데이터가 각 가능한 클러스터에 속할 확률이 출력되고, 이 경우 활용 가능한 출력은 분류 모델의 penultimate layer의 logit이거나, 분류 모델의 penultimate layer의 logit에 softmax 함수를 적용한 값이 되거나, 분류 모델로부터 추출할 수 있는 임의의 유의미한 정보가 된다.
이 경우, 각 검증 데이터에 대해서 도출되는 clustering validation index는 모델로부터 도출된 값 중에서 가장 큰 값일 수 있으며, 예를 들어, penultimate layer의 logit 값 중에서 가장 큰 값을 clustering validation index로 사용한다.
도 8을 참조하면, 도 5와 관련하여 전술한 바와 같이, 데이터 클러스터 별로 하나의 기계학습 모델을 학습한 경우를 도시한다.
이 경우, 일차적으로 각 검증 데이터를 학습된 클러스터링 알고리즘에 적용하여, 해당 검증 데이터가 어느 클러스터에 속하는지를 판별한다.
학습된 클러스터링 알고리즘이라 함은, 전술한 데이터 클러스터링 진행 시에 사용된 데이터에 기반하여 학습된 클러스터링 알고리즘을 의미한다.
해당 클러스터에 대한 판별 후, 해당 클러스터에 속하는 학습된 기계학습 모델에 검증 데이터를 적용하여 예측 값을 도출한다.
이 경우, clustering validation index는 도출된 출력 값과 실제 목표 값과의 근사도에 기반하여 계산될 수 있으며, 예를 들어, 1 - abs(Target - Pred)/Target 형태의 값이 된다.
도 9를 참조하면, 도 5 및 도 6과 관련하여 전술한 경우와 같이 데이터 클러스터별로 하나의 기계학습 모델을 학습한 경우에 해당한다
도 5에 도시한 경우, 기계학습 모델이 오토인코더 계열인 경우 출력은 입력된 검증 데이터에 상응하게 복원된 데이터이다.
이 경우, 각 모델로부터 도출 가능한 clustering validation index는 입력과 출력의 유사도일 수 있고, 입력과 출력의 차이를 나타내는 복원 에러일 수 있고, 또는 학습된 오토인코더 계열 모델에 학습 데이터를 적용해서 획득한 잠재 공간(latent space)에서의 특징 분포에 대한 검증 데이터의 우도(likelihood) 일 수 있다.
이와 같은 경우에, 하나의 검증 데이터를 M개의 학습된 모델에 적용하여 전술한 형태의 output을 도출할 수 있고, 이 값들 중에서 최대 값을 clustering validation index로 사용할 수 있다.
본 발명의 실시예에 따른 기계학습 모델은 binary classifier이고, 이 경우 출력은 0과 1사이 값이 된다.
이 경우, 각 모델로부터 도출 가능한 clustering validation index는 binary classifier 출력 값 자체이거나, binary classifier 출력 값을 가공한 값이 될 수 있다.
이와 같은 경우에, 하나의 검증 데이터를 M개의 학습된 모델에 적용하여 전술한 형태의 output을 도출할 수 있고, 이 값들 중에서 최대 값을 clustering validation index로 사용한다.
전술한 기계학습 모델 외에도, 구현하고자 하는 기계학습 응용에 사용되는 다른 형태의 기계학습 모델로부터, 기계학습 응용의 성능과 관련된 성능 지수를 도출하여 사용할 수 있다.
본 발명의 실시예에 따르면, 구현하고자 하는 기계학습 응용에 사용될 기계학습 모델로부터 clustering validation index를 도출하고, 이를 기반으로 클러스터링 성능 평가를 진행한다.
클러스터링 성능 평가
고려 대상이 되는 클러스터링 알고리즘 및 클러스터 수에 따라, 주어진 검증 데이터에 대한 clustering validation index를 다양한 방법으로 비교한다.
예를 들어, 검증 데이터에 대한 clustering validation index 값을 내림차순으로 정렬한 후, 동일 인덱스에 해당하는 clustering validation index 값을 비교하여, 가장 큰 값을 가장 많이 보이는 경우를 최적의 클러스터링 알고리즘 또는 클러스터 수로 결정한다.
예를 들어, 검증 데이터에 대한 clustering validation index 값을 선 그래프로 보고 그 이하 면적을 계산하여, 가장 큰 면적을 보이는 경우를 최적의 클러스터링 알고리즘 또는 클러스터 수로 결정한다.
예를 들어, 검증 데이터에 대한 clustering validation index의 합을 비교하여 가장 큰 합을 보이는 경우를, 최적의 클러스터링 알고리즘 또는 클러스터 수로 결정한다.
예를 들어, 검증 데이터에 대한 clustering validation index 값을 PDF (probability density function)등과 같은 분포로 변환한 뒤, 각 분포를 비교함으로써 최적의 클러스터링 알고리즘 또는 클러스터 수를 결정한다.
이하에서는, 본 발명의 실시예에 따른 기계학습 성능 기반 클러스터링 평가 장치에 대해 실제 환경에서의 성능 검증을 위해 진행한 실험 결과를 설명한다.
본 발명의 실시예에 따르면, 클러스터링 기반 기계학습 응용으로서, 클러스터링 기반 이상 진단을 구현한다.
도 5와 관련하여 전술한 바와 같은 구조로 구현하되, 오토인코더 계열인 RSRAE모델을 사용한다.
성능 검증을 위해 MNIST와 Fashion-MNIST에 기반하여 실험을 진행하였고, 데이터 클러스터링을 위해서는 adaptive image clustering 방법을 사용하였다.
도 10은 본 발명의 실시예에 따른 동일 클러스터링 알고리즘에 대해 상이한 클러스터 수를 적용한 경우에서의 클러스터 수에 따른 clustering validation index 비교 결과를 도시한다.
주어진 데이터는 5개의 MNIST 클래스 데이터를 포함한 경우이며, 도 10에 도시된 범례는 지정된 클러스터 수를 의미한다.
X 축은 검증 데이터의 인덱스이며 Y 측은 normalized된 clustering validation index 값이다.
도 10에 도시된 결과는 내림차순으로 정렬한 값으로, 클러스터 수가 2에서 실제 클래스 수인 5에 가까워질 수록 clustering validation index 값이 전체적으로 증가한다.
이 결과를 통해, 본 발명의 실시예에 따른 각 검증 데이터의 clustering validation index 값에 기초하여 클러스터링 성능 검증을 진행하는 방법이 타당함을 알 수 있다.
도 11은 본 발명의 실시예에 따른 clustering validation index와 기계학습 응용 성능과의 관계를 도시한다.
도 11은 internal clustering validation index인 Dunn index, Silhouette coefficient, Davies-Bouldin index로부터 도출될 clustering validation index와 이상 진단 응용의 실제 성능 지표(도면 11에서 AUC, AP)와의 관계를 보여준다.
Y축은 normalized된 clustering validation index를 보여준다.
이 경우에, 검증 데이터에 대한 clustering validation index는 각 검증 데이터에 대한 clustering validation index의 합이 된다.
도면 11을 참조하면, 7개의 MNIST 클래스 데이터를 포함하는 경우이며, 범례는 지정된 클러스터 수를 의미한다.
도 11을 참조하면, 종래 기술에 따르면 실제 성능 지표와 큰 상관관계를 보이지 않는 것과 달리, 본 발명의 실시예에 따르면 실제 성능 지표와 큰 상관관계를 보이는 것을 볼 수 있다.
이 결과를 통해, 구현하고자 하는 기계학습 응용의 성능 측면에서 clustering validation index를 도출할 수 있고 클러스터링 성능 평가를 진행함에 대해 확인할 수 있다.
한편, 본 발명의 실시예에 따른 기계학습 성능 기반 클러스터링 평가 방법은 컴퓨터 시스템에서 구현되거나, 또는 기록매체에 기록될 수 있다. 컴퓨터 시스템은 적어도 하나 이상의 프로세서와, 메모리와, 사용자 입력 장치와, 데이터 통신 버스와, 사용자 출력 장치와, 저장소를 포함할 수 있다. 전술한 각각의 구성 요소는 데이터 통신 버스를 통해 데이터 통신을 한다.
컴퓨터 시스템은 네트워크에 커플링된 네트워크 인터페이스를 더 포함할 수 있다. 프로세서는 중앙처리 장치(central processing unit (CPU))이거나, 혹은 메모리 및/또는 저장소에 저장된 명령어를 처리하는 반도체 장치일 수 있다.
메모리 및 저장소는 다양한 형태의 휘발성 혹은 비휘발성 저장매체를 포함할 수 있다. 예컨대, 메모리는 ROM 및 RAM을 포함할 수 있다.
따라서, 본 발명의 실시예에 따른 기계학습 성능 기반 클러스터링 평가 방법은 컴퓨터에서 실행 가능한 방법으로 구현될 수 있다. 본 발명의 실시예에 따른 기계학습 성능 기반 클러스터링 평가 방법이 컴퓨터 장치에서 수행될 때, 컴퓨터로 판독 가능한 명령어들이 본 발명에 따른 기계학습 성능 기반 클러스터링 평가 방법을 수행할 수 있다.
한편, 상술한 본 발명에 따른 기계학습 성능 기반 클러스터링 평가 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.

Claims (1)

  1. 기계학습 응용 구현에 사용될 데이터, 기계학습 모델, 클러스터링 알고리즘을 수신하는 입력부;
    기계학습 성능 기반 클러스터링 평가 프로그램이 저장된 메모리; 및
    상기 프로그램을 실행시키는 프로세서를 포함하고,
    상기 프로세서는 클러스터링 알고리즘을 적용하여 데이터 클러스터를 도출하고, 상기 데이터 클러스터를 활용하여 기계학습 모델을 학습하고, 구현하고자 하는 응용의 성능 관련 수치를 도출하고, 기계학습 응용 성능에 대한 기대에 대응되는 클러스터링 알고리즘 및 클러스터 수 중 적어도 어느 하나를 출력하는 것
    인 기계학습 성능 기반 클러스터링 평가 장치.
KR1020200134237A 2020-06-24 2020-10-16 기계학습 성능 기반 클러스터링 평가 장치 및 그 방법 KR20210158740A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200077397 2020-06-24
KR1020200077397 2020-06-24

Publications (1)

Publication Number Publication Date
KR20210158740A true KR20210158740A (ko) 2021-12-31

Family

ID=79177891

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200134237A KR20210158740A (ko) 2020-06-24 2020-10-16 기계학습 성능 기반 클러스터링 평가 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20210158740A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102458759B1 (ko) * 2022-05-24 2022-10-26 비케이엠 주식회사 발전량 예측 방법 및 발전량 예측 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102458759B1 (ko) * 2022-05-24 2022-10-26 비케이엠 주식회사 발전량 예측 방법 및 발전량 예측 장치

Similar Documents

Publication Publication Date Title
CN109408389B (zh) 一种基于深度学习的代码缺陷检测方法及装置
JP6498107B2 (ja) 分類装置、方法、及びプログラム
US8682813B2 (en) Sample class prediction method, prediction program, and prediction apparatus
JP5880454B2 (ja) 画像識別装置及びプログラム
CN109491914B (zh) 基于不平衡学习策略高影响缺陷报告预测方法
CN111931179B (zh) 基于深度学习的云端恶意程序检测系统及方法
US20200286095A1 (en) Method, apparatus and computer programs for generating a machine-learning system and for classifying a transaction as either fraudulent or genuine
US20190286937A1 (en) Computer-readable recording medium, method for learning, and learning device
CN115277189B (zh) 基于生成式对抗网络的无监督式入侵流量检测识别方法
JP5905375B2 (ja) 誤分類検出装置、方法、及びプログラム
KR20210158740A (ko) 기계학습 성능 기반 클러스터링 평가 장치 및 그 방법
Jere et al. Principal component properties of adversarial samples
CN111639688A (zh) 一种基于线性核svm的物联网智能模型的局部解释方法
Cong et al. Exact and consistent interpretation of piecewise linear models hidden behind APIs: A closed form solution
US11755688B2 (en) Apparatus and method for generating training data for a machine learning system
Lu et al. Multi-class malware classification using deep residual network with Non-SoftMax classifier
CN114519187A (zh) 基于多维度混合特征的Android恶意应用检测方法及系统
TWI647586B (zh) 行為推論模型生成裝置及其行為推論模型生成方法
CN114428720A (zh) 基于p-k的软件缺陷预测方法、装置、电子设备及介质
CN109918905B (zh) 行为推论模型生成装置及其行为推论模型生成方法
Tyrrell et al. Algorithm-performance personas ‘for Siamese meta-learning and automated algorithm selection
Dong et al. A region selection model to identify unknown unknowns in image datasets
Konate et al. A comparison of saliency methods for deep learning explainability
CN110555338A (zh) 对象识别方法和装置、神经网络生成方法和装置
US20240119349A1 (en) Method and system for optimizing training of a machine learning model