KR102234014B1 - 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치 - Google Patents

클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치 Download PDF

Info

Publication number
KR102234014B1
KR102234014B1 KR1020200004441A KR20200004441A KR102234014B1 KR 102234014 B1 KR102234014 B1 KR 102234014B1 KR 1020200004441 A KR1020200004441 A KR 1020200004441A KR 20200004441 A KR20200004441 A KR 20200004441A KR 102234014 B1 KR102234014 B1 KR 102234014B1
Authority
KR
South Korea
Prior art keywords
data points
convex hull
clustering
clusters
data
Prior art date
Application number
KR1020200004441A
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 성균관대학교산학협력단
Priority to KR1020200004441A priority Critical patent/KR102234014B1/ko
Application granted granted Critical
Publication of KR102234014B1 publication Critical patent/KR102234014B1/ko

Links

Images

Classifications

    • 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/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Landscapes

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

Abstract

본 발명은 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치에 관한 것으로, 본 발명의 일 실시예에 따른 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법은, 데이터 포인트를 복수 개의 클러스터로 클러스터링하는 단계, 상기 클러스터링된 복수 개의 클러스터 중에서 단일 클래스 레이블(Single Class Label)을 가진 단일 클러스터(Singular Cluster)에 대한 컨벡스 헐(Convex Hull)을 생성하는 단계, 상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거하는 단계, 및 상기 클러스터링된 복수 개의 클러스터 중에서 상기 제거된 내부 데이터 포인트를 제외한 나머지 데이터 포인트 세트를 분류하는 단계를 포함한다.

Description

클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치{METHODS AND APPARATUSES FOR CLASSIFYING DATA POINT USING CLUSTERING BASED CONVEX HULL}
본 발명은 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치에 관한 것이다.
무선 센서 네트워크는 IoT(Internet of Things) 환경에서 효율적인 데이터 수집 및 전송을 가능하게 한다. 또한 SVM(Support Vector Machine)은 뛰어난 견고성으로 인해 다양한 분류 문제에 널리 적용되는 효율적인 기계 학습 기술이다.
하지만, 데이터양이 기하급수적으로 증가함에 따라 트레이닝(Training) 시간이 많이 증가한다. 결과적으로, 대규모 데이터 세트에 대한 SVM(Support Vector Machine) 활용은 다소 제한적이다.
본 발명의 실시예들은 중요하지 않은 데이터를 효율적으로 제거함으로써, 데이터 포인트를 분류를 위한 SVM(Support Vector Machine)의 트레이닝 시간을 단축시킬 수 있는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치를 제공하고자 한다.
본 발명의 실시예들은 클러스터링 기반 컨벡스 헐을 이용하여 SV(Support Vector)와 관련 없는 트레이닝 데이터 즉, 중요하지 않은 데이터를 효율적으로 제거함으로써, SVM의 트레이닝 시간을 단축할 수 있는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치를 제공하고자 한다.
다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위의 환경에서도 다양하게 확장될 수 있을 것이다.
본 발명의 일 실시예에 따르면, 데이터 포인트 분류 장치에 의해 수행되는 데이터 포인트 분류 방법에 있어서, 데이터 포인트를 복수 개의 클러스터로 클러스터링하는 단계; 상기 클러스터링된 복수 개의 클러스터 중에서 단일 클래스 레이블(Single Class Label)을 가진 단일 클러스터(Singular Cluster)에 대한 컨벡스 헐(Convex Hull)을 생성하는 단계; 상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거하는 단계; 및 상기 클러스터링된 복수 개의 클러스터 중에서 상기 제거된 내부 데이터 포인트를 제외한 나머지 데이터 포인트 세트를 분류하는 단계를 포함하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법이 제공될 수 있다.
상기 클러스터링하는 단계는, K-평균 클러스터링(K-mean Clustering) 알고리즘을 사용하여 상기 학습 데이터 포인트를 복수 개의 클러스터로 분할할 수 있다.
상기 분할된 복수 개의 클러스터의 수는, 상기 데이터 포인트의 개수 및 상기 데이터 포인트로 이루어지는 데이터 세트의 구조에 기초하여 선택될 수 있다.
상기 컨벡스 헐을 생성하는 단계는, 퀵헐(Quickhull) 알고리즘을 사용하여 상기 단일 클러스터에 대한 컨벡스 헐을 생성할 수 있다.
상기 클러스터링된 복수 개의 클러스터는, 적어도 하나의 단일 클래스 레이블을 가진 단일 클러스터와 적어도 하나의 복수 클래스 레이블을 가진 비단일(Nonsingular Cluster) 클러스터를 포함할 수 있다.
상기 내부 데이터 포인트를 제거하는 단계는, 상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점을 선택하고, 상기 선택된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거할 수 있다.
상기 내부 데이터 포인트를 제거하는 단계는, 상기 단일 클러스터마다 상기 생성된 컨벡스 헐의 꼭짓점을 각각 선택할 수 있다.
상기 나머지 데이터 포인트 세트는, 상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점과, 상기 클러스터링된 복수 개의 클러스터 중에서 복수 클래스 레이블을 가진 비단일 클러스터의 데이터 포인트가 결합되어 구성될 수 있다.
상기 나머지 데이터 포인트를 분류하는 단계는, 상기 나머지 데이터 포인트 세트에 대해 서포트 벡터 머신(Support Vector Machine)을 적용하여 상기 나머지 데이터 포인트를 분류할 수 있다.
한편, 본 발명의 다른 실시예에 따르면, 하나 이상의 프로그램을 저장하는 메모리; 및 상기 저장된 하나 이상의 프로그램을 실행하는 프로세서를 포함하고, 상기 프로세서는, 데이터 포인트(Training Data Point)를 복수 개의 클러스터로 클러스터링하고, 상기 클러스터링된 복수 개의 클러스터 중에서 단일 클래스 레이블(Single Class Label)을 가진 단일 클러스터(Singular Cluster)에 대한 컨벡스 헐(Convex Hull)을 생성하고, 상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거하고, 상기 클러스터링된 복수 개의 클러스터 중에서 상기 제거된 내부 데이터 포인트를 제외한 나머지 데이터 포인트 세트를 분류하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치가 제공될 수 있다.
상기 프로세서는, K-평균 클러스터링(K-mean Clustering) 알고리즘을 사용하여 상기 학습 데이터 포인트를 복수 개의 클러스터로 분할할 수 있다.
상기 분할된 복수 개의 클러스터의 수는, 상기 데이터 포인트의 개수 및 상기 데이터 포인트로 이루어지는 데이터 세트의 구조에 기초하여 선택될 수 있다.
상기 프로세서는, 퀵헐(Quickhull) 알고리즘을 사용하여 상기 단일 클러스터에 대한 컨벡스 헐을 생성할 수 있다.
상기 클러스터링된 복수 개의 클러스터는, 적어도 하나의 단일 클래스 레이블을 가진 단일 클러스터와 적어도 하나의 복수 클래스 레이블을 가진 비단일(Nonsingular Cluster) 클러스터를 포함할 수 있다.
상기 프로세서는, 상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점을 선택하고, 상기 선택된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거할 수 있다.
상기 프로세서는, 상기 단일 클러스터마다 상기 생성된 컨벡스 헐의 꼭짓점을 각각 선택할 수 있다.
상기 나머지 데이터 포인트 세트는, 상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점과, 상기 클러스터링된 복수 개의 클러스터 중에서 복수 클래스 레이블을 가진 비단일 클러스터의 데이터 포인트가 결합되어 구성될 수 있다.
상기 프로세서는, 상기 나머지 데이터 포인트 세트에 대해 서포트 벡터 머신(Support Vector Machine)을 적용하여 상기 나머지 데이터 포인트를 분류할 수 있다.
한편, 본 발명의 다른 실시예에 따르면, 프로세서에 의해 실행 가능한 하나 이상의 프로그램을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 하나 이상의 프로그램은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금: 데이터 포인트(Training Data Point)를 복수 개의 클러스터로 클러스터링하고, 상기 클러스터링된 복수 개의 클러스터 중에서 단일 클래스 레이블(Single Class Label)을 가진 단일 클러스터(Singular Cluster)에 대한 컨벡스 헐(Convex Hull)을 생성하고, 상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거하고, 상기 클러스터링된 복수 개의 클러스터 중에서 상기 제거된 내부 데이터 포인트를 제외한 나머지 데이터 포인트 세트를 분류하게 하는 명령어들을 포함하는, 비 일시적 컴퓨터 판독 가능한 저장 매체가 제공될 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 실시예들은 중요하지 않은 데이터를 효율적으로 제거함으로써, 데이터 포인트를 분류를 위한 SVM(Support Vector Machine)의 트레이닝 시간을 단축시킬 수 있다.
본 발명의 실시예들은 클러스터링 기반 컨벡스 헐을 이용하여 SV(Support Vector)와 관련 없는 트레이닝 데이터 즉, 중요하지 않은 데이터를 효율적으로 제거함으로써, SVM의 트레이닝 시간을 단축할 수 있다.
본 발명의 실시예들은 종래의 SVM(Support Vector Machine)을 활용한 데이터 분류와 비교하여 높은 분류 정확도 및 빠른 속도를 나타내면서 종래의 분류 기법들과도 차별화된 효과를 나타낼 수 있다.
도 1은 본 발명의 일 실시예에 따른 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치의 구성을 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법을 나타낸 흐름도이다.
도 3은 본 발명의 일 실시예에 사용된 두 가지 클래스의 트레이닝 데이터 세트를 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 데이터 포인트의 클러스터 구성을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 컨벡스 헐의 꼭짓점 식별 동작을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 중복 데이터 제거 동작을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법을 나타낸 상세 흐름도이다.
도 8 내지 도 11은 본 발명의 일 실시예를 적용하여 남아있는 데이터 포인트 수에 대한 클러스터 수의 영향을 나타낸 도면이다.
도 12 내지 도 15는 본 발명의 일 실시예와 종래의 분류 알고리즘에 대해 트레이닝 시간의 비교 결과를 나타낸 도면이다.
도 16 및 도 17은 본 발명의 일 실시예와 종래의 분류 알고리즘에 대해 다른 클러스터 수를 가진 나머지 데이터 포인트 수의 백분율의 비교 결과를 나타낸 도면이다.
도 18 내지 도 21은 본 발명의 일 실시예와 종래의 분류 알고리즘에 대해 분류 정확도의 비교 결과를 나타낸 도면이다.
도 22는 본 발명의 일 실시예에서 표준 편차가 다른 두 데이터 세트의 나머지 데이터 포인트 수를 나타낸 도면이다.
도 23 및 도 24는 본 발명의 일 실시예와 종래의 분류 알고리즘에 대해 바나나 데이터 세트를 이용한 트레이닝 시간 비교 및 분류 정확도 비교를 나타낸 도면이다.
도 25는 본 발명의 일 실시예와 종래의 분류 알고리즘에 대해 SVM 가이드 1의 데이터 세트를 이용한 트레이닝 시간 비교 및 분류 정확도 비교표를 나타낸 도면이다.
도 26은 본 발명의 일 실시예와 종래의 분류 알고리즘에 대해 바나나 데이터 세트를 이용한 두 가지 분류 알고리즘의 분류 정확도 비교표를 나타낸 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해될 수 있다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들이 용어들에 의해 한정되는 것은 아니다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 본 발명에서 사용한 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나 이는 당 분야에 종사하는 기술자의 의도, 판례, 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시예들을 첨부 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치의 구성을 나타낸 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다. 그러나 도시된 구성요소 모두가 필수 구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 데이터 포인트 분류 장치(100)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 데이터 포인트 분류 장치(100)가 구현될 수 있다.
본 발명의 일 실시예는 대규모 데이터 세트에 대한 SVM(Support Vector Machine)의 효율을 극대화하여 트레이닝 시간을 크게 단축시키는 것이다. SVM(Support Vector Machine, SVM)에서 SV(Support Vector)와 관련이 없는 데이터 포인트는 의사 결정 경계를 만드는데 아무런 영향을 미치지 않는다. 따라서 본 발명의 일 실시예에 따른 데이터 포인트 분류 장치(100)는 분류의 복잡성을 크게 줄이고 적절한 의사 결정 기능의 구성에 영향을 미치지 않으면서 중복 데이터 포인트를 제거할 수 있다.
이를 위해, 본 발명의 일 실시예에 따른 데이터 포인트 분류 장치(100)는 클러스터링 알고리즘(예컨대, K-평균(k-means) 클러스터링 동작)과 컨벡스 헐(CH, Convex Hull) 알고리즘을 수행한다. 여기서, K-평균 클러스터링 알고리즘의 시간 복잡도는 고정된 수의 클러스터 (k) 및 차원(d)에 대하여
Figure 112020003759044-pat00001
이며, CH(Convex Hull) 알고리즘의 시간 복잡도는
Figure 112020003759044-pat00002
이다. 이때 n은 데이터 포인트의 수이다.
이하, 도 1의 본 발명의 일 실시예에 따른 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치(100)의 각 구성요소들의 구체적인 구성 및 동작을 설명한다.
메모리(110)는 하나 이상의 프로그램을 저장한다. 또한, 메모리(110)는 SVM의 트레이닝을 위한 트레이닝 데이터 포인트를 저장한다.
프로세서(120)는 메모리(110)에 저장된 하나 이상의 프로그램을 실행한다. 프로세서(120)는 데이터 포인트(Training Data Point)를 복수 개의 클러스터로 클러스터링하고, 클러스터링된 복수 개의 클러스터 중에서 단일 클래스 레이블(Single Class Label)을 가진 단일 클러스터(Singular Cluster)에 대한 컨벡스 헐(Convex Hull)을 생성하고, 단일 클러스터의 데이터 포인트 중에서 그 생성된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거하고, 클러스터링된 복수 개의 클러스터 중에서 그 제거된 내부 데이터 포인트를 제외한 나머지 데이터 포인트 세트를 분류한다.
실시예에 따르면, 프로세서(120)는 K-평균 클러스터링(K-mean Clustering) 알고리즘을 사용하여 상기 학습 데이터 포인트를 복수 개의 클러스터로 분할할 수 있다.
실시예에 따르면, 분할된 복수 개의 클러스터의 수는 데이터 포인트의 개수 및 데이터 포인트로 이루어지는 데이터 세트의 구조에 기초하여 선택될 수 있다.
실시예에 따르면, 프로세서(120)는 퀵헐(Quickhull) 알고리즘을 사용하여 단일 클러스터에 대한 컨벡스 헐을 생성할 수 있다.
실시예에 따르면, 클러스터링된 복수 개의 클러스터는 적어도 하나의 단일 클래스 레이블을 가진 단일 클러스터와 적어도 하나의 복수 클래스 레이블을 가진 비단일(Nonsingular Cluster) 클러스터를 포함할 수 있다.
실시예에 따르면, 프로세서(120)는 단일 클러스터의 데이터 포인트 중에서 그 생성된 컨벡스 헐의 꼭짓점을 선택하고, 선택된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거할 수 있다.
실시예에 따르면, 프로세서(120)는 단일 클러스터마다 생성된 컨벡스 헐의 꼭짓점을 각각 선택할 수 있다.
나머지 데이터 포인트 세트는 단일 클러스터의 데이터 포인트 중에서 그 생성된 컨벡스 헐의 꼭짓점과, 클러스터링된 복수 개의 클러스터 중에서 복수 클래스 레이블을 가진 비단일 클러스터의 데이터 포인트가 결합되어 구성될 수 있다.
실시예에 따르면, 프로세서(120)는 나머지 데이터 포인트 세트에 대해 서포트 벡터 머신(Support Vector Machine)을 적용하여 나머지 데이터 포인트를 분류할 수 있다.
본 발명의 일 실시예에 따른 데이터 포인트 분류 장치(100)는 클러스터링 기반 컨벡스 헐(CBCH, Clustering-Based Convex Hull) 방식을 수행한다. 데이터 포인트 분류 장치(100)는 전체 트레이닝 데이터에 대하여 초기에 k-평균(k-means) 클러스터링 알고리즘을 적용한 다음, 각 클러스터의 컨벡스 헐(CH, Convex Hull)을 생성한다. 그리고 데이터 포인트 분류 장치(100)는 데이터 포인트 분류 장치(100)는 생성된 컨벡스 헐의 꼭짓점을 제외한 컨벡스 헐 내부에 위치한 데이터 포인트들을 제거하고, 생성된 컨벡스 헐의 꼭짓점과 SV(Support Vector)와 관련된 데이터 포인트만을 트레이닝 데이터 포인트로 포함시킨다.
이에 따라, 본 발명의 일 실시예는 SVM(Support Vector Machine)의 기하학적 해석을 기반으로 선형 분리가 가능한 데이터 세트 및 선형 분리가 불가능한 데이터 세트 모두에 적용할 수 있다.
도 2는 본 발명의 일 실시예에 따른 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법을 나타낸 흐름도이다.
단계 S101에서, 데이터 포인트 분류 장치(100)는 데이터 포인트를 클러스터링하여 클러스터를 생성한다.
단계 S102에서, 데이터 포인트 분류 장치(100)는 클러스터링된 단일 클러스터에 대해 컨벡스 헐을 구성한다.
단계 S103에서, 데이터 포인트 분류 장치(100)는 구성된 컨벡스 헐 내부에 위치한 중복 데이터 포인트를 제거한다.
단계 S103에서, 데이터 포인트 분류 장치(100)는 제거된 중복 데이터 포인트를 제외한 나머지 데이터 포인트에 대해 SVM(Support Vector Machine)을 적용하여 데이터 포인트를 분류한다.
이하, 도 3 내지 도 6을 참조하여 데이터 포인트 분류 방법을 구체적으로 설명하기로 한다.
도 3은 본 발명의 일 실시예에 사용된 두 가지 클래스의 트레이닝 데이터 세트를 나타낸 도면이다.
클래스-1(Class-1) 및 클래스-2(Class-2)로 이루어진 두 가지 클래스의 트레이닝 데이터 포인트(201, 202)가 포함된 트레이닝 데이터 세트가 도 3에 도시되어 있다. 도 3은 두 클래스 레이블의 85개 데이터 포인트를 보여준다. 본 발명의 일 실시예에 따른 데이터 포인트 분류 장치(100)는 트레이닝 데이터 세트를 클래스-1의 데이터 포인트(201)와 클래스-2의 데이터 포인트(202)로 분류하는 것을 학습한다.
도 4는 본 발명의 일 실시예에 따른 데이터 포인트의 클러스터 구성을 나타낸 도면이다.
도 2의 단계 S101인 데이터 포인트 클러스터링 단계에 대해 설명하기로 한다. 원래의 트레이닝 데이터 포인트는 k-평균 클러스터링 알고리즘을 사용하여 k 개의 클러스터로 분할된다. 여기서, 클러스터의 수는 데이터 포인트의 수 및 데이터 세트의 구조에 기초하여 선택될 수 있다. 이때 k 값과 초기 중심 값은 본 발명의 일 실시예에 사용되는 클러스터링 알고리즘의 효율성에 큰 영향을 미친다. k-평균 클러스터링 알고리즘을 적용하면 일부 클러스터에는 하나의 클래스 레이블의 데이터 요소만 포함될 수 있다. 하나의 클래스 레이블의 데이터 요소가 포함된 클러스터를 단일 클러스터(Singular Cluster)(210)로 지칭하기로 한다. 반면, 다른 클러스터에는 둘 이상의 클래스 레이블의 데이터 요소가 있을 수 있다. 둘 이상의 클래스 레이블의 데이터 요소가 포함된 클러스터를 비단일(Nonsingular) 클러스터(220)로 지칭하기로 한다.
이와 관련하여 두 개의 서로 다른 데이터 하위 집합 U와 M은
Figure 112020003759044-pat00003
Figure 112020003759044-pat00004
이다. 여기서, U와 M은 각각 단일 클러스터(210) 및 비단일 클러스터(220)를 나타낸다. 따라서 모든 군집 K는
Figure 112020003759044-pat00005
에 의해 결정된다. k 값이 클수록 각 클러스터의 데이터가 적으며, 각 클러스터의 데이터 수가 줄어들수록 단일 클러스터(210)가 있을 확률이 높아진다. 따라서 클러스터의 수를 늘리면 단일 클러스터(210)의 수가 증가할 수 있다. 대부분의 비단일 클러스터(220)에는 각 클래스의 경계에 가까운 데이터 포인트가 포함된다. SV(Support Vector)가 각 클래스 레이블의 경계에 있기 때문에 비단일 클러스터(220)는 SV(Support Vector)를 포함할 가능성이 높다. 따라서 M의 모든 데이터 포인트는 본 발명의 일 실시예에서는 제거되지 않고 감소 없이 유지된다. 본 발명의 일 실시예는 단일 클러스터(210)의 U에만 데이터 포인트를 제거하는 축소 동작을 적용한다.
본 발명의 일 실시예에 따른 데이터 포인트 분류 장치(100)는 데이터 포인트를 K-평균 알고리즘을 사용하여 5개의 클러스터로 나눈다. 도 4는 주어진 데이터 세트를 가진 4개의 단일 클러스터(210)와 1개의 비단일 클러스터(220)를 보여준다.
도 5는 본 발명의 일 실시예에 따른 컨벡스 헐의 꼭짓점 식별 동작을 나타낸 도면이다.
도 2의 단계 S102인 컨벡스 헐의 구성 단계를 구체적으로 설명하기로 한다. 컨벡스 헐의 구성 단계에서, 본 발명의 일 실시예에 따른 데이터 포인트 분류 장치(100)는 퀵헐(Quickhull) 알고리즘을 사용하여 각 클러스터
Figure 112020003759044-pat00006
에 대한 r개의 컨벡스 헐(230, 240)을 구성한다. 여기서, r은 U의 클러스터 수이다. 그런 다음 컨벡스 헐(230, 240)의 꼭짓점 ver(231, 241)은
Figure 112020003759044-pat00007
와 같이 결정된다. 여기서
Figure 112020003759044-pat00008
(231) 및
Figure 112020003759044-pat00009
(241)는 각각 클래스 레이블 1 및 클래스 레이블 2에 해당하는 꼭짓점 세트이다. 도 5는 각 컨벡스 헐(230, 240) 및 각 컨벡스 헐의 꼭짓점(231, 241)을 보여준다. 또한, 도 5는 각 컨벡스 헐의 꼭짓점(231, 241)을 제외한 각 컨벡스 헐(230, 240) 내부에 위치한 중복 데이터 포인트(232, 242)를 보여준다.
도 6은 본 발명의 일 실시예에 따른 중복 데이터 제거 동작을 나타낸 도면이다.
도 3의 단계 S103인 중복 데이터 포인트의 제거 단계를 구체적으로 설명한다. 중복 데이터 포인트의 제거 단계에서, 본 발명의 일 실시예에 따른 데이터 포인트 분류 장치(100)는 각 꼭짓점(231, 241)으로 선택되지 않은 단일 클러스터 U의 데이터 포인트(232, 242)를 제거한다. 'Rem' 데이터 포인트라고 지칭되는 나머지 트레이닝 데이터 세트는 각 꼭짓점(231, 241)과 M의 데이터 포인트(221, 222)를
Figure 112020003759044-pat00010
와 같이 결합하여 구성된다. 도 6은 주어진 데이터 세트를 가진 'Rem' 데이터 포인트를 보여준다. 따라서 도 6은 SVM(Support Vector Machine) 분류기를 구축하는데 사용되는 트레이닝 데이터 세트로 41개의 데이터 포인트만 남아 있음을 보여준다.
다음으로, 도 3의 단계 S104인 나머지 데이터 포인트에 대한 SVM 적용 단계를 구체적으로 설명하기로 한다. 마지막으로 본 발명의 일 실시예에 따른 데이터 포인트 분류 장치(100)는 SVM(Support Vector Machine)을 나머지 데이터 포인트에 적용하여 데이터 포인트를 분류할 수 있다. 데이터 포인트 분류 장치(100)는 이 단계에서 SVM 기술을 사용하여 원래의 트레이닝 데이터 세트보다 훨씬 작은 나머지 데이터 세트만 사용하여 정확한 결정 경계를 찾을 수 있다. 데이터 포인트의 수가 감소함에 따라 SVM은 데이터 포인트를 분류하기 위해 더 적은 수의 계산 단계를 필요로 한다. 따라서 SVM을 위한 트레이닝 과정은 정확도를 떨어뜨리지 않고 훨씬 빠르게 완료될 수 있다.
도 7은 본 발명의 일 실시예에 따른 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법을 나타낸 상세 흐름도이다.
단계 S201에서, 데이터 포인트 분류 장치(100)는 데이터 포인트에 대해 K-평균 클러스터링을 수행한다.
단계 S202에서, 데이터 포인트 분류 장치(100)는 i=1 동작을 수행한다. i는 클래스 레이블 번호를 나타낸다.
단계 S203에서, 데이터 포인트 분류 장치(100)는 i ≤ 단일 클래스 레이블의 최대 개수인지를 확인한다.
단계 S204에서, 데이터 포인트 분류 장치(100)는 i ≤ 단일 클래스 레이블의 최대 개수이면, i=i+1 동작을 수행한다.
또한, 단계 S205에서, 데이터 포인트 분류 장치(100)는 i ≤ 단일 클래스 레이블의 최대 개수이면, 클러스터가 단일 클래스 레이블 데이터를 포함하는지를 확인한다.
단계 S206에서, 데이터 포인트 분류 장치(100)는 클러스터가 단일 클래스 레이블 데이터를 포함하지 않으면, 비단일 클러스터의 데이터를 유지한다.
반면, 단계 S207에서, 데이터 포인트 분류 장치(100)는 클러스터가 단일 클래스 레이블 데이터를 포함하면, 단일 클러스터에 추가한다.
단계 S208에서, 데이터 포인트 분류 장치(100)는 j=1 동작을 수행한다. j는 클러스터 번호를 나타낸다.
단계 S209에서, 데이터 포인트 분류 장치(100)는 j ≤ 단일 클러스터의 최대 개수인지를 확인한다.
단계 S210에서, 데이터 포인트 분류 장치(100)는 j ≤ 단일 클러스터의 최대 개수이면 컨벡스 헐을 생성한다.
단계 S211에서, 데이터 포인트 분류 장치(100)는 컨벡스 헐의 꼭짓점을 선택한다.
단계 S212에서, 데이터 포인트 분류 장치(100)는 선택된 컨벡스 헐의 꼭짓점을 나머지 트레이닝 데이터 세트에 추가한다. 또한, 데이터 포인트 분류 장치(100)는 나머지 트레이닝 데이터 세트에 단계 S206에서 유지된 비단일 클러스터의 데이터 포인트도 추가한다.
또한, 단계 S213에서, 데이터 포인트 분류 장치(100)는 j = j+1 동작을 수행한다.
단계 S214에서, 데이터 포인트 분류 장치(100)는 나머지 데이터 세트에 SVM을 적용한다.
한편, 본 발명의 일 실시예는 결과를 검증하기 위해 컴퓨터 시뮬레이션에 의해 평가된다. 이는 매트랩 툴박스(Matlab toolbox)를 이용하여 본 발명의 일 실시예인 CBCH(Clustering-Based Convex Hull) 방식의 성능을 다양한 인공 데이터 세트와 두 개의 서로 다른 실제 데이터 세트를 사용하였다.
도 8 내지 도 11은 본 발명의 일 실시예를 적용하여 남아있는 데이터 포인트 수에 대한 클러스터 수의 영향을 나타낸 도면이다.
도 8에는 레이블-1(Label-1) 및 레이블-2(Label-2)를 갖는 데이터 포인터가 도시되어 있다.
도 9 내지 도 11은 도 8에 도시된 데이터 포인트 세트에 대해 본 발명의 일 실시예에 따른 CBCH(Clustering-Based Convex Hull) 방식을 적용하여 남은 데이터 포인트를 보여준다. 도 9 내지 도 11은 각각 클러스터 수를 20개, 150개 및 500개로 증가시킬 때 남아있는 데이터 포인트의 수를 나타낸다. 클러스터 수가 20개인 도 9 보다 클러스터 수가 150개인 도 10에서 남아 있는 데이터 포인트가 감소한 것을 알 수 있다. 클러스터 수가 150개인 도 10 보다 클러스터 수가 500개인 도 11에서 남아 있는 데이터 포인트가 증가한 것을 알 수 있다. 클러스터 수가 너무 많으면 많은 컨벡스 헐이 단일 클러스터가 된다. 따라서 많은 컨벡스 헐의 꼭짓점이 나머지 데이터 포인트로 포함됨에 따라, 나머지 데이터 포인트의 수가 증가할 수 있다.
도 12 내지 도 15는 본 발명의 일 실시예와 종래의 분류 알고리즘에 대해 트레이닝 시간의 비교 결과를 나타낸 도면이다.
종래의 분류 알고리즘에는 클러스터링 기반(Clustering-based) 알고리즘, SMO(Sequential Minimal Optimization) 알고리즘, FDR 기반(FDR, Fisher's Discriminant Ratio) 알고리즘이 있다. 본 발명의 일 실시예에 따른 CBCH(Clustering-Based Convex Hull)와 달리 종래의 다른 분류 알고리즘은 클러스터링 없이 데이터 요소를 분류한다. 따라서 클러스터 수에 관계없이 일정한 교육 시간이 걸린다. 이때 SMO 알고리즘은 모든 데이터 포인트를 줄이지 않고 사용하는데, 가장 긴 트레이닝 시간이 걸린다.
반면, 본 발명의 일 실시예에 따른 CBCH(Clustering-Based Convex Hull) 알고리즘은 클러스터 수에 관계없이 대부분 가장 적은 트레이닝 시간이 걸린다. 클러스터 수가 증가하면 트레이닝 시간이 줄어들지만 특정 클러스터 수를 넘어서면 거의 변하지 않는다. 이는 클러스터 수가 증가함에 따라 컨벡스 헐의 꼭짓점이 증가하기 때문이다.
도 12 내지 도 15에는 각각 60,000, 180,000, 300,000 및 510,000 데이터 포인트에 대해 본 발명의 일 실시예와 종래의 분류 알고리즘을 적용한 트레이닝 시간이 나타나 있다. 100개의 클러스터를 갖는 본 발명의 일 실시예에 따른 CBCH(Clustering-Based Convex Hull) 알고리즘의 트레이닝 시간은 각각 60,000, 180,000, 300,000 및 510,000 데이터 포인트에 대해 4.51, 20.66, 55.14, 및 121.42이다. 이는 본 발명의 일 실시예에 따른 CBCH 알고리즘의 트레이닝 시간이 데이터 포인트 수에 선형적으로 비례하지는 않지만, 다소 가파르게 증가한다는 것을 나타낸다.
도 16 및 도 17은 본 발명의 일 실시예와 종래의 분류 알고리즘에 대해 다른 클러스터 수를 가진 나머지 데이터 포인트 수의 백분율의 비교 결과를 나타낸 도면이다.
도 16 및 도 17에 도시된 바와 같이, 본 발명의 일 실시예에 따른 CBCH(Clustering-Based Convex Hull) 알고리즘 및 FDR 기반 알고리즘의 나머지 데이터 포인트 수를 비교하기로 한다. 본 발명의 일 실시예에 따른 CBCH 알고리즘은 데이터 포인트의 90% 이상을 제거하며, 종래의 FDR 기반 알고리즘과 비교하여 데이터 포인트의 30% 이상 더 제거함을 보여준다. 특정 지점까지 클러스터 수를 늘리면 트레이닝 데이터 포인트 수가 줄어들지만 그 지점을 넘어서는 변화는 거의 없다.
도 18 내지 도 21은 본 발명의 일 실시예와 종래의 분류 알고리즘에 대해 분류 정확도의 비교 결과를 나타낸 도면이다.
도 18 내지 도 21에 도시된 바와 같이, 본 발명의 일 실시예와 종래의 분류 알고리즘인 4가지의 분류 알고리즘의 정확성은 10배 교차 검증 기법을 사용하여 비교하였다.
결과는 분류에서 모든 클러스터의 영향을 유지하기 위해 전체 클러스터를 제거하지 않으므로, 클러스터 수가 많을 때 본 발명의 일 실시예에 따른 CBCH(Clustering-Based Convex Hull)의 정확도가 종래의 다른 알고리즘보다 우수함을 나타낸다.
도 22는 본 발명의 일 실시예에서 표준 편차가 다른 두 데이터 세트의 나머지 데이터 포인트 수를 나타낸 도면이다.
도 22에 도시된 바와 같이, 데이터 세트 2(Dataset-2)의 표준 편차가 데이터 세트 1(Dataset-1)보다 크므로, 데이터 세트 2의 두 클래스 레이블의 경계 데이터 포인트는 데이터 세트 1의 경계 데이터 포인트보다 서로 더 가깝다. 따라서, 데이터 세트 2의 비단일 클러스터에 할당된 데이터 포인트의 수는 데이터 세트 1의 데이터 포인트보다 많다. 결과적으로, 데이터 세트 2의 나머지 데이터 포인트의 수는 데이터 세트 1보다 크다.
도 23 및 도 24는 본 발명의 일 실시예와 종래의 분류 알고리즘에 대해 바나나 데이터 세트를 이용한 트레이닝 시간 비교 및 분류 정확도 비교를 나타낸 도면이다.
바나나 데이터 세트는 바나나 형태 분포를 갖는 2개의 클래스 라벨의 5300개의 데이터 포인트를 갖는다. 바나나 데이터 세트 하에서 본 발명의 일 실시예에 따른 CBCH 알고리즘의 성능은 도 23의 종래의 다른 알고리즘과 비교된다. 군집의 수가 20 내지 250으로 변함에 따라 트레이닝 시간 및 정확도가 비교된다.
본 발명의 일 실시예에 따른 CBCH 방식은 결정 표면을 구성하는데 중요한 SV를 유지하면서 다수의 여분의 데이터 포인트를 제거하기 때문에, 트레이닝 시간 및 정확도 모두에 대해 다른 방식보다 실질적으로 우수한 성능을 발휘한다.
도 25는 본 발명의 일 실시예와 종래의 분류 알고리즘에 대해 SVM 가이드 1의 데이터 세트를 이용한 트레이닝 시간 비교 및 분류 정확도 비교표를 나타낸 도면이다.
본 발명의 일 실시예에 따른 CBCH 방식은 대규모 데이터 세트에 효과적이지만, 소규모 데이터 세트에도 우수한 성능을 나타낸다. 소규모이지만 큰 차원의 데이터 세트에 대한 본 발명의 일 실시예에 따른 CBCH 알고리즘의 성능을 조사하기 위해, 3089개의 데이터 포인트만을 갖는 4-D 공간 SVM 가이드1(guide1) 데이터 세트가 선택된다. 군집 수가 30인 3가지 분류 방법의 성능이 도 25에 도시된 [표 1]에 열거되어 있다. 이는 트레이닝 데이터 포인트의 28.2%를 제거함으로써 본 발명의 일 실시예에 따른 CBCH 알고리즘에 의해 가장 작은 트레이닝 시간 및 가장 높은 정확도가 달성됨을 나타낸다.
도 26은 본 발명의 일 실시예와 종래의 분류 알고리즘에 대해 바나나 데이터 세트를 이용한 두 가지 분류 알고리즘의 분류 정확도 비교표를 나타낸 도면이다.
본 발명의 일 실시예에 따른 CBCH 알고리즘은 단일 클러스터의 컨벡스 헐을 구성함으로써 중복 데이터 포인트를 신중하게 제거하고 필요한 샘플을 유지함으로써 데이터 감소가 없는 방식과 동일한 높은 정확도를 달성한다. 트레이닝 데이터로서 단일 클러스터의 컨벡스 헐의 정점을 유지하는 것은 본 발명의 일 실시예의 정확성에 상당한 영향을 미친다. 본 발명의 일 실시예에 따른 CBCH 방식이 트레이닝 데이터 세트로서 비단일 클러스터만을 사용하는 비단일(Nonsingular) 방법과 비교되는 [표 2]에서 검증된다. [표 2]로부터 컨벡스 헐의 정점이 트레이닝 데이터 세트에 포함되지 않으면 분류의 정확도가 실질적으로 감소됨을 알 수 있다. 본 발명의 일 실시예에 따른 CBCH 방식은 비단일 클러스터의 데이터 포인트와 단일 클러스터의 필요한 데이터 포인트의 데이터 포인트를 유지함으로써 처리 시간과 정확도 사이의 양호한 트레이드 오프를 허용한다.
한편, 프로세서에 의해 실행 가능한 하나 이상의 프로그램을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 하나 이상의 프로그램은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금: 데이터 포인트(Training Data Point)를 복수 개의 클러스터로 클러스터링하고, 상기 클러스터링된 복수 개의 클러스터 중에서 단일 클래스 레이블(Single Class Label)을 가진 단일 클러스터(Singular Cluster)에 대한 컨벡스 헐(Convex Hull)을 생성하고, 상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거하고, 상기 클러스터링된 복수 개의 클러스터 중에서 상기 제거된 내부 데이터 포인트를 제외한 나머지 데이터 포인트 세트를 분류하게 하는 명령어들을 포함하는, 비 일시적 컴퓨터 판독 가능한 저장 매체가 제공될 수 있다.
한편, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 본 발명의 일 실시예에 따르면, 이상에서 설명된 다양한 실시예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 다양한 실시예들에 따른 기기의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시예에 따른 기기에서의 처리 동작을 특정 기기가 수행하도록 한다. 비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
또한, 상술한 다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어저서는 안될 것이다.
100: 데이터 포인트 분류 장치
110: 메모리
120: 프로세서

Claims (19)

  1. 데이터 포인트 분류 장치에 의해 수행되는 데이터 포인트 분류 방법에 있어서,
    데이터 포인트를 복수 개의 클러스터로 클러스터링하는 단계;
    상기 클러스터링된 복수 개의 클러스터 중에서 단일 클래스 레이블(Single Class Label)을 가진 단일 클러스터(Singular Cluster)에 대한 컨벡스 헐(Convex Hull)을 생성하는 단계;
    상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거하는 단계; 및
    상기 클러스터링된 복수 개의 클러스터 중에서 상기 제거된 내부 데이터 포인트를 제외한 나머지 데이터 포인트 세트를 분류하는 단계를 포함하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법.
  2. 제1항에 있어서,
    상기 클러스터링하는 단계는,
    K-평균 클러스터링(K-mean Clustering) 알고리즘을 사용하여 상기 데이터 포인트를 복수 개의 클러스터로 분할하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법.
  3. 제1항에 있어서,
    상기 복수 개의 클러스터의 수는,
    상기 데이터 포인트의 개수 및 상기 데이터 포인트로 이루어지는 데이터 세트의 구조에 기초하여 선택되는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법.
  4. 제1항에 있어서,
    상기 컨벡스 헐을 생성하는 단계는,
    퀵헐(Quickhull) 알고리즘을 사용하여 상기 단일 클러스터에 대한 컨벡스 헐을 생성하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법.
  5. 제1항에 있어서,
    상기 클러스터링된 복수 개의 클러스터는,
    적어도 하나의 단일 클래스 레이블을 가진 단일 클러스터와 적어도 하나의 복수 클래스 레이블을 가진 비단일(Nonsingular Cluster) 클러스터를 포함하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법.
  6. 제1항에 있어서,
    상기 내부 데이터 포인트를 제거하는 단계는,
    상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점을 선택하고, 상기 선택된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법.
  7. 제1항에 있어서,
    상기 내부 데이터 포인트를 제거하는 단계는,
    상기 단일 클러스터마다 상기 생성된 컨벡스 헐의 꼭짓점을 각각 선택하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법.
  8. 제1항에 있어서,
    상기 나머지 데이터 포인트 세트는,
    상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점과, 상기 클러스터링된 복수 개의 클러스터 중에서 복수 클래스 레이블을 가진 비단일 클러스터의 데이터 포인트가 결합되어 구성되는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법.
  9. 제1항에 있어서,
    상기 나머지 데이터 포인트를 분류하는 단계는,
    상기 나머지 데이터 포인트 세트에 대해 서포트 벡터 머신(Support Vector Machine)을 적용하여 상기 나머지 데이터 포인트를 분류하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법.
  10. 하나 이상의 프로그램을 저장하는 메모리; 및
    상기 저장된 하나 이상의 프로그램을 실행하는 프로세서를 포함하고,
    상기 프로세서는,
    데이터 포인트(Training Data Point)를 복수 개의 클러스터로 클러스터링하고,
    상기 클러스터링된 복수 개의 클러스터 중에서 단일 클래스 레이블(Single Class Label)을 가진 단일 클러스터(Singular Cluster)에 대한 컨벡스 헐(Convex Hull)을 생성하고,
    상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거하고,
    상기 클러스터링된 복수 개의 클러스터 중에서 상기 제거된 내부 데이터 포인트를 제외한 나머지 데이터 포인트 세트를 분류하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치.
  11. 제10항에 있어서,
    상기 프로세서는,
    K-평균 클러스터링(K-mean Clustering) 알고리즘을 사용하여 상기 데이터 포인트를 복수 개의 클러스터로 분할하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치.
  12. 제10항에 있어서,
    상기 복수 개의 클러스터의 수는,
    상기 데이터 포인트의 개수 및 상기 데이터 포인트로 이루어지는 데이터 세트의 구조에 기초하여 선택되는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치.
  13. 제10항에 있어서,
    상기 프로세서는,
    퀵헐(Quickhull) 알고리즘을 사용하여 상기 단일 클러스터에 대한 컨벡스 헐을 생성하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치.
  14. 제10항에 있어서,
    상기 클러스터링된 복수 개의 클러스터는,
    적어도 하나의 단일 클래스 레이블을 가진 단일 클러스터와 적어도 하나의 복수 클래스 레이블을 가진 비단일(Nonsingular Cluster) 클러스터를 포함하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치.
  15. 제10항에 있어서,
    상기 프로세서는,
    상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점을 선택하고, 상기 선택된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치.
  16. 제10항에 있어서,
    상기 프로세서는,
    상기 단일 클러스터마다 상기 생성된 컨벡스 헐의 꼭짓점을 각각 선택하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치.
  17. 제10항에 있어서,
    상기 나머지 데이터 포인트 세트는,
    상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점과, 상기 클러스터링된 복수 개의 클러스터 중에서 복수 클래스 레이블을 가진 비단일 클러스터의 데이터 포인트가 결합되어 구성되는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치.
  18. 제10항에 있어서,
    상기 프로세서는,
    상기 나머지 데이터 포인트 세트에 대해 서포트 벡터 머신(Support Vector Machine)을 적용하여 상기 나머지 데이터 포인트를 분류하는, 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 장치.
  19. 프로세서에 의해 실행 가능한 하나 이상의 프로그램을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 하나 이상의 프로그램은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
    데이터 포인트(Training Data Point)를 복수 개의 클러스터로 클러스터링하고,
    상기 클러스터링된 복수 개의 클러스터 중에서 단일 클래스 레이블(Single Class Label)을 가진 단일 클러스터(Singular Cluster)에 대한 컨벡스 헐(Convex Hull)을 생성하고,
    상기 단일 클러스터의 데이터 포인트 중에서 상기 생성된 컨벡스 헐의 꼭짓점을 제외한 내부 데이터 포인트를 제거하고,
    상기 클러스터링된 복수 개의 클러스터 중에서 상기 제거된 내부 데이터 포인트를 제외한 나머지 데이터 포인트 세트를 분류하게 하는 명령어들을 포함하는, 비 일시적 컴퓨터 판독 가능한 저장 매체.
KR1020200004441A 2020-01-13 2020-01-13 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치 KR102234014B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200004441A KR102234014B1 (ko) 2020-01-13 2020-01-13 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200004441A KR102234014B1 (ko) 2020-01-13 2020-01-13 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102234014B1 true KR102234014B1 (ko) 2021-03-30

Family

ID=75265137

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200004441A KR102234014B1 (ko) 2020-01-13 2020-01-13 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102234014B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023085717A1 (ko) * 2021-11-09 2023-05-19 에스케이플래닛 주식회사 클러스터링을 기반으로 하는 레이블링을 수행하기 위한 장치, 이상 탐지를 위한 장치 및 이를 위한 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190019345A1 (en) * 2017-07-11 2019-01-17 Nvidia Corporation Skinning a cluster based simulation with a visual mesh using interpolated orientation and position

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190019345A1 (en) * 2017-07-11 2019-01-17 Nvidia Corporation Skinning a cluster based simulation with a visual mesh using interpolated orientation and position

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023085717A1 (ko) * 2021-11-09 2023-05-19 에스케이플래닛 주식회사 클러스터링을 기반으로 하는 레이블링을 수행하기 위한 장치, 이상 탐지를 위한 장치 및 이를 위한 방법

Similar Documents

Publication Publication Date Title
US10909455B2 (en) Information processing apparatus using multi-layer neural network and method therefor
Tao et al. Effective discriminative feature selection with nontrivial solution
KR102234013B1 (ko) 클러스터 중심 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치
US20130232097A1 (en) Continuous-weight neural networks
JP2020042797A (ja) サンプル処理方法、装置、機器および記憶媒体
KR102234014B1 (ko) 클러스터링 기반 컨벡스 헐을 사용한 데이터 포인트 분류 방법 및 장치
Jao et al. Music annotation and retrieval using unlabeled exemplars: correlation and sparse codes
Rabaoui et al. Improved one-class SVM classifier for sounds classification
Böhmer et al. Regularized sparse kernel slow feature analysis
CN110019784A (zh) 一种文本分类方法及装置
KR102282343B1 (ko) 평행 초평면을 이용한 데이터 포인트 분류 방법 및 장치
Freed et al. Application of support vector machines to the classification of galaxy morphologies
CN110955380B (zh) 访存数据生成方法、存储介质、计算机设备和装置
JP5304401B2 (ja) 遺伝的処理装置、遺伝的処理方法およびプログラム
JP2023129309A (ja) モデルを訓練する方法及び装置並びに情報処理方法
KR102441442B1 (ko) 그래프 컨볼루션 네트워크 학습 방법 및 장치
CN115861765A (zh) 基于无监督蒸馏网络的学生网络获取方法、图像分类模型获取方法、图像分类方法
CN115905845A (zh) 数据中心异常检测方法、系统、设备及存储介质
Peherstorfer et al. Classification with probability density estimation on sparse grids
CN113380268A (zh) 模型训练的方法、装置和语音信号的处理方法、装置
US20060200588A1 (en) Method and apparatus for determining load of input/output command in input/output subsystem
JPH1078971A (ja) 文書分類装置及び文書分類方法
JP6663323B2 (ja) データ処理方法、データ処理装置、及びプログラム
Budiman et al. Non-linear Multiclass SVM Classification Optimization using Large Datasets of Geometric Motif Image
Gabryel The bag-of-words methods with pareto-fronts for similar image retrieval

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant