KR101704736B1 - 다단계의 부분 분류기를 이용한 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법 - Google Patents

다단계의 부분 분류기를 이용한 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법 Download PDF

Info

Publication number
KR101704736B1
KR101704736B1 KR1020150051974A KR20150051974A KR101704736B1 KR 101704736 B1 KR101704736 B1 KR 101704736B1 KR 1020150051974 A KR1020150051974 A KR 1020150051974A KR 20150051974 A KR20150051974 A KR 20150051974A KR 101704736 B1 KR101704736 B1 KR 101704736B1
Authority
KR
South Korea
Prior art keywords
partial
feature vector
classifier
vector
support vector
Prior art date
Application number
KR1020150051974A
Other languages
English (en)
Other versions
KR20160121999A (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 KR1020150051974A priority Critical patent/KR101704736B1/ko
Publication of KR20160121999A publication Critical patent/KR20160121999A/ko
Application granted granted Critical
Publication of KR101704736B1 publication Critical patent/KR101704736B1/ko

Links

Images

Classifications

    • G06K9/6256
    • G06K9/6269

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법에 관한 것이다.
본 발명은 비선형 서포트 벡터 머신의 분류 함수에 가산(addtive) 커널 함수를 이용함과 동시에, 서포트 벡터 머신을 다단계의 부분 분류기로 구성하고 전단의 부분 분류기에서 입력된 특징 벡터가 해당 부류에 속하지 않는 것으로 판단된 경우 후단의 부분 분류기까지의 커널 함수 연산을 수행하지 아니하고 특징 벡터에 대한 분류 작업을 완료함으로써, 기존의 비선형 서포트 벡터 머신의 연산량을 감소시켜 분류 작업을 보다 신속하게 수행하는, 다단계의 부분 분류기를 이용한 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법을 제공한다.

Description

다단계의 부분 분류기를 이용한 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법{Apparatus and Method of Support Vector Machine Classifier Using Multistage Sub-Classifier}
본 발명은 서포트 벡터 머신에 기반한 데이터 분류 장치 및 그 방법에 관한 것이다.
서포트 벡터 머신은 이진 분류를 수행하는 분류 함수가 선형의 초평면인지 여부에 따라 선형 서포트 벡터 머신과 비선형 서포트 벡터 머신으로 나뉜다. 선형 서포트 벡터 머신의 경우는 분류 함수가 선형 함수가 되기 때문에 분류 대상이 되는 특징 벡터와 연산하는 계수 벡터를 미리 계산하여 놓고 이를 이용할 수가 있어서 연산이 간단하여지는 장점이 있다.
그러나 분류 함수가 비선형이 되는 비선형 서포트 벡터 머신의 경우는 분류 대상이 되는 특징 벡터를 서포트 벡터 머신에 사용되는 커널 함수를 이용하여 각 서포트 벡터 마다 연산을 수행하여야지만 분류 함수의 값을 산출할 수 있기 때문에, 연산량이 많아지는 단점이 있다.
이와 같은 비선형 서포트 벡터 머신에서의 복잡한 연산 문제를 해결하기 위하여 하기 선행기술문헌과 같이 기존의 비선형 서포트 벡터 머신에서 사용되는 커널 함수로 가산(additive) 커널 함수를 이용하여 계산량을 감소시키는 방법이 제안되었다. 그러나 위와 같이 가산(additive) 커널 함수를 이용하는 경우에도 가산 커널을 구성하는 각 부분 커널 함수에 대하여 입력되는 특징 벡터가 모두 연산을 수행하여야 최종적으로 분류 함수의 값을 산출할 수 있기 때문에 여전히 연산량이 많다는 한계점이 존재하고 있다.
학술논문 : Efficient Classification for Additive Kernel SVMs, Subhransu Maji, Alexander C. Berg, and Jitendra Malik, IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 35. NO. 1, (2013. 01.)
본 발명이 해결하고자 하는 과제는 비선형 서포트 벡터 머신을 기반으로 하는 데이터 분류 장치에서 입력 데이터를 분류하기 위하여 분류 함수를 연산함에 있어서, 분류 함수의 연산량을 감소시키는 방법을 제공하는 것이다.
즉 본 발명은 비선형 서포트 벡터 머신의 분류 함수에 가산(addtive) 커널 함수를 이용함과 동시에, 서포트 벡터 머신을 다단계의 부분 분류기로 구성하고 전단의 부분 분류기에서 입력된 특징 벡터가 해당 부류에 속하지 않는 것으로 판단된 경우 후단의 부분 분류기까지의 커널 함수 연산을 수행하지 아니하고 특징 벡터에 대한 분류 작업을 완료함으로써, 기존의 비선형 서포트 벡터 머신 기반의 분류기의 연산량을 감소시켜 분류 작업을 보다 신속하게 하도록 하는 서포트 벡터 머신 기반 데이터 분류 장치와 그에 관한 방법을 제공한다.
상기 과제를 해결하기 위한 본 발명에 따른 서포트 벡터 머신 기반 데이터 분류 방법은, 분류 대상이 되는 특징 벡터(Feature Vector)와 미리 정해진 적어도 하나 이상의 서포트 벡터(Support Vector)를 입력받고, 상기 특징 벡터를 일정한 개수로 분할하여 부분 특징 벡터를 획득하고, 상기 서포트 벡터를 상기 특징 벡터와 동일하게 일정한 개수로 분할하여 부분 서포트 벡터를 획득하는 벡터 분할 단계; 일정한 순서로 배열된 적어도 하나 이상의 부분 분류기를 이용하여, 상기 부분 특징 벡터와 상기 부분 서포트 벡터를 입력으로 하여 상기 부분 분류기의 부분 분류 함수를 연산하는 부분 분류기 연산 단계; 및 적어도 하나 이상의 상기 부분 분류기의 상기 부분 분류 함수의 연산 값의 합을 미리 정해진 임계값과 비교하여, 상기 특징 벡터가 미리 정해진 특정 부류(Class)에 속하는지 여부를 판단하는 특징 벡터 분류 단계를 포함할 수 있다.
여기서 상기 특징 벡터와 상기 서포트 벡터는 동일한 크기의 차원수를 가지고, 상기 벡터 분할 단계는 상기 특징 벡터와 상기 서포트 벡터를 동일하게 일정한 개수로 균등 분할하여 각 상기 부분 특징 벡터와 상기 부분 서포트 벡터를 획득하는 것을 특징으로 할 수 있다.
여기서, 상기 부분 특징 벡터와 상기 부분 서포트 벡터는 상기 벡터 분할 단계에서 분할된 순번대로 쌍을 이루고, 상기 부분 분류기는 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 쌍에 대응하여 설정되는 것을 특징으로 할 수 있다.
여기서, 상기 부분 분류기가 배열되는 순서는, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단할 확률인 거절률(Rejection Rate)에 따라 결정되는 것을 특징으로 할 수 있다.
여기서, 상기 부분 분류 함수는 가산(Additive) 커널 함수에 포함된 차원 별 부분 커널 함수들 중 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 구성 원소의 차원에 대응하는 상기 부분 커널 함수를 이용하여 연산하는 함수이고, 상기 가산 커널 함수는 상기 특징 벡터의 각 차원의 원소에 대한 각 상기 부분 커널 함수 출력 값들의 총합이 상기 특징 벡터에 대한 상기 가산 커널 함수의 연산 값이 되는 것을 특징으로 할 수 있다.
여기서, 상기 부분 분류기는, 상기 부분 분류기에 대응하는 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 쌍의 각 구성 원소들을, 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 구성 원소에 대응하는 상기 부분 커널 함수의 입력으로 하고, 상기 부분 커널 함수의 출력 값의 가중합으로 상기 부분 분류 함수를 연산하는 것을 특징으로 할 수 있다.
여기서, 상기 가산 커널 함수는 상기 부분 커널 함수와 다음 식 1과 같은 관계를 가지는 것을 특징으로 할 수 있다.
식 1
Figure 112015035929109-pat00001
(여기서 X는 상기 특징 벡터, SV는 상기 서포트 벡터, K()는 상기 가산 커널 함수, N은 상기 특징 벡터 X의 총 원소 수,
Figure 112015035929109-pat00002
는 상기 특징 벡터 X의 n번째 원소,
Figure 112015035929109-pat00003
는 상기 서포트 벡터 SV의 n번째 원소, Kn()는 상기 특징 벡터 X와 상기 서포트 벡터 SV의 각 n번째 원소에 대한 상기 부분 커널 함수이다.)
여기서, 상기 부분 분류 함수는 하기 식 2와 같이 산출하는 것을 특징으로 할 수 있다.
식 2
Figure 112015035929109-pat00004
(여기서, j는 상기 부분 분류기의 순번 인덱스, S(j)는 j번째 상기 부분 분류기에 대응하는 상기 부분 특징 벡터의 인덱스의 집합, hj(X)는 상기 특징 벡터 X를 입력으로 하는 j 번째 상기 부분 분류기의 상기 부분 분류 함수, l 은 서포트 벡터 SV의 인덱스, L은 서포트 벡터의 총 수, y는 서포트 벡터 SV가 상기 부류에 속하면 1, 속하지 않으면 -1의 값을 가지는 변수, α는 라그랑제 승수, (l)은 인덱스의 표시이다.)
여기서 상기 임계값은 각 순번의 상기 부분 분류기 별로 미리 정해지고, 상기 특징 벡터 분류 단계는, 시작 순번부터 특정 순번의 상기 부분 분류기에 이르기까지의 각 상기 부분 분류 함수의 연산 값을 더한 누적 점수를 산출하고, 상기 산출한 누적 점수를 상기 임계값과 비교하여 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단하는 것을 특징으로 할 수 있다.
여기서, 상기 특징 벡터 분류 단계는, 상기 부분 분류기가 배열된 순서대로 시작 순번부터 차례로 각 상기 부분 분류기에 이르기까지의 상기 누적 점수를 산출하면서, 상기 누적 점수와 상기 임계값을 비교하여, 비교 결과에 따라 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단하고, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단되는 경우 분류 작업을 종료하는 것을 특징으로 할 수 있다.
여기서, 상기 특징 벡터 분류 단계는, 상기 누적 점수와 상기 임계값을 비교하고, 비교 결과에 따라 다음 순번의 상기 부분 분류기에 대하여 상기 누적 점수를 산출하고, 상기 다음 순번의 상기 부분 분류기에 대하여 상기 누적 점수를 산출하는 것이 미리 정해진 특정 순번의 상기 부분 분류기에 이르기까지 수행되는 경우, 상기 특정 순번의 상기 부분 분류기에서 산출한 상기 누적 점수와 상기 특정 순번의 상기 부분 분류기에서의 상기 임계값을 비교하여, 비교 결과에 따라 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단하는 것을 특징으로 할 수 있다.
여기서, 상기 시작 순번은 상기 부분 분류기의 첫 번째 순번인 것을 특징으로 할 수 있다.
여기서 상기 임계값은, 각 순번의 상기 부분 분류기 별로, 학습을 목적으로 미리 분류된 특징 벡터들에 대하여, 각 상기 부분 분류기 순번에서 산출된 상기 산출된 누적 점수를 기반으로 설정되는 것을 특징으로 할 수 있다.
여기서, 상기 누적 점수는 하기 식 3과 같이 산출하는 것을 특징으로 할 수 있다.
식 3
Figure 112015035929109-pat00005
(여기서, j는 상기 부분 분류기의 순번 인덱스, hj(X)는 상기 특징 벡터 X를 입력으로 하는 j 번째 상기 부분 분류기의 상기 부분 분류 함수, f(t)는 t번째 상기 부분 분류기까지의 상기 부분 분류 함수의 연산 값의 합인 상기 누적 점수, b는 바이어스이다.)
여기서 학습을 목적으로 미리 분류된 특징 벡터들을 이용하여, 상기 부분 분류기 별 상기 임계값과 상기 부분 분류기의 배열 순번을 결정하는 학습 단계를 더 포함할 수 있다.
여기서, 상기 학습 단계는, 상기 학습을 목적으로 미리 분류된 특징 벡터 별로, 시작 순번부터 각 순번의 상기 부분 분류기에 이르기까지의 각 상기 부분 분류 함수의 연산 값을 더한 누적 점수를 각 산출하고, 각 상기 부분 분류기에 대응하는 상기 임계값을 각 상기 부분 분류기에 대하여 상기 산출된 누적 점수를 기반으로 설정하는 것을 특징으로 할 수 있다.
여기서, 상기 학습 단계는, 상기 설정한 임계값을 기준으로 각 상기 부분 분류기의 거절률(Rejection Rate)를 산출하여, 상기 산출된 거절률에 따라 상기 부분 분류기를 배열하는 것을 특징으로 할 수 있다.
상기 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 서포트 벡터 머신 기반 데이터 분류 장치는, 분류 대상이 되는 특징 벡터(Feature Vector)와 미리 정해진 적어도 하나 이상의 서포트 벡터(Support Vector)를 입력받고, 상기 특징 벡터를 일정한 개수로 분할하여 부분 특징 벡터를 획득하고, 상기 서포트 벡터를 상기 특징 벡터와 동일하게 일정한 개수로 분할하여 부분 서포트 벡터를 획득하는 벡터 분할부; 일정한 순서로 배열된 적어도 하나 이상의 부분 분류기를 구비하고, 상기 부분 특징 벡터와 상기 부분 서포트 벡터를 입력으로 하여 상기 부분 분류기의 부분 분류 함수를 연산하는 부분 분류기 연산부; 및 적어도 하나 이상의 상기 부분 분류기의 상기 부분 분류 함수의 연산 값의 합을 미리 정해진 임계값과 비교하여, 상기 특징 벡터가 미리 정해진 특정 부류(Class)에 속하는지 여부를 판단하는 특징 벡터 분류부를 포함할 수 있다.
여기서, 상기 부분 분류기가 배열되는 순서는, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단할 확률인 거절률(Rejection Rate)에 따라 결정되는 것을 특징으로 할 수 있다.
여기서, 상기 부분 분류 함수는 가산(Additive) 커널 함수에 포함된 차원 별 부분 커널 함수들 중 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 구성 원소의 차원에 대응하는 상기 부분 커널 함수를 이용하여 연산하는 함수이고, 상기 가산 커널 함수는 상기 특징 벡터의 각 차원의 원소에 대한 각 상기 부분 커널 함수 출력 값들의 총합이 상기 특징 벡터에 대한 상기 가산 커널 함수의 연산 값이 되는 것을 특징으로 할 수 있다.
여기서, 상기 임계값은 각 순번의 상기 부분 분류기 별로 미리 정해지고, 상기 특징 벡터 분류부는, 시작 순번부터 특정 순번의 상기 부분 분류기에 이르기까지의 각 상기 부분 분류 함수의 연산 값을 더한 누적 점수를 산출하고, 상기 산출한 누적 점수를 상기 임계값과 비교하여 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단하는 것을 특징으로 할 수 있다.
여기서, 상기 특징 벡터 분류부는, 상기 부분 분류기가 배열된 순서대로 시작 순번부터 차례로 각 상기 부분 분류기에 이르기까지의 상기 누적 점수를 산출하면서, 상기 누적 점수가 상기 임계값보다 작은 경우, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단하고 분류 작업을 종료하는 것을 특징으로 할 수 있다.
본 발명에 따른 다단계의 부분 분류기를 이용한 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법에 의하면, 기존의 비선형 서포트 벡터 머신의 과다한 연산량을 감소시킴으로써, 입력 데이터에 대한 분류 작업을 보다 신속하게 수행하는 효과가 있다.
또한 서포트 벡터 머신의 연산량이 감소함에 따라, 분류기가 보다 간단한 연산 장치와 적은량의 메모리 만을 이용하여도 분류 작업을 수행할 수 있는 효과도 있다.
도 1은 선형 서포트 벡터 머신을 설명하기 위한 참고도이다.
도 2는 비선형 서포트 벡터 머신을 설명하기 위한 참고도이다.
도 3은 본 발명에 따른 서포트 벡터 머신 기반 데이터 분류 방법을 나타내는 흐름도이다.
도 4는 일정한 순서를 가지고 배열된 부분 분류기를 나타내는 참고도이다.
도 5는 룩업 테이블을 이용하여 가산 커널 함수의 출력 값을 획득하는 동작을 설명하기 위한 참고도이다.
도 6은 특징 벡터 분류 단계의 세부 동작을 나타내는 상세 흐름도이다.
도 7은 본 발명에 따른 서포트 벡터 머신 기반 데이터 분류 장치를 나타내는 흐름도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
특정 대상에 관한 데이터가 주어진 경우 해당 데이터를 이용하여 특정 대상이 미리 정해진 일정한 종류의 부류(Class) 중 어느 부류에 해당하는지를 분류하는 장치를 분류기(Classifier)라고 한다. 이와 같은 분류기는 영상 인식이나 음성 인식 등 다양한 분야에서 활용되는 기본 장치이다. 예를 들면 특정인의 얼굴에 관한 영상 데이터가 주어진 경우 분류기는 해당 얼굴 영상을 분석하여 특정인이 남성 또는 여성 중 어느 성별 부류에 속하는지를 판단할 수 있다.
분류기는 위와 같은 입력 데이터에 대한 분류 작업을 수행하기 위하여 특정 대상에 관한 데이터에 대하여 추출된 특징 벡터(Feature Vector)를 이용한다. 즉 얼굴 영상 데이터를 분류하기 위하여 얼굴 영상 데이터 전체를 처리하는 것이 아니라, 분류 작업에 유용하게 사용될 수 있는 특징(Feature)을 추출하여 다차원의 특징들로 구성된 특징 벡터(Feature Vector)를 기준으로 분류 작업을 수행한다. 따라서 분류기는 결국 주어진 특징 벡터가 어떠한 부류에 속하는지 여부를 판단하는 작업을 수행한다.
분류기는 특징 벡터를 입력 변수로 하고, 입력 변수에 대하여 미리 정해진 분류 함수를 연산한 결과 값에 따라 특징 벡터를 특정 부류로 분류할 수 있다. 예를 들면 분류 함수의 연산 값을 특정 임계값과 비교하여 그 결과에 따라 해당 특징 벡터를 특정 부류로 분류할 수 있다.
따라서 분류기는 분류 함수를 설정함으로써 정의될 수 있다.
위와 같은 분류기는 학습을 기반으로 형성될 수 있다. 즉 학습용으로 미리 주어진 복수개의 분류 대상 데이터와 각 데이터로부터 미리 추출된 특징 벡터가 각각 어느 부류에 속하는지에 대한 정보가 결정되어 있는 학습 데이터의 집합을 이용하여, 학습 데이터 집합에 대하여 최적의 분류 작업을 수행하는 분류기를 학습할 수 있다. 이를 분류 함수의 관점에서 말하면 분류기는 위와 같은 학습을 통하여 최적으로 대상 데이터들을 분류하는 분류 함수의 파라메터들을 설정함으로 형성될 수 있다.
그리고 위와 같이 학습된 분류기를 이용하여 새롭게 입력되는 대상 데이터가 어느 부류에 속하는지를 판단할 수 있다.
서포트 벡터 머신은 위와 같은 학습 기반 분류기 중의 하나이다. 서포트 벡터 머신은 특징 벡터를 입력받고 입력받은 특징 벡터가 특정한 부류에 속하였는지 여부를 판단하는 이진 분류기이다. 이와 같은 이진 분류기를 여러번 사용하는 경우 복수의 부류에 대한 분류 작업 역시 수행할 수 있다.
서포트 벡터 머신은 이진 분류를 수행하는 분류 함수가 선형의 초평면인지 여부에 따라 선형 서포트 벡터 머신과 비선형 서포트 벡터 머신으로 나뉜다. 선형 서포트 벡터 머신의 경우는 분류 함수가 선형 함수가 되기 때문에 분류 대상이 되는 특징 벡터와 연산하는 계수 벡터를 미리 계산하여 놓고 이를 이용할 수가 있어서 연산이 간단하여지는 장점이 있다.
도 1은 위와 같은 선형 서포트 벡터 머신을 설명하기 위한 참고도이다.
도 1의 그래프 상에서 점은 분류 대상이 되는 특징 벡터들이고, 그 부류가 w1 또는 w2로 나뉜다. 도 1을 참조하면 w1 부류에 포함된 특징 벡터들과 w2 부류에 포함된 특징 벡터들은 중간의 결정선(CF1)에 의하여 분리됨을 확인할 수 있다. 여기서 결정선(CF1)을 나타내는 함수에 각 특징 벡터의 좌표를 입력하면 해당 부류에 따라 그 함수의 연산 값이 양수 또는 음수로 나뉘게 된다. 따라서 결정선(CF1)을 이용하여 위 특징 벡터의 부류를 분류하기 위한 분류 함수를 생성할 수 있다. 그런데 이와 같은 결정선(CF1)은 여러 가지가 존재할 수 있다. 서포트 벡터 머신은 결정선(CF)이 각 부류의 특징 벡터 샘플들과 최대의 마진을 가지도록 결정선(CF1)을 설정하고 그에 따른 분류 함수를 결정한다. 도 1을 참조하면 도 1의 결정선(CF1)가 각 부류 w1, w2에 속한 특징 벡터 샘플들을 분류하면서 샘플들 간에 최대의 마진(s)을 확보하는 결정선이 됨을 확인할 수 있다. 이때 결정선(CF1)으로부터 마진만큼 이격된 자리에 위치하고 있는 특징 벡터들이 서포트 벡터(Support Vector)가 된다. 예를 들어 도 1에서는 검정색으로 마크된 특징 벡터들(SV)이 서포트 벡터가 된다.
도 1과 같이 선형의 결정선으로 분류 함수가 설정이 가능한 경우를 선형 서포트 벡터 머신이라고 한다. 상술한 바와 같이 선형 서포트 벡터 머신을 기반으로 하는 분류기에서는 분류 함수의 파라메터가 되는 계수 벡터를 미리 계산하여 놓고 분류 대상이 되는 특징 벡터와의 선형 연산을 수행하면 되기 때문에 연산이 간단하여지는 장점이 있다.
이와 같은 서포트 벡터 머신을 기반으로 하는 분류기를 획득하기 위해서는, 상술한 바와 같이 먼저 학습용으로 주어진 복수개의 특징 벡터 샘플들을 대상으로 최적의 분류를 수행하는 분류 함수의 파라메터를 산출하는 것이 필요하다.
이와 같은 선형 서포트 벡터 머신을 기반으로 하는 분류기의 분류 함수를 구하는 문제는 하기 수학식 1과 같은 최적화 문제로 나타낼 수 있다.
Figure 112015035929109-pat00006
(여기서 w, b는 선형 분류 함수의 파라메터이고, C는 상기 수학식 1의 최적화 함수의 두 항간의 비중을 결정하는 매개 변수이고, M은 분류 대상으로 주어진 특징 벡터 샘플들의 총 수이고, m은 특징 벡터 샘플들의 인덱스이고,
Figure 112015035929109-pat00007
는 각 샘플의 오분류 정도를 나타내는 슬랙 변수이고, y는 각 샘플이 특정 부류에 속하는지 여부를 나타내는 이진값이고, x는 특징 벡터 샘플이다. 참고로 여기서 (m)은 자승을 나타내는 것이 아닌 인덱스 순번을 나타내는 표시이다.)
그리고 상기 최적화 문제의 해로 산출된 w와 b를 이용하여 하기 수학식 2와 같은 선형 서포트 벡터 머신의 분류 함수가 산출될 수 있다.
Figure 112015035929109-pat00008
여기서 상기 분류 함수 f(X)의 연산 값에 따라 분류 대상 특징 벡터 X가 특정부류에 속하는지 아닌지가 판단된다. 즉 상기 분류 함수의 연산 값이 양수이면 특정 부류에 속하고, 음수이면 특정 부류에 속하지 않는 것으로 판단할 수 있다.
그러나 도 1과 같이 분류 대상이 되는 특징 벡터들을 선형의 결정선 또는 결정 평면으로는 분류할 수 없는 특징 벡터 샘플 집합이 주어질 수 있다. 이와 같은 경우에는 비선형의 결정선 또는 결정 평면을 이용하여 특징 벡터 샘플들을 각 부류로 분류할 수 있고, 따라서 분류 함수 역시 비선형 함수가 된다.
도 2는 비선형 서포트 벡터 머신을 설명하기 위한 참고도이다. 또한 도 2는 위와 같은 비선형 분류 함수가 이용되어야 하는 일 예를 나타낸다. 도 2를 참조하면 w1 부류에 속한 특징 벡터 샘플들과 w2 부류에 속한 특징 벡터 샘플들을 선형의 결정선으로는 분류할 수 없고, 비선형의 결정선(CF2)을 이용하여 분류할 수 있음을 확인할 수 있다.
이와 같은 비선형 결정면에 따른 분류 함수를 획득하기 위하여, 비선형 서포트 벡터 머신을 기반으로 하는 분류기의 분류 함수를 구하는 문제는 하기 수학식 3과 같은 최적화 문제로 나타낼 수 있다.
Figure 112015035929109-pat00009
(여기서 α는 비선형 분류 함수의 파라메터이고, M은 분류 대상으로 주어진 특징 벡터 샘플들의 총 수이고, i, j는 샘플의 인덱스이고, y는 각 샘플이 특정 부류에 속하는지 여부를 나타내는 이진값이고, x는 특징 벡터 샘플이고, K()는 커널 함수이고, C는 매개변수이다. 참고로 여기서 (i) 또는 (j)는 자승을 나타내는 것이 아닌 인덱스 순번을 나타내는 표시이다.)
그리고 상기 최적화 문제의 해로 산출된 α를 이용하여 하기 수학식 4와 같은 비선형 서포트 벡터 머신의 분류 함수가 산출될 수 있다.
Figure 112015035929109-pat00010
(여기서 X는 분류 대상이 되는 특징 벡터이고, sv는 상기 최적화 과정에서 α가 0이 아닌 것으로 획득된 서포트 벡터이고, L은 서포트 벡터의 총 수이다.)
상기 수학식 4를 참조하면, 분류 함수가 비선형이 되는 비선형 서포트 벡터 머신의 경우는 분류 대상이 되는 특징 벡터를 서포트 벡터 머신에 사용되는 커널 함수를 이용하여 각 서포트 벡터 마다 연산을 수행하여야지만 분류 함수의 값을 산출할 수 있다. 따라서 비선형 서포트 벡터 머신을 이용하는 분류기의 경우는 선형 서포트 벡터 머신과 같이 미리 계수를 산출하여 이를 대상 특징 벡터에 적용하는 것이 아니라, 대상 특징 벡터마다 서포트 벡터들과의 커널 함수 연산을 수행한다는 점에서 연산량이 많아지는 단점이 있다.
본 발명이 해결하고자 하는 과제는 비선형 서포트 벡터 머신 기반 데이터 분류기에서 입력 데이터를 분류하기 위하여 분류 함수를 연산함에 있어서, 분류 함수의 연산량을 획기적으로 감소시키는 방법을 제공하는 것이다.
본 발명에 따른 비선형 서포트 벡터 머신 기반 데이터 분류 방법과 그에 관한 장치는 위와 같은 비선형 서포트 벡터 머신을 이용한 분류기에서의 연산량을 줄이기 위하여, 차원 별 부분 커널 함수의 출력 값의 합으로 연산이 가능한 가산(additive) 커널 함수를 이용하고, 또한 다단계의 부분 분류기를 상기 가산 커널 함수를 이용하는 분류기에 적용하여, 일정한 조건 하에 미리 분류 작업이 종료되도록 하는 구성을 개시한다.
도 3은 본 발명에 따른 서포트 벡터 머신 기반 데이터 분류 방법을 나타내는 흐름도이다.
본 발명에 따른 서포트 벡터 머신 기반 데이터 분류 방법은 벡터 분할 단계(S100), 부분 분류기 연산 단계(S200), 특징 벡터 분류 단계(S300)를 포함한다.
벡터 분할 단계(S100)는 분류 대상이 되는 특징 벡터(Feature Vector)와 미리 정해진 적어도 하나 이상의 서포트 벡터(Support Vector)를 입력받는다. 그리고 상기 특징 벡터를 일정한 개수로 분할하여 부분 특징 벡터를 획득하고, 상기 서포트 벡터를 상기 특징 벡터와 동일하게 일정한 개수로 분할하여 부분 서포트 벡터를 획득한다.
여기서 상기 서포트 벡터는 학습 과정을 통하여 주어진 학습용 특징 벡터들을 최적으로 분류하도록 분류기를 학습하는 과정에서 획득되어 미리 정해진 서포트 벡터이다.
여기서 상기 특징 벡터와 상기 서포트 벡터는 동일한 크기의 차원수를 가지게 된다.
그리고 벡터 분할 단계(S100)는 상기 특징 벡터와 상기 서포트 벡터를 동일하게 일정한 개수로 균등 분할하여 각 상기 부분 특징 벡터와 상기 부분 서포트 벡터를 획득한다.
예를 들어 벡터 분할 단계(S100)는 N개의 차원, 즉 원소의 수가 N개가 되는 특징 벡터를 M개의 원소를 가지는 T=(N/M)개의 부분 특징 벡터로 분할할 수 있다. 또한 동일한 방식으로 N 차원의 각 서포트 벡터들을 분할하여 M 차원의 부분 서포트 벡터들 T개를 각 서포트 벡터 별로 획득할 수 있다. 이와 같은 분할 단계에서 마지막의 벡터가 M개로 나누어 떨어지지 않는 경우 M개의 단위가 되도록 채워넣거나 버리는 방법과 같이 미리 정해진 방법을 이용하여, 끝 자리에 분할된 벡터들을 처리할 수 있다.
부분 분류기 연산 단계(S200)는 일정한 순서로 배열된 적어도 하나 이상의 부분 분류기(100)를 이용하여, 상기 부분 특징 벡터와 상기 부분 서포트 벡터를 입력으로 하여 각 부분 분류기(100)의 부분 분류 함수를 연산한다.
특징 벡터 분류 단계(S300)는 적어도 하나 이상의 부분 분류기(100)의 상기 부분 분류 함수의 연산 값의 합을 미리 정해진 임계값과 비교하여, 상기 특징 벡터가 미리 정해진 특정 부류(Class)에 속하는지 여부를 판단한다.
다음으로는 부분 분류기 연산 단계(S200)와 부분 분류기(100)에 대하여 보다 상세히 설명한다.
부분 분류기 연산 단계(S200)는 일정한 순서로 배열된 부분 분류기(100)를 이용하여, 상기 부분 특징 벡터와 상기 부분 서포트 벡터를 입력으로 하여 부분 분류기(100)의 부분 분류 함수를 연산한다.
여기서 부분 분류기(100)는 적어도 하나 이상 존재하고, 일정한 순서를 가지고 배열될 수 있다.
도 4는 일정한 순서를 가지고 배열된 부분 분류기(100)를 나타내는 참고도이다.
그리고 각 부분 분류기(100)는 고유의 부분 분류 함수를 가지고 있다. 그리고 각 부분 분류기(100)는 벡터 분할 단계(S100)에서 획득된 부분 특징 벡터와 부분 서포트 벡터를 부분 분류 함수의 입력으로 하여 부분 분류 함수의 연산을 수행할 수 있다.
여기서 상기 부분 특징 벡터와 상기 부분 서포트 벡터는 벡터 분할 단계(S100)에서 분할된 순번대로 쌍을 이룰 수 있다. 예를 들어 10차원의 특징 벡터와 서포트 벡터가 5차원의 부분 특징 벡터와 부분 서포트 벡터 2개로 각 분할되었을 때, 첫 번째의 부분 특징 벡터와 부분 서포트 벡터가 쌍을 이루고, 두 번째의 부분 특징 벡터와 부분 서포트 벡터가 쌍을 이룰 수 있다.
이때 부분 분류기(100)는 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 쌍에 대응하여 설정될 수 있다. 다만 부분 분류기(100)가 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 쌍에 대응하는 순서는 부분 분류기(100)의 순번이 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 쌍의 순번과 일치하여야 하는 것은 아니다. 여기서 각 부분 분류기(100)가 입력으로 받는 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 쌍은 미리 정해져 있고, 부분 분류기(100)가 배열되는 순번대로, 먼저 배열된 부분 분류기(100)에 대응하는 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 쌍이 먼저 해당 부분 분류기(100)의 부분 분류 함수를 통해 연산된다.
여기서 부분 분류기(100)가 배열되는 순서는, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단할 확률인 거절률(Rejection Rate)에 따라 결정될 수 있다. 여기서 부분 분류기(100)가 배열되는 순서는, 상기 거절률이 더 높은 부분 분류기(100)가 더욱 앞 순서에 배열되는 것이 바람직하다.
여기서 거절률은 분류 대상이 되는 특징 벡터가 특정 부류에 속하지 않는 것으로 판단되어 거절되는 확률을 의미한다. 상기 거절률은 각 부분 분류기(100)에 대하여 각 부분 분류기(100)가 특징 벡터를 부류에 속하지 않는 것으로 판단할 확률을 산출하여 획득할 수 있다. 여기서 각 부분 분류기(100)의 거절률은 미리 정해진 복수개의 특징 벡터들에 대하여 각 분류기가 상기 거절하는 비율을 측정하여, 그 비율에 따라 설정될 수 있다. 예를 들어 특정 부분 분류기(100)가 1000개의 특징 벡터들에 대하여 600개를 상기 부류에 속하지 않는 것으로 판단하였다면 거절률은 0.6으로 설정될 수 있다. 거절률을 산출하는 보다 상세한 방법은 아래의 학습 단계(S10)에서 설명한다.
여기서 부분 분류기(100)가 배열된 순서에 따라 앞단에는 거절률이 높은 부분 분류기가, 뒷단에는 거절률이 낮은 부분 분류기가 배치될 수 있다.
위와 같은 부분 분류기(100)의 배치를 통하여 분류 함수 전체를 연산하지 아니하고 조기에 분류 대상이 되는 특징 벡터가 해당 부류에 속하지 않음을 판단하고 연산을 종료함으로써, 연산량을 감소할 수 있는 효과가 있다.
상술한 바와 같이 본 발명에 따른 서포트 벡터 머신 기반 데이터 분류 방법은 분류기의 연산량을 줄이기 위하여 분류 함수로 가산(Additive) 커널 함수를 이용한다. 이와 같이 분류 함수가 가산 커널 함수가 되는 경우, 부분 분류기 연산 단계(S200)와 같이 부분 분류기(100)가 보유하는 각 부분 분류 함수를 함께 이용하여 분류 함수의 값을 연산할 수 있다. 그리고 위와 같은 경우 상기 부분 분류 함수는 가산(Additive) 커널 함수에 포함된 차원 별 부분 커널 함수들 중 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 구성 원소의 차원에 대응하는 상기 부분 커널 함수를 이용하여 연산하는 함수가 될 수 있다.
이하에서는 가산 커널 함수의 특징에 대하여 보다 상세히 설명한다.
상술한 비선형 서포트 벡터 머신에서의 복잡한 연산 문제를 해결하기 위하여, 본 발명에 따른 서포트 벡터 머신 기반 데이터 분류 방법은 Efficient Classification for Additive Kernel SVMs(Subhransu Maji, Alexander C. Berg, and Jitendra Malik, IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE)가 제안한 가산(additive) 커널 함수를 기존의 비선형 서포트 벡터 머신에서 사용되는 커널 함수로 이용하여 계산량을 감소시키는 방법을 개시한다.
가산 커널 함수는 하기 수학식 5와 같은 특성을 지니는 함수이다.
Figure 112015035929109-pat00011
(여기서 n은 특징 벡터의 원소의 인덱스이고, N은 특징 벡터의 원소의 개수이다.)
즉 상기 수학식 5와 같이 가산 커널 함수는 특징 벡터의 각 차원의 원소들에 대한 부분 커널 함수의 출력 값의 합이 된다. 이와 같은 가산 커널 함수가 이용되는 경우 상기 수학식 4와 같은 비선형 서포트 벡터 머신 기반의 분류 함수는 특징 벡터의 각 차원에서 1차원의 부분 커널 함수를 이용하여 획득한 함수 출력 값의 합으로 산출될 수 있다는 장점이 있다. 이 경우 분류 함수는 하기 수학식 6과 같이 산출될 수 있다.
Figure 112015035929109-pat00012
가산 커널 함수를 사용하는 경우 분류기가 분류 대상 특정 벡터에 대한 연산을 수행하는 과정에서 테이블을 이용한 연산을 통해 계산량을 감소시키는 장점이 있다. 즉 상기 수학식 6에서 확인할 수 있듯이 가산 커널 함수를 사용하는 경우 분류기의 분류 함수의 출력 값을 산출하는 문제는
Figure 112015035929109-pat00013
를 산출하는 문제가 된다. 그런데 여기서
Figure 112015035929109-pat00014
는 위와 같이 1차원 함수이고,
Figure 112015035929109-pat00015
,
Figure 112015035929109-pat00016
,
Figure 112015035929109-pat00017
는 서포트 벡터 머신 분류기의 학습 과정에서 미리 획득되는 변수들이므로, 결국
Figure 112015035929109-pat00018
Figure 112015035929109-pat00019
가 입력될 때마다 계산을 할 필요가 없이, n = 1, .... , N에 대하여 미리 입력가능한
Figure 112015035929109-pat00020
의 값들에 대하여
Figure 112015035929109-pat00021
를 산출한 룩업 테이블을 생성하여 놓고, 특정
Figure 112015035929109-pat00022
가 입력되는 경우 상기 룩업 테이블에서 미리 산출된
Figure 112015035929109-pat00023
의 값을 획득할 수 있다. 따라서 입력된
Figure 112015035929109-pat00024
에 대하여
Figure 112015035929109-pat00025
를 산출하는 것은, 입력된
Figure 112015035929109-pat00026
에 대응하는 상기 룩업 테이블의 결과 값을 획득하는 것으로 단순화 될 수 있는 것이다.
도 5는 위와 같이 룩업 테이블을 이용하여 입력된
Figure 112015035929109-pat00027
에 대하여
Figure 112015035929109-pat00028
의 결과 값을 획득하는 동작을 설명하기 위한 참고도이다.
도 5를 참조하면 x1에 대하여 미리 룩업 테이블(LUT1)을 도 5의 그래프와 같이 생성하여 놓고, 만일 입력된 x1의 값이 0.2면 이를 룩업 테이블(LUT1)에서 찾아
Figure 112015035929109-pat00029
즉 LUT1(x1) 값을 0.02로 획득할 수 있다.
따라서 본 발명에서 부분 커널 함수를 연산하거나 또는 출력 값을 산출하는 것은 위와 같이 부분 커널 함수에 대응하는 룩업 테이블에서 입력 값에 따른 출력 값을 찾아 획득하는 것과 동일한 방식으로 수행될 수 있다. 따라서 본 발명에서 부분 커널 함수를 연산, 계산하거나 출력 값을 획득한다는 의미는 반드시 수학식을 계산하여 결과 값을 획득한다는 의미만이 아니라, 위와 같이 룩업 테이블을 찾아 출력값을 획득하는 과정을 포함하는 의미로 사용한다.
다만 위와 같이 가산(additive) 커널 함수를 이용하는 경우에도 가산 커널을 구성하는 각 부분 커널 함수에 대하여 입력되는 특징 벡터가 모두 연산을 수행하여야(또는 룩업 테이블에서 결과 값을 찾는 과정을 수행하여야), 최종적으로 분류 함수의 값을 산출할 수 있기 때문에 여전히 연산량이 많다는 한계점이 존재하고 있다.
이에 본 발명에 따른 서포트 벡터 머신 기반 데이터 분류 방법은, 위와 같은 가산 커널 함수가 적용된 비선형 서포트 벡터 머신 기반 분류기에서 연산량을 더욱 감소시켜 분류기의 연산 속도를 더욱 향상시키기 위하여, 비선형 서포트 벡터 머신의 분류 함수에 가산(addtive) 커널 함수를 이용함에 있어서, 서포트 벡터 머신을 다단계의 부분 분류기로 구성하고 전단의 부분 분류기에서 입력된 특징 벡터가 해당 부류에 속하지 않는 것으로 판단된 경우 후단의 부분 분류기까지의 커널 함수 연산을 수행하지 아니하고 특징 벡터에 대한 분류 작업을 완료함으로써, 기존의 비선형 서포트 벡터 머신의 연산량을 감소시켜 분류 작업을 보다 신속하게 하도록 하는 서포트 벡터 머신 기반 데이터 분류 방법을 개시한다. 여기서 상술한 전단의 부분 분류기에서 입력된 특징 벡터가 해당 부류에 속하지 않는 것으로 판단된 경우 후단의 부분 분류기까지의 커널 함수 연산을 수행하지 아니하고 특징 벡터에 대한 분류 작업을 완료하는 구성은 이하 특징 벡터 분류 단계(S300)를 설명할 때 보다 상세하게 설명하고, 먼저 부분 분류기 연산 단계(S200)가 서포트 벡터 머신을 가산 커널 함수를 이용하여 다단계의 부분 분류기로 구성하는 구성에 대하여 먼저 보다 상세히 설명한다.
상술한 바와 같이 부분 분류기 연산 단계(S200)에서, 상기 부분 분류 함수는 가산(Additive) 커널 함수에 포함된 차원 별 부분 커널 함수들 중 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 구성 원소의 차원에 대응하는 상기 부분 커널 함수를 이용하여 연산하는 함수인 것이 바람직하다.
여기서 상기 가산 커널 함수는 상기 특징 벡터의 각 차원의 원소에 대한 각 상기 부분 커널 함수 출력 값들의 총합이 상기 특징 벡터에 대한 상기 가산 커널 함수의 연산 값이 된다. 즉 상기 수학식 5와 같이 벡터의 각 원소에 대한 부분 커널 함수(Kn) 출력 값들의 총 합이 가산 커널 함수(K)의 연산 값이 되는 것이다.
여기서 상기 수학식 5를, 상기 특징 벡터의 각 차원의 원소에 대한 각 상기 부분 커널 함수 출력 값들의 총합을 상기 특징 벡터에 대한 상기 가산 커널 함수의 연산 값이 되는 경우에 적용하면, 하기 수학식 7과 같이 표현될 수 있다. 즉 상기 가산 커널 함수는 상기 부분 커널 함수와 다음 수학식 7과 같은 관계를 가질 수 있다.
Figure 112015035929109-pat00030
(여기서 X는 상기 특징 벡터, SV는 상기 서포트 벡터, K()는 상기 가산 커널 함수, N은 상기 특징 벡터 X의 총 원소 수,
Figure 112015035929109-pat00031
는 상기 특징 벡터 X의 n번째 원소,
Figure 112015035929109-pat00032
는 상기 서포트 벡터 SV의 n번째 원소, Kn()는 상기 특징 벡터 X와 상기 서포트 벡터 SV의 각 n번째 원소에 대한 상기 부분 커널 함수이다.)
이때 부분 분류기(100)는, 부분 분류기(100)에 대응하는 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 쌍의 각 구성 원소들을, 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 구성 원소에 대응하는 상기 부분 커널 함수의 입력으로 하고, 상기 부분 커널 함수의 출력 값의 가중합으로 상기 부분 분류 함수를 연산하는 것이 바람직하다.
가산 커널 함수에 대한 상기 수학식 6을 위 경우에 적용하면 하기 수학식 8과 같이 표현될 수 있다. 즉 상기 부분 분류 함수는 하기 수학식 8와 같이 산출될 수 있다.
Figure 112015035929109-pat00033
(여기서, j는 부분 분류기(100)의 순번 인덱스, S(j)는 j번째 부분 분류기(100)에 대응하는 상기 부분 특징 벡터의 인덱스의 집합,
Figure 112015035929109-pat00034
는 상기 특징 벡터 X를 입력으로 하는 j 번째 부분 분류기(100)의 상기 부분 분류 함수, l 은 서포트 벡터 SV의 인덱스, L은 서포트 벡터의 총 수, y는 서포트 벡터 SV가 상기 부류에 속하면 1, 속하지 않으면 -1의 값을 가지는 변수, α 는 라그랑제 승수이다.)
다음으로는 특징 벡터 분류 단계(S300)에 대하여 보다 상세히 설명한다.
특징 벡터 분류 단계(S300)는 적어도 하나 이상의 부분 분류기(100)의 상기 부분 분류 함수의 연산 값의 합을 미리 정해진 임계값과 비교하여, 상기 특징 벡터가 미리 정해진 특정 부류(Class)에 속하는지 여부를 판단한다.
여기서 상기 임계값은 각 순번의 부분 분류기(100) 별로 미리 정해질 수 있다.
그리고 특징 벡터 분류 단계(S300)는, 시작 순번부터 특정 순번의 부분 분류기(100)에 이르기까지의 각 상기 부분 분류 함수의 연산 값을 더한 누적 점수를 산출하고, 상기 산출한 누적 점수를 상기 임계값과 비교하여 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단하는 것이 바람직하다.
여기서 상기 임계값은 시작 순번부터 특정 순번의 부분 분류기(100)에 이르는 과정에서 산출되는 상기 누적 점수에 대응하여, 각 순번의 부분 분류기(100) 별로 미리 정해질 수 있다. 즉 각 순번의 부분 분류기(100)는 시작 순번부터 본인의 순번까지의 각 부분 분류 함수의 연산 값에 따라 산출되는 상기 누적 점수와 비교하기 위하여, 미리 정해진 임계값을 가질 수 있다.
예를 들어 세 번째 순번의 부분 분류기(100)가 TH3의 임계값을 가지는 경우, 1번째부터 3번째의 부분 분류기(100)에 이르기까지 각 부분 분류기(100)의 부분 분류 함수의 연산 값을 더하여 산출된 누적 점수는 상기 임계값 TH3와 비교되고, 그 비교 결과에 따라 상기 특징 벡터가 상기 부류에 속하는지 여부에 관하여 3번째 부분 분류기(100) 단계에서 결정할 수 있다.
여기서 상기 시작 순번은 부분 분류기(100)의 첫 번째 순번인 것이 바람직하다.
이때 특징 벡터 분류 단계(S300)는, 부분 분류기(100)가 배열된 순서대로 시작 순번부터 차례로 각 부분 분류기(100)에 이르기까지의 상기 누적 점수를 산출하면서, 상기 누적 점수와 상기 임계값을 비교하여, 비교 결과에 따라 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단하고, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단되는 경우 미리 분류 작업을 종료할 수 있다.
여기서 특징 벡터 분류 단계(S300)는 바람직하게는 상기 누적 점수가 상기 임계값보다 작은 경우, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단하고 분류 작업을 미리 종료할 수 있다. 즉 각 부분 분류기(100)에 이르기까지의 상기 누적 점수를 산출하고, 산출한 누적 점수를 각 부분 분류기(100)가 가지는 고유의 임계값과 비교하여, 누적 점수가 임계값보다 작은 경우, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단하고 분류 작업을 종료할 수 있다.
여기서 누적 점수를 산출하는 방식에 따라, 특징 벡터 분류 단계(S300)는 상기 누적 점수가 상기 임계값보다 큰 경우 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단할 수도 있고, 상기 누적 점수가 상기 임계값보다 작은 경우 상기 특징 벡터가 상기 부류에 속하는 경우로 판단할 수도 있고, 상기 누적 점수가 상기 임계값 보다 큰 경우 상기 특징 벡터가 상기 부류에 속하는 것으로 판단할 수 있다.
또한 특징 벡터 분류 단계(S300)는 상기 누적 점수와 상기 임계값을 비교하고, 비교 결과에 따라 다음 순번의 부분 분류기(100)에 대하여 누적 점수를 산출하는 동작을 수행할 수 있다. 그리고 위와 같이 계속적으로 다음 순번의 부분 분류기(100)에 대하여 누적 점수를 산출하는 동작이 미리 정해진 특정 순번의 부분 분류기(100)에 이르기까지 수행되는 경우, 상기 특정 순번의 부분 분류기(100)에서 산출한 상기 누적 점수와 상기 특정 순번의 부분 분류기(100)에서의 임계값을 비교하여, 그 비교 결과에 따라 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단할 수 있다.
바람직하게는 위와 같이 계속적으로 다음 순번의 부분 분류기(100)에 대하여 누적 점수를 산출하는 동작이 마지막 순번의 부분 분류기(100)에 이르기까지 수행되는 경우, 마지막 순번의 부분 분류기(100)에서 산출한 상기 누적 점수와 마지막 순번의 부분 분류기(100)에서의 임계값을 비교하여, 그 비교 결과에 따라 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단할 수 있다.
여기서 바람직하게는 특징 벡터 분류 단계(S300)는, 상기 누적 점수가 상기 임계값보다 큰 경우 다음 순번의 부분 분류기(100)에서의 상기 누적 점수를 산출하여, 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단하고, 마지막 순번의 부분 분류기(100)에서 산출한 상기 누적 점수가 상기 임계값보다 큰 경우, 상기 특징 벡터가 상기 부류에 속하는 것으로 판단할 수 있다.
도 6은 상술한 특징 벡터 분류 단계(S300)의 세부 동작을 나타내는 상세 흐름도이다.
도 6과 같이 부분 분류기(100)의 각 단계에서 산출된 누적 점수를 기준으로 특징 벡터가 특정 부류에 속하는지 여부가 단계적으로 판단된다. 즉 도 6과 같이 순서대로 부분 분류기에서의 누적 점수를 산출하고 해당 순서에서의 임계값과 비교한 후, 그 비교 결과에 따라 부류에 속하지 않는 것으로 판단하거나 또는 다음 순서의 부분 분류기에서의 누적 점수를 산출하는 것으로 동작을 수행할 수가 있다. 상술한 바와 같이 이와 같은 다단계의 판단과정을 통하여 특징 벡터가 해당 부류에 속하지 않는 것으로 판단되는 경우는 조기에 분류 함수 연산을 종료함으로써, 분류기의 연산량을 감소시킬 수 있는 효과가 있다.
여기서 상기 누적 점수는 하기 수학식 9와 같이 산출할 수 있다.
Figure 112015035929109-pat00035
(여기서, j는 부분 분류기(100)의 순번 인덱스,
Figure 112015035929109-pat00036
는 상기 특징 벡터 X를 입력으로 하는 j 번째 부분 분류기(100)의 상기 부분 분류 함수,
Figure 112015035929109-pat00037
는 t번째 부분 분류기(100)까지의 상기 부분 분류 함수의 연산 값의 합인 상기 누적 점수, b는 바이어스이다.)
여기서 상기 임계값은, 각 순번의 부분 분류기(100) 별로, 학습을 목적으로 미리 분류된 특징 벡터들에 대하여, 각 부분 분류기(100) 순번에서 산출된 상기 누적 점수에 기반하여 설정될 수 있다. 예를 들면 상기 임계값은 가장 낮은 상기 누적 점수의 값으로 설정될 수 있고, 또는 값이 낮은 순서대로 정렬된 누적 점수들 중 어느 하나의 값으로 설정될 수도 있다. 여기서 상기 임계값은 보다 자세하게는 하기 학습 단계(S10)와 같이 설정될 수 있다.
상기 본 발명에 따른 서포트 벡터 머신 기반의 데이터 분류 방법은 학습 단계(S10)를 더 포함할 수 있다.
여기서, 학습 단계(S10)는 학습을 목적으로 미리 분류된 특징 벡터들을 이용하여, 부분 분류기(100) 별 상기 임계값과 부분 분류기(100)의 배열 순번을 결정한다.
이때 학습 단계(S10)는, 상기 학습을 목적으로 미리 분류된 특징 벡터 별로, 시작 순번부터 각 순번의 부분 분류기(100)에 이르기까지의 각 상기 부분 분류 함수의 연산 값을 더한 누적 점수를 각 산출하고, 각 부분 분류기(100)에 대응하는 상기 임계값을 각 부분 분류기(100)에 대하여 상기 산출된 누적 점수를 기반으로 설정할 수 있다. 예를 들면 각 부분 분류기(100)에 대응하는 상기 임계값을 각 부분 분류기(100)에 대하여 상기 산출된 누적 점수 중 낮은 순서대로 선별된 값들 중 어느 하나를 선택하여 설정할 수 있다. 여기서 가장 바람직하게는 상기 임계값은 각 부분 분류기(100)에 대하여 상기 산출된 누적 점수 중 가장 낮은 값으로 설정할 수 있다.
또한 학습 단계(S10)는, 상기 설정한 임계값을 기준으로 각 부분 분류기(100)의 거절률(Rejection Rate)를 산출하여, 상기 산출된 거절률을 기준으로 부분 분류기(100)를 배열하는 것이 바람직하다. 여기서 학습 단계(S10)는 상기 산출된 거절률이 높은 순서대로 부분 분류기(100)를 배열하는 것이 바람직하다.
여기서 거절률은 분류 대상이 되는 특징 벡터가 특정 부류에 속하지 않는 것으로 판단되어 거절되는 확률을 의미한다. 상기 거절률은 각 부분 분류기(100)에 대하여 각 부분 분류기(100)가 상술한 바와 같이 설정한 상기 임계값을 기준으로 입력되는 특징 벡터들이 상기 부류에 속하지 않는 것으로 판단할 확률을 산출하여 획득할 수 있다. 여기서 각 부분 분류기(100)의 거절률은 미리 정해진 복수개의 특징 벡터들에 대하여 각 분류기가 상기 거절하는 비율을 측정하여, 그 비율에 따라 설정될 수 있다. 예를 들어 특정 부분 분류기(100)가 1000개의 특징 벡터들에 대하여 600개를 상기 부류에 속하지 않는 것으로 판단하였다면 거절률은 0.6으로 설정될 수 있다.
도 7은 본 발명에 따른 서포트 벡터 머신 기반 데이터 분류 장치를 나타내는 흐름도이다.
본 발명의 또 다른 실시예에 따른 서포트 벡터 머신 기반 데이터 분류 장치는, 벡터 분할부(200), 부분 분류기 연산부(300), 특징 벡터 분류부(400)를 포함할 수 있다. 여기서 부분 분류기 연산부(300)는 부분 분류기(100)를 포함할 수 있고, 또는 부분 분류기(100)는 상기 서포트 벡터 머신 기반 데이터 분류 장치에 더 포함되는 형식으로 존재할 수도 있다. 이하에서는 부분 분류기(100)가 부분 분류기 연산부(300)에 구비된 실시예에 따라 설명하지만, 부분 분류기(100)가 상기 서포트 벡터 머신 기반 데이터 분류 장치에 더 포함되는 형식으로 존재하는 경우에도 동작 원리는 동일하다.
여기서 상기 서포트 벡터 머신 기반 데이터 분류 장치는 상기 도 3 내지 도 6을 참조하면서 상술한 서포트 벡터 머신 기반 데이터 분류 방법의 각 단계가 동작하는 방식과 동일하게 동작할 수 있다. 이에 중복되는 부분은 생략하고 간략히 서술한다.
벡터 분할부(200)는 분류 대상이 되는 특징 벡터(Feature Vector)와 미리 정해진 적어도 하나 이상의 서포트 벡터(Support Vector)를 입력받고, 상기 특징 벡터를 일정한 개수로 분할하여 부분 특징 벡터를 획득하고, 상기 서포트 벡터를 상기 특징 벡터와 동일하게 일정한 개수로 분할하여 부분 서포트 벡터를 획득한다.
부분 분류기 연산부(300)는 일정한 순서로 배열된 복수개의 부분 분류기(100)를 구비하고, 상기 부분 특징 벡터와 상기 부분 서포트 벡터를 입력으로 하여 부분 분류기(100)의 부분 분류 함수를 연산한다.
특징 벡터 분류부(400)는 적어도 하나 이상의 부분 분류기(100)의 상기 부분 분류 함수의 연산 값의 합을 미리 정해진 임계값과 비교하여, 상기 특징 벡터가 미리 정해진 특정 부류(Class)에 속하는지 여부를 판단한다.
여기서 부분 분류기(100)가 배열되는 순서는, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단할 확률인 거절률(Rejection Rate)에 따라 결정되는 것이 바람직하다.
여기서 상기 부분 분류 함수는 가산(Additive) 커널 함수에 포함된 차원 별 부분 커널 함수들 중 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 구성 원소의 차원에 대응하는 상기 부분 커널 함수를 이용하여 연산하는 함수이다.
여기서 상기 가산 커널 함수는, 상기 특징 벡터의 각 차원의 원소에 대한 각 상기 부분 커널 함수의 출력 값들의 총합이 상기 특징 벡터에 대한 상기 가산 커널 함수의 연산 값이 되는 것이 바람직하다.
여기서 상기 임계값은 각 순번의 부분 분류기(100) 별로 미리 정해질 수 있다.
또한 특징 벡터 분류부(400)는, 시작 순번부터 특정 순번의 부분 분류기(100)에 이르기까지의 각 상기 부분 분류 함수의 연산 값을 더한 누적 점수를 산출하고, 상기 산출한 누적 점수를 상기 임계값과 비교하여 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단하는 것이 바람직하다.
여기서 특징 벡터 분류부(400)는, 부분 분류기(100)가 배열된 순서대로 시작 순번부터 차례로 각 부분 분류기(100)에 이르기까지의 상기 누적 점수를 산출하면서, 상기 누적 점수가 상기 임계값보다 작은 경우, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단하고 분류 작업을 종료하는 것이 바람직하다.
이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 기록매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 기록매체로서는 자기 기록매체, 광 기록매체 등이 포함될 수 있다.
또한, 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 상세한 설명에서 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.
S100 : 벡터 분할 단계
S200 : 부분 분류기 연산 단계
S300 : 특징 벡터 분류 단계
S10 : 학습 단계
100 : 부분 분류기
200 : 벡터 분할부
300 : 부분 분류기 연산부
400 : 특징 벡터 분류부

Claims (23)

  1. 서포트 벡터 머신 기반 데이터 분류 방법에 있어서,
    분류 대상이 되는 특징 벡터(Feature Vector)와 미리 정해진 적어도 하나 이상의 서포트 벡터(Support Vector)를 입력받고, 상기 특징 벡터를 일정한 개수로 분할하여 부분 특징 벡터를 획득하고, 상기 서포트 벡터를 상기 특징 벡터와 동일하게 일정한 개수로 분할하여 부분 서포트 벡터를 획득하는 벡터 분할 단계;
    일정한 순서로 배열된 적어도 하나 이상의 부분 분류기를 이용하여, 상기 부분 특징 벡터와 상기 부분 서포트 벡터를 입력으로 하여 상기 부분 분류기의 부분 분류 함수를 연산하는 부분 분류기 연산 단계;
    적어도 하나 이상의 상기 부분 분류기의 상기 부분 분류 함수의 연산 값의 합을 미리 정해진 임계값과 비교하여, 상기 특징 벡터가 미리 정해진 특정 부류(Class)에 속하는지 여부를 판단하는 특징 벡터 분류 단계를 포함하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법
  2. 제1항에 있어서,
    상기 특징 벡터와 상기 서포트 벡터는 동일한 크기의 차원수를 가지고,
    상기 벡터 분할 단계는 상기 특징 벡터와 상기 서포트 벡터를 동일하게 일정한 개수로 균등 분할하여 각 상기 부분 특징 벡터와 상기 부분 서포트 벡터를 획득하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법
  3. 제1항에 있어서,
    상기 부분 특징 벡터와 상기 부분 서포트 벡터는 상기 벡터 분할 단계에서 분할된 순번대로 쌍을 이루고,
    상기 부분 분류기는 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 쌍에 대응하여 설정되는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
  4. 제1항에 있어서,
    상기 부분 분류기가 배열되는 순서는, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단할 확률인 거절률(Rejection Rate)을 기준으로 결정되는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
  5. 제4항에 있어서,
    상기 부분 분류 함수는 가산(Additive) 커널 함수에 포함된 차원 별 부분 커널 함수들 중 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 구성 원소의 차원에 대응하는 상기 부분 커널 함수를 이용하여 연산하는 함수이고,
    상기 가산 커널 함수는 상기 특징 벡터의 각 차원의 원소에 대한 각 상기 부분 커널 함수 출력 값들의 총합이 상기 특징 벡터에 대한 상기 가산 커널 함수의 연산 값이 되는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
  6. 제5항에 있어서, 상기 부분 분류기는,
    상기 부분 분류기에 대응하는 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 쌍의 각 구성 원소들을, 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 구성 원소에 대응하는 상기 부분 커널 함수의 입력으로 하고,
    상기 부분 커널 함수의 출력 값의 가중합으로 상기 부분 분류 함수를 연산하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
  7. 제5항에 있어서,
    상기 가산 커널 함수는 상기 부분 커널 함수와 다음 식 1과 같은 관계를 가지는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
    식 1
    Figure 112015035929109-pat00038

    (여기서 X는 상기 특징 벡터, SV는 상기 서포트 벡터, K()는 상기 가산 커널 함수, N은 상기 특징 벡터 X의 총 원소 수,
    Figure 112015035929109-pat00039
    는 상기 특징 벡터 X의 n번째 원소,
    Figure 112015035929109-pat00040
    는 상기 서포트 벡터 SV의 n번째 원소, Kn()는 상기 특징 벡터 X와 상기 서포트 벡터 SV의 각 n번째 원소에 대한 상기 부분 커널 함수이다.)
  8. 제6항에 있어서,
    상기 부분 분류 함수는 하기 식 2와 같이 산출하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
    식 2
    Figure 112016048022164-pat00041

    (여기서, j는 상기 부분 분류기의 순번 인덱스, S(j)는 j번째 상기 부분 분류기에 대응하는 상기 부분 특징 벡터의 인덱스의 집합,
    Figure 112016048022164-pat00042
    는 상기 특징 벡터 X를 입력으로 하는 j 번째 상기 부분 분류기의 상기 부분 분류 함수, l 은 서포트 벡터 SV의 인덱스, L은 서포트 벡터의 총 수, y는 서포트 벡터 SV가 상기 부류에 속하면 1, 속하지 않으면 -1의 값을 가지는 변수, α는 라그랑제 승수, (l)은 인덱스의 표시,
    Figure 112016048022164-pat00053
    는 상기 특징 벡터 X의 n번째 원소,
    Figure 112016048022164-pat00054
    는 상기 서포트 벡터 SV의 n번째 원소, Kn()는 상기 특징 벡터 X와 상기 서포트 벡터 SV의 각 n번째 원소에 대한 상기 부분 커널 함수이다.)
  9. 제1항에 있어서,
    상기 임계값은 각 순번의 상기 부분 분류기 별로 미리 정해지고,
    상기 특징 벡터 분류 단계는, 시작 순번부터 특정 순번의 상기 부분 분류기에 이르기까지의 각 상기 부분 분류 함수의 연산 값을 더한 누적 점수를 산출하고, 상기 산출한 누적 점수를 상기 임계값과 비교하여 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
  10. 제9항에 있어서, 상기 특징 벡터 분류 단계는,
    상기 부분 분류기가 배열된 순서대로 시작 순번부터 차례로 각 상기 부분 분류기에 이르기까지의 상기 누적 점수를 산출하면서,
    상기 누적 점수와 상기 임계값을 비교하여, 비교 결과에 따라 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단하고, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단되는 경우 분류 작업을 종료하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
  11. 제10항에 있어서, 상기 특징 벡터 분류 단계는,
    상기 누적 점수와 상기 임계값을 비교하고, 비교 결과에 따라 다음 순번의 상기 부분 분류기에 대하여 상기 누적 점수를 산출하고,
    상기 다음 순번의 상기 부분 분류기에 대하여 상기 누적 점수를 산출하는 것이 미리 정해진 특정 순번의 상기 부분 분류기에 이르기까지 수행되는 경우, 상기 특정 순번의 상기 부분 분류기에서 산출한 상기 누적 점수와 상기 특정 순번의 상기 부분 분류기에서의 상기 임계값을 비교하여, 비교 결과에 따라 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
  12. 제9항에 있어서,
    상기 시작 순번은 상기 부분 분류기의 첫 번째 순번인 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
  13. 제9항에 있어서,
    상기 임계값은, 각 순번의 상기 부분 분류기 별로, 학습을 목적으로 미리 분류된 특징 벡터들에 대하여, 각 상기 부분 분류기 순번에서 산출된 상기 누적 점수를 기반으로 설정되는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
  14. 제9항에 있어서,
    상기 누적 점수는 하기 식 3과 같이 산출하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
    식 3
    Figure 112015035929109-pat00043

    (여기서, j는 상기 부분 분류기의 순번 인덱스,
    Figure 112015035929109-pat00044
    는 상기 특징 벡터 X를 입력으로 하는 j 번째 상기 부분 분류기의 상기 부분 분류 함수,
    Figure 112015035929109-pat00045
    는 t번째 상기 부분 분류기까지의 상기 부분 분류 함수의 연산 값의 합인 상기 누적 점수, b는 바이어스이다.)
  15. 제1항에 있어서,
    학습을 목적으로 미리 분류된 특징 벡터들을 이용하여, 상기 부분 분류기 별 상기 임계값과 상기 부분 분류기의 배열 순번을 결정하는 학습 단계를 더 포함하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
  16. 제15항에 있어서, 상기 학습 단계는,
    상기 학습을 목적으로 미리 분류된 특징 벡터 별로, 시작 순번부터 각 순번의 상기 부분 분류기에 이르기까지의 각 상기 부분 분류 함수의 연산 값을 더한 누적 점수를 각 산출하고
    각 상기 부분 분류기에 대응하는 상기 임계값을 각 상기 부분 분류기에 대하여 상기 산출된 누적 점수를 기반으로 설정하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
  17. 제16항에 있어서, 상기 학습 단계는,
    상기 설정한 임계값을 기준으로 각 상기 부분 분류기의 거절률(Rejection Rate)를 산출하여, 상기 산출된 거절률에 따라 상기 부분 분류기를 배열하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 방법.
  18. 컴퓨터와 결합되어 제1항 내지 제17항 중 어느 한 항에 따르는 서포트 벡터 머신 기반 데이터 분류 방법을 수행하도록 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
  19. 서포트 벡터 머신 기반 데이터 분류 장치에 있어서,
    분류 대상이 되는 특징 벡터(Feature Vector)와 미리 정해진 적어도 하나 이상의 서포트 벡터(Support Vector)를 입력받고, 상기 특징 벡터를 일정한 개수로 분할하여 부분 특징 벡터를 획득하고, 상기 서포트 벡터를 상기 특징 벡터와 동일하게 일정한 개수로 분할하여 부분 서포트 벡터를 획득하는 벡터 분할부;
    일정한 순서로 배열된 적어도 하나 이상의 부분 분류기를 구비하고, 상기 부분 특징 벡터와 상기 부분 서포트 벡터를 입력으로 하여 상기 부분 분류기의 부분 분류 함수를 연산하는 부분 분류기 연산부;
    적어도 하나 이상의 상기 부분 분류기의 상기 부분 분류 함수의 연산 값의 합을 미리 정해진 임계값과 비교하여, 상기 특징 벡터가 미리 정해진 특정 부류(Class)에 속하는지 여부를 판단하는 특징 벡터 분류부를 포함하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 장치
  20. 제19항에 있어서,
    상기 부분 분류기가 배열되는 순서는, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단할 확률인 거절률(Rejection Rate)에 따라 결정되는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 장치.
  21. 제20항에 있어서,
    상기 부분 분류 함수는 가산(Additive) 커널 함수에 포함된 차원 별 부분 커널 함수들 중 상기 부분 특징 벡터와 상기 부분 서포트 벡터의 구성 원소의 차원에 대응하는 상기 부분 커널 함수를 이용하여 연산하는 함수이고,
    상기 가산 커널 함수는 상기 특징 벡터의 각 차원의 원소에 대한 각 상기 부분 커널 함수 출력 값들의 총합이 상기 특징 벡터에 대한 상기 가산 커널 함수의 연산 값이 되는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 장치.
  22. 제19항에 있어서,
    상기 임계값은 각 순번의 상기 부분 분류기 별로 미리 정해지고,
    상기 특징 벡터 분류부는, 시작 순번부터 특정 순번의 상기 부분 분류기에 이르기까지의 각 상기 부분 분류 함수의 연산 값을 더한 누적 점수를 산출하고, 상기 산출한 누적 점수를 상기 임계값과 비교하여 상기 특징 벡터가 상기 부류에 속하는지 여부를 판단하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 장치.
  23. 제22항에 있어서, 상기 특징 벡터 분류부는,
    상기 부분 분류기가 배열된 순서대로 시작 순번부터 차례로 각 상기 부분 분류기에 이르기까지의 상기 누적 점수를 산출하면서,
    상기 누적 점수가 상기 임계값보다 작은 경우, 상기 특징 벡터가 상기 부류에 속하지 않는 것으로 판단하고 분류 작업을 종료하는 것을 특징으로 하는, 서포트 벡터 머신 기반 데이터 분류 장치.
KR1020150051974A 2015-04-13 2015-04-13 다단계의 부분 분류기를 이용한 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법 KR101704736B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150051974A KR101704736B1 (ko) 2015-04-13 2015-04-13 다단계의 부분 분류기를 이용한 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150051974A KR101704736B1 (ko) 2015-04-13 2015-04-13 다단계의 부분 분류기를 이용한 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20160121999A KR20160121999A (ko) 2016-10-21
KR101704736B1 true KR101704736B1 (ko) 2017-02-08

Family

ID=57257117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150051974A KR101704736B1 (ko) 2015-04-13 2015-04-13 다단계의 부분 분류기를 이용한 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101704736B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101916596B1 (ko) * 2017-07-04 2019-01-30 가톨릭대학교 산학협력단 이미지의 혐오감을 예측하는 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107292348A (zh) * 2017-07-10 2017-10-24 天津理工大学 一种Bagging_BSJ短文本分类方法
US11615303B2 (en) 2019-02-25 2023-03-28 Samsung Electronics Co., Ltd. Electronic device for classifying classes, electronic device for providing classification model for classifying classes, and method for operating the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072896A (ja) 2008-09-18 2010-04-02 Kddi Corp 多クラスsvmのためのsv削減方法
JP2014203136A (ja) 2013-04-01 2014-10-27 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110080246A (ko) * 2010-01-05 2011-07-13 중앙대학교 산학협력단 분산과 사전확률을 고려한 데이터 분류 장치 및 방법
KR101303591B1 (ko) * 2011-10-07 2013-09-11 전자부품연구원 통합형 서포트 벡터 머신 회로 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072896A (ja) 2008-09-18 2010-04-02 Kddi Corp 多クラスsvmのためのsv削減方法
JP2014203136A (ja) 2013-04-01 2014-10-27 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101916596B1 (ko) * 2017-07-04 2019-01-30 가톨릭대학교 산학협력단 이미지의 혐오감을 예측하는 방법

Also Published As

Publication number Publication date
KR20160121999A (ko) 2016-10-21

Similar Documents

Publication Publication Date Title
US9002101B2 (en) Recognition device, recognition method, and computer program product
US11657267B2 (en) Neural network apparatus, vehicle control system, decomposition device, and program
US9400919B2 (en) Learning deep face representation
US8675974B2 (en) Image processing apparatus and image processing method
US8401283B2 (en) Information processing apparatus, information processing method, and program
JP6498107B2 (ja) 分類装置、方法、及びプログラム
US9053393B2 (en) Learning method and apparatus for pattern recognition
KR101410489B1 (ko) 얼굴 식별 방법 및 그 장치
CN108875610B (zh) 一种基于边界查找的用于视频中动作时间轴定位的方法
Elen et al. Classifying white blood cells using machine learning algorithms
US20060112038A1 (en) Classifier performance
JP6897749B2 (ja) 学習方法、学習システム、および学習プログラム
US9547806B2 (en) Information processing apparatus, information processing method and storage medium
Kanojia et al. Breast cancer detection using RBF neural network
KR101704736B1 (ko) 다단계의 부분 분류기를 이용한 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법
Carbonetto et al. Learning to recognize objects with little supervision
Abe Modified backward feature selection by cross validation.
Kumari et al. Comparative Study on Handwritten Digit Recognition Classifier Using CNN and Machine Learning Algorithms
CN110827327B (zh) 一种基于融合的长期目标跟踪方法
Wasi et al. Arbex: Attentive feature extraction with reliability balancing for robust facial expression learning
JP2016062249A (ja) 識別辞書学習システム、認識辞書学習方法および認識辞書学習プログラム
Duan et al. The logitboost based on joint feature for face detection
Al-Dabbas et al. Machine Learning Approach for Facial Image Detection System
Li et al. Strangeness based feature selection for part based recognition
Agughasi The Superiority of Fine-tuning over Full-training for the Efficient Diagnosis of COPD from CXR Images

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200203

Year of fee payment: 4