KR20200054364A - 클러스터링 알고리즘의 비교 학습 장치 및 방법, 그 방법을 수행하기 위한 기록 매체 - Google Patents

클러스터링 알고리즘의 비교 학습 장치 및 방법, 그 방법을 수행하기 위한 기록 매체 Download PDF

Info

Publication number
KR20200054364A
KR20200054364A KR1020180134548A KR20180134548A KR20200054364A KR 20200054364 A KR20200054364 A KR 20200054364A KR 1020180134548 A KR1020180134548 A KR 1020180134548A KR 20180134548 A KR20180134548 A KR 20180134548A KR 20200054364 A KR20200054364 A KR 20200054364A
Authority
KR
South Korea
Prior art keywords
algorithm
cluster
clustering
data
algorithms
Prior art date
Application number
KR1020180134548A
Other languages
English (en)
Other versions
KR102199506B1 (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 KR1020180134548A priority Critical patent/KR102199506B1/ko
Publication of KR20200054364A publication Critical patent/KR20200054364A/ko
Application granted granted Critical
Publication of KR102199506B1 publication Critical patent/KR102199506B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • 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
    • G06F16/358Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

클러스터링 알고리즘 중에서 하나 또는 두 개의 알고리즘을 선택하고, 선택된 알고리즘에서 분석을 위해 필요한 파라미터를 지정하는 선택부, 데이터 분포를 선택하고, 선택된 분포를 따르는 데이터를 자동으로 생성하여 데이터 셋에 추가하는 데이터 생성부, 데이터 셋을 선택부에서 지정한 알고리즘 및 파라미터에 따라 데이터를 분석하여 클러스터를 생성하고, 생성된 각각의 클러스터에 색상을 지정하는 클러스터부, 클러스터부에서 지정한 색상을 두 개로 나뉘어진 화면에서 스캐터 플롯(scatter plot)을 이용하여 각 알고리즘의 동작 과정을 동시에 나타내는 시각화부 및 시각화부의 두 개의 화면에 나타난 결과로부터 선택부에서 지정한 알고리즘과 파라미터의 영향을 학습하는 학습부를 포함하는 클러스터링 알고리즘의 비교 학습 장치를 개시하고 있다.

Description

클러스터링 알고리즘의 비교 학습 장치 및 방법, 그 방법을 수행하기 위한 기록 매체 {METHOD AND DEVICE FOR EDUCATING AND COMPARING CLUSTERING ALGORITHMS, RECORDING MEDIUM FOR PERFORMING THE METHOD}
본 발명은 클러스터링 알고리즘의 비교 학습 장치 및 방법, 그 방법을 수행하기 위한 기록 매체에 관한 것으로서, 더욱 상세하게는 하나의 데이터 셋에 대해 여러 클러스터링 알고리즘의 동작 과정을 동시에 시각화하여 알고리즘 간의 비교 분석 및 학습을 용이하게 해주는 클러스터링 알고리즘의 비교 학습 장치 및 방법에 관한 것이다.
클러스터(cluster)란 거리가 가까운 객체들의 집합 또는 객체가 높은 밀도로 분포한 지역으로 정의된다.
클러스터 분석은 데이터 마이닝(data mining)의 핵심 분야 중 하나로, 주어진 데이터 집합에서 클러스터를 찾아내는 분석이다. 데이터 집합에서 클러스터를 자동으로 찾아냄으로써 데이터 분석 효율을 높여주는 클러스터 분석은 인공지능, 빅 데이터(big data) 등에서의 빈번히 사용된다.
클러스터링 알고리즘은 크게 분할 기법(Partitioning algorithms), 계층 기법(Hierarchical algorithms), 밀도 기반 기법(Density-based algorithms)의 세 부류가 있다.
분할 기법은 보통 임의의 초기 분할 상태(partitioning)로부터 시작해서, iterative한 방식으로 분할 상태를 조정하여 특정 목적 함수를 최소화하는 방향으로 진행된다.
계층 기법(Hierarchical algorithms)은 데이터 셋에 대해 계층적인 형태의 분할 상태를 생성하는 것으로 dendrogram을 사용하여 트리 형태로 표현이 가능하다.
밀도 기반 기법(Density-based algorithms)은 가장 최근에 연구되고 개발된 클러스터링 알고리즘들이며, 클러스터의 모양에 관계없이 클러스터링이 가능하다는 장점이 있다. 여기서 클러스터는 다른 지역보다 유난히 밀도가 높은 지역으로 정의되고, 밀도가 어느 정도 낮은 지역의 데이터는 잡음(noise)으로 취급되고 이는 어떠한 클러스터에도 속하지 않게 된다.
본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은, 클러스터링 알고리즘의 비교 학습 장치 및 방법, 그 방법을 수행하기 위한 기록 매체를 제공하는 것이다.
본 발명의 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시 예에 따른 클러스터링 알고리즘 중에서 하나 또는 두 개의 알고리즘을 선택하고, 선택된 알고리즘에서 분석을 위해 필요한 파라미터를 지정하는 선택부; 데이터 분포를 선택하고, 선택된 분포를 따르는 데이터를 자동으로 생성하여 데이터 셋에 추가하는 데이터 생성부; 상기 데이터 셋을 상기 선택부에서 지정한 알고리즘 및 파라미터에 따라 데이터를 분석하여 클러스터를 생성하고, 상기 생성된 각각의 클러스터에 색상을 지정하는 클러스터부; 상기 클러스터부에서 지정한 색상을 두 개로 나뉘어진 화면에서 스캐터 플롯(scatter plot)을 이용하여 각 알고리즘의 동작 과정을 동시에 나타내는 시각화부; 및 상기 시각화부의 두 개의 화면에 나타난 결과로부터 상기 선택부에서 지정한 알고리즘과 파라미터의 영향을 학습하는 학습부;를 포함한다.
본 발명의 실시 예에서, 상기 클러스터링 알고리즘은, 분할 기법(Partitioning algorithms), 계층 기법(Hierarchical algorithms) 및 밀도 기반 기법(Density-based algorithms)을 포함할 수 있다.
본 발명의 실시 예에서, 상기 클러스터부는, 클러스터링 시뮬레이션을 수행하는 경우, 상기 데이터 생성부에 의해 데이터 셋에 데이터가 추가될 때마다 상기 선택부에서 선택된 알고리즘과 파라미터에 따라 데이터를 분석하여 클러스터를 다시 생성하고, 상기 다시 생성된 클러스터에 따라 각 점이 속한 클러스터가 변화하면, 변화된 클러스터에 대응하여 색을 지속적으로 변화시킬 수 있다.
본 발명의 실시 예에서, 상기 시각화부는, 상기 선택부에서 계층 기법(Hierarchical algorithms)에 속하는 알고리즘을 선택한 경우, 선택한 알고리즘에 대해 덴드로그램 플롯(Dendrogram plot)으로 나타낼 수 있다.
본 발명의 실시 예에서, 상기 학습부는, 이미 클러스터링 시뮬레이션을 수행하여 클러스터 결과를 알고 있는 샘플 분포 데이터 셋을 읽어 들여 클러스터링 시뮬레이션을 수행하는 경우, 상기 클러스터 결과 및 상기 시각화부의 두 개의 화면에 나타난 시뮬레이션의 클러스터 결과를 비교하여 차이를 수치, 표 및 그래프 중 어느 하나로부터 상기 선택부에서 지정한 알고리즘과 파라미터의 영향을 학습할 수 있다.
본 발명의 실시 예에서, 상기 클러스터링 알고리즘은, 자바(JAVA)언어로 구현되어 미리 구현된 추상 클래스(abstract class)를 상속받아 재정의하여 추가할 수 있다.
상기한 본 발명의 목적을 실현하기 위한 일 실시 예에 따른 클러스터링 알고리즘 중에서 하나 또는 두 개의 알고리즘을 선택하는 단계; 상기 선택된 알고리즘에서 분석을 위해 필요한 파라미터를 선택하는 단계; 데이터 분포를 선택하고, 선택된 분포를 따르는 데이터를 자동으로 생성하여 데이터 셋에 추가하는 단계; 상기 생성된 데이터 셋을 상기 선택된 알고리즘 및 파라미터에 따라 데이터를 분석하여 클러스터를 생성하고, 상기 생성된 각각의 클러스터에 색상을 지정하는 단계; 상기 지정된 색상과 좌표를 두 개의 화면에서 스캐터 플롯(scatter plot)으로 각 알고리즘의 동작과정을 동시에 보여주는 단계; 및 상기 두 개의 화면에 나타난 결과로부터 상기 선택된 알고리즘과 파라미터의 영향을 학습하는 단계;를 포함한다.
본 발명의 실시 예에서, 상기 클러스터링 데이터 각각에 색상을 지정하는 단계는, 클러스터링 시뮬레이션 수행하는 경우, 데이터가 추가될 때마다 상기 선택된 알고리즘과 파라미터에 따라 데이터를 분석하여 클러스터를 다시 생성하고, 상기 다시 생성된 클러스터에 따라 각 점이 속한 클러스터들이 변화하면, 변화된 클러스터에 대응하여 점들의 색을 지속적으로 변화시킬 수 있다.
본 발명의 실시 예에서, 상기 알고리즘의 동작과정을 동시에 보여주는 단계는, 상기 알고리즘을 선택하는 단계에서 계층 기법(Hierarchical algorithms)에 속하는 알고리즘을 선택한 경우, 선택한 알고리즘에 대해 덴드로그램 플롯(Dendrogram plot)으로 표현할 수 있다.
본 발명의 실시 예에서, 상기 선택된 알고리즘과 파라미터의 영향을 학습하는 단계는, 이미 클러스터링 시뮬레이션을 수행하여 클러스터 결과를 알고 있는 샘플 분포 데이터 셋을 읽어 들여 클러스터링 시뮬레이션을 수행하는 경우, 상기 클러스터 결과 및 상기 두 개의 화면에 나타난 시뮬레이션의 클러스터 결과를 비교하여 차이를 수치, 표 및 그래프 중 어느 하나로부터 상기 선택부에서 지정한 알고리즘과 파라미터의 영향을 학습할 수 있다.
상기한 본 발명의 목적을 실현하기 위한 일 실시 예에 따른 컴퓨터로 판독 가능한 저장 매체에는 따른 클러스터링 알고리즘의 비교 학습 방법을 실행하기 위한 컴퓨터 프로그램이 기록되어 있다.
상술한 본 발명의 일 측면에 따르면, 클러스터링 알고리즘의 비교 학습 장치 및 방법에 의해 제공되는 효과는 알고리즘과 파라미터를 선택한 후 클러스터링 시뮬레이션 수행 과정 및 결과를 두 개의 화면에서 동시에 시각화함으로써 알고리즘 및 파라미터 선택의 영향을 비교를 통해 학습하게 하여 학습 효율을 높이고, 클러스터 분석에 있어 비전문가더라도 데이터 분포에 따른 적절한 알고리즘 및 파라미터를 선택할 수 있게 하는 다목적 최적화 작업(multi-objective optimization)을 가능하게 하는 유리한 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시 예에 따른 클러스터링 알고리즘의 비교 학습 장치의 개략적인 블록도이다.
도 2는 같은 데이터 셋에 대해 다른 클러스터링 알고리즘을 적용한 예를 나타내는 산점도이다.
도 3은 계층 기법(Hierarchical clustering)에 따른 분석 결과를 나타내는 Dendrogram 도표이다.
도 4 및 도 5는 본 발명의 클러스터링 알고리즘의 비교 시뮬레이션 실행 결과의 예를 나타내는 도면들이다.
도 6은 클러스터링 알고리즘의 클래스 다이어그램(class diagram)이다.
도 7은 본 발명의 일 실시 예에 따른 클러스터링 알고리즘의 비교 학습 방법의 개략적인 흐름을 나타내는 순서도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시 예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 클러스터링 알고리즘의 비교 학습 장치의 개략적인 블록도이다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 클러스터링 알고리즘의 비교 학습 장치(100)는 선택부(110), 데이터 생성부(120), 클러스터부(130), 시각화부(140) 및 학습부(150)를 포함할 수 있다. 클러스터링 알고리즘의 비교 학습 장치(100)는 별도의 단말이거나 또는 단말의 일부 모듈일 수 있다. 도 1에 도시된 선택부(110), 데이터 생성부(120), 클러스터부(130), 시각화부(140) 및 학습부(150)의 구성은 통합 모듈로 형성되거나, 하나 이상의 모듈로 이루어질 수 있다. 그러나, 이와 반대로 각 구성은 별도의 모듈로 이루어질 수도 있다.
본 발명의 클러스터링 알고리즘의 비교 학습 장치(100)는 작업 기억 능력 측정을 수행하기 위한 소프트웨어(어플리케이션)가 설치되어 실행될 수 있으며, 선택부(110), 데이터 생성부(120), 클러스터부(130), 시각화부(140) 및 학습부(150)의 구성은 장치(100)에서 실행되는 소프트웨어에 의해 제어될 수 있다.
선택부(110)는 사용자는 비교하고 싶은 하나 또는 두 개의 클러스터링 알고리즘을 선택하고, 각 알고리즘의 세부 파라미터와 수행 속도를 조정할 수 있다. 이 때 굳이 다른 알고리즘을 선택할 필요는 없으며 같은 알고리즘에 대해 다른 파라미터 값들을 입력하여 알고리즘 동작에 미치는 파라미터의 영향을 학습할 수 있다.
이 때 클러스터링 알고리즘은 매우 다양한데 본 발명에서는 크게 분할 기법(Partitioning algorithms), 밀도 기반 기법(Density-based algorithms) 및 계층 기법(Hierarchical algorithms)으로 분류한다.
분할 기법(Partitioning algorithms)은 보통 임의의 초기 분할 상태(partitioning)로부터 시작해서, 반복적(iterative)인 방식으로 분할 상태를 조정하여 특정 목적 함수를 최소화하는 방향으로 진행된다. 예를 들어 대표적인 분할 기법인 k-means는 각 클러스터와 점 간의 거리의 분산을 최소화하는 것이 목적이다. 이 때 총 분할 구역(cluster)은 k-means의 k값처럼 사전에 미리 정해진 값을 따라야 한다.
밀도 기반 기법(Density-based algorithms)은 가장 최근에 연구되고 개발된 클러스터링 알고리즘들이며, 클러스터의 모양에 관계없이 클러스터링이 가능하다. 여기서 클러스터는 다른 지역보다 유난히 밀도가 높은 지역으로 정의되고, 밀도가 어느 정도 낮은 지역의 데이터는 소음(noise)으로 취급되고 이는 어떠한 클러스터에도 속하지 않게 된다. 예를 들어, DBSCAN에서는 특정 거리 조건과 밀도 조건(density-reachability)에 의해 두 데이터 점들을 계속 연결해 가며 밀도 높은 지역을 찾고 클러스터로 구분 짓는다.
도 2는 같은 데이터 셋에 대해 다른 클러스터링 알고리즘을 적용한 예를 나타내는 스캐터 플롯(scatter plot, 산점도) 이다.
도 2를 참고하면, 왼쪽은 밀도 기반 기법의 한 종류인 DBSCAN 알고리즘에 따른 클러스터 결과이고, 오른쪽은 K = 2로 지정된 k-means 알고리즘에 따른 클러스터 결과이다.
계층 기법(Hierarchical algorithms) 데이터 셋(data set)에 대해 계층적인 형태의 분할 상태를 생성한다. 어떤 두 리프 노드(leaf node)의 공통되는 조상 노드(Ancestor node)가 bottom level로부터 가까울수록 이 두 데이터 오브젝트(data object)는 비슷한 성질을 가지고, 클러스터 분석 관점에서는 같은 클러스터에 속할 가능성이 높다고 볼 수 있는 것이 이 덴드로그램(dendrogram)의 특징이다. 계층 기법으로부터 덴드로그램(dendrogram)을 생성하는 방법은 크게 상향식(bottom up)의 계층적 결합 클러스터링(HAC, Hierarchical agglomerative clustering) 알고리즘과 하향식(top down)의 계층적 분할 클러스터링(HDC, Hierarchical divisive clustering) 알고리즘으로 나뉜다. 이들의 단순(naive)한 접근에 의한 시간 복잡도는 각각 O(n^3), O(2^n)으로 매우 크나, 현재는 실용적인 알고리즘들이 존재한다.
도 3은 계층 기법(Hierarchical clustering)에 따른 분석 결과를 나타내는 덴드로그램(Dendrogram)이다.
도 3을 참조하면, 미국의 50개주를 지역적 특성에 따라 분류하여 가까울 수록 바닥 레벨(bottom level)에서 가까이 위치하는 것을 확인할 수 있다.
데이터 생성부(120)는 사용자에 의해 선택된 특정 데이터 분포를 따르는 새로운 데이터가 자동으로 생성되어 클러스터링 시뮬레이션의 분석 대상이 되는 데이터 셋에 추가된다.
클러스터부(130)는 상기 선택부(110)에서 선택한 알고리즘과 파라미터를 기초로 상기 데이터 생성부(12)에서 생성된 데이터 셋을 분석하여 클러스터를 생성하고, 각각의 클러스터에 식별을 위해 색상을 지정한다.
클러스터링 시뮬레이션 수행 시, 클러스터링 분석이 진행되기 전에는 회색(무색)으로 표현되어 있던 점들의 색이 클러스터링이 진행됨에 따라 지속적으로 바뀌게 되는데, 이 색의 변화를 통해 실시간으로 각 점이 속한 클러스터를 알 수 있고 전체적인 클러스터링 상태를 한 눈에 볼 수 있다.
또한, 상기 데이터 생성부에 의해 데이터 셋에 데이터가 추가될 때마다 상기 선택부에서 선택된 알고리즘과 파라미터에 따라 데이터를 분석하여 클러스터를 다시 생성하고, 상기 다시 생성된 클러스터에 따라 각 점이 속한 클러스터가 변화하면, 변화된 클러스터에 대응하여 색을 지속적으로 변화시키게 된다.
시각화부(140)는 상기 클러스터부(130)에서 분석한 결과에 따라 지정된 색상을 시각화한다. 좌우로 분할된 두 개의 화면에는 상기 선택부(110)에서 선택한 각각의 알고리즘 혹은 파라미터에 따라 다른 결과를 보여주게 된다.
이 때, 기본적인 표현 방범은 XY좌표에 따른 스캐터 플롯(scatter plot)에 나타내는 것이 일반적이나, 선택부에서 계층 기법(Hierarchical algorithms)에 속하는 알고리즘을 선택한 경우, 선택한 알고리즘에 대한 데이터 분석 결과는 덴드로그램(Dendrogram plot)으로 나타낼 수 있다.
학습부(150)는 시각화부의 두 개의 화면에 나타난 결과를 보고 상기 선택부에서 지정한 알고리즘과 파라미터의 영향을 시각적 방법으로 확인하여 알고리즘의 원리나 동작 과정을 학습하는 것을 보조한다.
이 때, 이미 클러스터링 시뮬레이션을 수행하여 클러스터 결과를 알고 있는 샘플 분포 데이터 셋에 대해 클러스터링 시뮬레이션을 수행하는 경우에는, 이미 알고 있는 클러스터 결과 및 이번 클러스터링 시뮬레이션 수행 결과로 두 개의 화면에 나타난 시뮬레이션의 클러스터 결과를 비교하여 분류의 유사성 및 차이점을 수치, 표 및 그래프 중 어느 하나로 표시되고 이에 따라, 상기 선택부에서 지정한 알고리즘과 파라미터의 영향을 더욱 효율적으로 학습할 수 있게 된다.
도 4 및 도 5는 클러스터링 알고리즘의 비교 시뮬레이션 실행 결과의 일 예를 나타내는 도면이다.
도 4를 참조하면, 동일한 데이터 셋에 대해 별개의 알고리즘을 적용한 결과를 알 수 있다.
장치의 각 부는 프로그램 인터페이스로 제공 될 수 있다. 선택부(110)는 상단과 하단에 각각 알고리즘을 선택할 수 있고 오른쪽에 있는 칸에서 각 알고리즘에서 클러스터링 분석에서 필요한 파라미터를 입력할 수 있다(210).
또한, 데이터 생성부(120)는 미리 규정되어 제공되는 데이터 분포 선택 리스트에서 어느 하나를 선택한 후 옆의 generate버튼을 누르면 선택된 데이터 분포를 따르는 새로운 데이터가 자동으로 생성되어 데이터 셋에 추가된다(270).
데이터 셋에 대해 클러스터 분석을 수행하고 색상을 지정한 후 좌우 두 개의 화면에 시각화를 수행한다. 좌측은 계층적 결합 클러스터링(HAC) 알고리즘에 의해 클러스터가 생성된 모습(250)이며, 우측은 분할 기법(Partitioning algorithms) 중 k-means에 의해 클러스터가 생성된 모습(230)이다.
도 5를 참조하면, 동일한 데이터 셋에 동일한 알고리즘인 k-means를 선택하되, 파라미터를 달리하였을 때 클러스터 결과를 알 수 있다. 좌측(330)은 k를 3으로 지정한 결과로 노란색, 빨간색, 파란색의 세가지 색으로 분류된 것을 알 수 있고, 우측(310)은 k를 5로 지정한 결과로 파란색, 노란색, 녹색, 분홍색, 빨간색의 다섯 가지 색으로 분류된 것을 알 수 있다.
도 6은 클러스터링 알고리즘의 클래스 다이어그램(class diagram)이다.
도 6을 참조하면, 알고리즘의 구현을 위해 JAVA로 설계되어 있고, 핵심 클래스인 추상 클래스(410)와 개별 클러스터링 알고리즘들(430, 450 및 470)과 상속 관계를 알 수 있다. 클러스터링 알고리즘 구현의 핵심 클래스는 Clustering(410) 추상 클래스(abstract class)로, 이 클래스를 상속받아 cluster() 함수만 재정의하면 naiveHAC(430), K-means(450), DBSCAN(470)처럼 특정 클러스터링 알고리즘들을 편리하게 추가할 수 있고 시뮬레이션 가능한 알고리즘 종류의 폭을 넓힐 수 있다.
도 7은 본 발명의 일 실시 예에 따른 클러스터링 알고리즘의 비교 학습 방법의 개략적인 흐름을 나타내는 순서도이다.
사용자에 의해 하나 또는 두 개의 클러스터링 알고리즘을 선택하고(S110), 선택된 알고리즘에 대해 분석에 필요한 세부 파라미터와 수행 속도를 조정할 수 있다(S120).
사용자에 의해 선택된 특정 데이터 분포를 따르는 새로운 데이터가 자동으로 생성되어 클러스터링 시뮬레이션의 분석 대상이 되는 데이서 셋에 추가된다(S130).
상기 알고리즘과 파라미터를 기초로 상기 데이터 셋을 분석하여 클러스터를 생성하고, 각각의 클러스터에 시각적 식별을 용이하게 하기 위해 색상을 지정한다(S140).
지정된 색상으로 분류된 데이터 셋은 좌우로 분할된 두 개의 화면에는 각각의 알고리즘 혹은 파라미터에 따라 각각의 결과를 보여준다(S150). 이 때 기본적인 표현 방법은 XY좌표에 따른 스캐터 플롯(scatter plot)에 나타내는 것이 일반적이나, 선택부에서 계층 기법(Hierarchical algorithms)에 속하는 알고리즘을 선택한 경우, 선택한 알고리즘에 대한 데이터 분석 결과는 덴드로그램(Dendrogram plot)으로 나타낼 수 있다.
두 개의 화면에 나타난 결과를 보고 알고리즘과 파라미터의 영향을 시각적 방법으로 확인하여 알고리즘의 원리나 동작 과정을 학습하는 것을 보조한다(S160).
이와 같은, 클러스터링 알고리즘의 비교 학습 방법은 어플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시 예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 클러스터링 알고리즘의 비교 학습 장치
110: 선택부
120: 데이터 생성부
130: 클러스터부
140: 시각화부
150: 학습부

Claims (11)

  1. 클러스터링 알고리즘 중에서 하나 또는 두 개의 알고리즘을 선택하고, 선택된 알고리즘에서 분석을 위해 필요한 파라미터를 지정하는 선택부;
    데이터 분포를 선택하고, 선택된 분포를 따르는 데이터를 자동으로 생성하여 데이터 셋에 추가하는 데이터 생성부;
    상기 데이터 셋을 상기 선택부에서 지정한 알고리즘 및 파라미터에 따라 데이터를 분석하여 클러스터를 생성하고, 상기 생성된 각각의 클러스터에 색상을 지정하는 클러스터부;
    상기 클러스터부에서 지정한 색상을 두 개로 나뉘어진 화면에서 스캐터 플롯(scatter plot)을 이용하여 각 알고리즘의 동작 과정을 동시에 나타내는 시각화부; 및
    상기 시각화부의 두 개의 화면에 나타난 결과로부터 상기 선택부에서 지정한 알고리즘과 파라미터의 영향을 학습하는 학습부;를 포함하는 클러스터링 알고리즘의 비교 학습 장치.
  2. 제 1 항에 있어서, 상기 클러스터링 알고리즘은,
    분할 기법(Partitioning algorithms), 계층 기법(Hierarchical algorithms) 및 밀도 기반 기법(Density-based algorithms)을 포함하는 클러스터링 알고리즘의 비교 학습 장치.
  3. 제 1 항에 있어서, 상기 클러스터부는,
    클러스터링 시뮬레이션을 수행하는 경우, 상기 데이터 생성부에 의해 데이터 셋에 데이터가 추가될 때마다 상기 선택부에서 선택된 알고리즘과 파라미터에 따라 데이터를 분석하여 클러스터를 다시 생성하고, 상기 다시 생성된 클러스터에 따라 각 점이 속한 클러스터가 변화하면, 변화된 클러스터에 대응하여 색을 지속적으로 변화시키는 클러스터링 알고리즘의 비교 학습 장치.
  4. 제 1 항에 있어서, 상기 시각화부는,
    상기 선택부에서 계층 기법(Hierarchical algorithms)에 속하는 알고리즘을 선택한 경우, 선택한 알고리즘에 대해 덴드로그램 플롯(Dendrogram plot)으로 나타내는, 클러스터링 알고리즘의 비교 학습 장치.
  5. 제 1 항에 있어서, 상기 학습부는,
    이미 클러스터링 시뮬레이션을 수행하여 클러스터 결과를 알고 있는 샘플 분포 데이터 셋을 읽어 들여 클러스터링 시뮬레이션을 수행하는 경우, 상기 클러스터 결과 및 상기 시각화부의 두 개의 화면에 나타난 시뮬레이션의 클러스터 결과를 비교하여 차이를 수치, 표 및 그래프 중 어느 하나로부터 상기 선택부에서 지정한 알고리즘과 파라미터의 영향을 학습하는, 클러스터링 알고리즘의 비교 학습 장치.
  6. 제 1 항에 있어서, 상기 클러스터링 알고리즘은,
    자바(JAVA)언어로 구현되어 미리 구현된 추상 클래스(abstract class)를 상속받아 재정의하여 추가할 수 있는, 클러스터링 알고리즘의 비교 학습 장치.
  7. 클러스터링 알고리즘 중에서 하나 또는 두 개의 알고리즘을 선택하는 단계;
    상기 선택된 알고리즘에서 분석을 위해 필요한 파라미터를 선택하는 단계;
    데이터 분포를 선택하고, 선택된 분포를 따르는 데이터를 자동으로 생성하여 데이터 셋에 추가하는 단계;
    상기 생성된 데이터 셋을 상기 선택된 알고리즘 및 파라미터에 따라 데이터를 분석하여 클러스터를 생성하고, 상기 생성된 각각의 클러스터에 색상을 지정하는 단계;
    상기 지정된 색상과 좌표를 두 개의 화면에서 스캐터 플롯(scatter plot)으로 각 알고리즘의 동작과정을 동시에 보여주는 단계; 및
    상기 두 개의 화면에 나타난 결과로부터 상기 선택된 알고리즘과 파라미터의 영향을 학습하는 단계;를 포함하는 클러스터링 알고리즘의 비교 학습 방법.
  8. 제 7 항에 있어서, 상기 클러스터링 데이터 각각에 색상을 지정하는 단계는,
    클러스터링 시뮬레이션 수행하는 경우, 데이터가 추가될 때마다 상기 선택된 알고리즘과 파라미터에 따라 데이터를 분석하여 클러스터를 다시 생성하고, 상기 다시 생성된 클러스터에 따라 각 점이 속한 클러스터들이 변화하면, 변화된 클러스터에 대응하여 점들의 색을 지속적으로 변화시키는 클러스터링 알고리즘의 비교 학습 방법.
  9. 제 7 항에 있어서, 상기 알고리즘의 동작과정을 동시에 보여주는 단계는,
    상기 알고리즘을 선택하는 단계에서 계층 기법(Hierarchical algorithms)에 속하는 알고리즘을 선택한 경우, 선택한 알고리즘에 대해 덴드로그램 플롯(Dendrogram plot)으로 표현하는, 클러스터링 알고리즘의 비교 학습 방법.
  10. 제 7 항에 있어서, 상기 선택된 알고리즘과 파라미터의 영향을 학습하는 단계는,
    이미 클러스터링 시뮬레이션을 수행하여 클러스터 결과를 알고 있는 샘플 분포 데이터 셋을 읽어 들여 클러스터링 시뮬레이션을 수행하는 경우, 상기 클러스터 결과 및 상기 두 개의 화면에 나타난 시뮬레이션의 클러스터 결과를 비교하여 차이를 수치, 표 및 그래프 중 어느 하나로부터 상기 선택된 알고리즘과 파라미터의 영향을 학습하는, 클러스터링 알고리즘의 비교 학습 방법.
  11. 제 7 항 내지 제 10 항 중 어느 한 항에 따른 클러스터링 알고리즘의 비교 학습 방법을 실행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 저장 매체.
KR1020180134548A 2018-11-05 2018-11-05 클러스터링 알고리즘의 비교 학습 장치 및 방법, 그 방법을 수행하기 위한 기록 매체 KR102199506B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180134548A KR102199506B1 (ko) 2018-11-05 2018-11-05 클러스터링 알고리즘의 비교 학습 장치 및 방법, 그 방법을 수행하기 위한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180134548A KR102199506B1 (ko) 2018-11-05 2018-11-05 클러스터링 알고리즘의 비교 학습 장치 및 방법, 그 방법을 수행하기 위한 기록 매체

Publications (2)

Publication Number Publication Date
KR20200054364A true KR20200054364A (ko) 2020-05-20
KR102199506B1 KR102199506B1 (ko) 2021-01-06

Family

ID=70919558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180134548A KR102199506B1 (ko) 2018-11-05 2018-11-05 클러스터링 알고리즘의 비교 학습 장치 및 방법, 그 방법을 수행하기 위한 기록 매체

Country Status (1)

Country Link
KR (1) KR102199506B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102249623B1 (ko) * 2020-11-04 2021-05-10 주식회사 웨이센 Ai 예측 모델을 이용한 2개의 예측 결과의 시각화 방법
KR102249635B1 (ko) * 2020-11-06 2021-05-10 주식회사 웨이센 Ai 예측 모델을 이용한 2개의 예측 결과의 학습 데이터 추가 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134750A (ja) * 2006-11-28 2008-06-12 Nippon Telegr & Teleph Corp <Ntt> データ分類装置、データ分類方法およびデータ分類プログラムならびに記録媒体
JP2016018247A (ja) * 2014-07-04 2016-02-01 株式会社日立システムズ クラスタリング試行システム及びクラスタリング試行方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134750A (ja) * 2006-11-28 2008-06-12 Nippon Telegr & Teleph Corp <Ntt> データ分類装置、データ分類方法およびデータ分類プログラムならびに記録媒体
JP2016018247A (ja) * 2014-07-04 2016-02-01 株式会社日立システムズ クラスタリング試行システム及びクラスタリング試行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
최우성, 이태민, 정순영. DBSCAN 학습 시뮬레이터 설계 및 구현. 한국컴퓨터교육학회 학술발표대회 논문집 19(1). 한국컴퓨터교육학회. 2015.1.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102249623B1 (ko) * 2020-11-04 2021-05-10 주식회사 웨이센 Ai 예측 모델을 이용한 2개의 예측 결과의 시각화 방법
KR102249635B1 (ko) * 2020-11-06 2021-05-10 주식회사 웨이센 Ai 예측 모델을 이용한 2개의 예측 결과의 학습 데이터 추가 방법

Also Published As

Publication number Publication date
KR102199506B1 (ko) 2021-01-06

Similar Documents

Publication Publication Date Title
Ultsch et al. ESOM-Maps: tools for clustering, visualization, and classification with Emergent SOM
US7502763B2 (en) Artificial neural network design and evaluation tool
CA2717514C (en) Systems and methods for connectivity analysis using functional objects
NL2029214B1 (en) Target re-indentification method and system based on non-supervised pyramid similarity learning
US20060257053A1 (en) Segmentation and data mining for gel electrophoresis images
KR102199506B1 (ko) 클러스터링 알고리즘의 비교 학습 장치 및 방법, 그 방법을 수행하기 위한 기록 매체
Nouretdinov et al. Multi-level conformal clustering: A distribution-free technique for clustering and anomaly detection
CN114706761A (zh) 一种基于约束分割的混合执行测试优化方法及装置
CN108931815A (zh) 一种岩性的分级识别方法
Van Ham et al. Visualization of state transition graphs
Camilleri et al. Parameter optimization in decision tree learning by using simple genetic algorithms
CN107832271B (zh) 函数图像绘制方法、装置、设备及计算机存储介质
US9581726B2 (en) Attribute importance determination
Barbosa et al. A novel algorithm for dynamic clustering: properties and performance
US7904413B2 (en) Method and system to segment an OLAP set
KR20110083209A (ko) 다양한 밀도를 갖는 데이터 집합 분석 방법
Parisot et al. Using clustering to improve decision trees visualization
Płaczek Neighborhood selection and rules identification for cellular automata: a rough sets approach
KR102663501B1 (ko) 포인트 클라우드의 클러스터링 맵을 생성하는 방법 및 장치
KR102273868B1 (ko) 비지도학습에서의 사용자의도 반영 방법 및 그 장치
Taranchuk Features and examples of clustering in the system GeoBazaDannych
Rübel et al. Query-Driven Visualization and Analysis
KR102630394B1 (ko) 설명가능 인공지능(xai)에 기반하여 테이블 데이터 분석 정보를 제공하기 위한 방법 및 이를 이용한 러닝 서버
Post Visual Analysis for Graphs, Networks and Flows
May Working with patterns in large multivariate datasets-Karnaugh-Veitch-Maps revisited

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant