KR20120040015A - 벡터 분류기 및 그것의 벡터 분류 방법 - Google Patents
벡터 분류기 및 그것의 벡터 분류 방법 Download PDFInfo
- Publication number
- KR20120040015A KR20120040015A KR1020100101509A KR20100101509A KR20120040015A KR 20120040015 A KR20120040015 A KR 20120040015A KR 1020100101509 A KR1020100101509 A KR 1020100101509A KR 20100101509 A KR20100101509 A KR 20100101509A KR 20120040015 A KR20120040015 A KR 20120040015A
- Authority
- KR
- South Korea
- Prior art keywords
- vector
- compressed
- support vector
- support
- classification
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine 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)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 실시 예에 따른 벡터 분류기는, 입력 벡터를 압축하는 벡터 압축기, 압축된 서포트 벡터를 저장하는 서포트 벡터 저장부; 및 상기 압축된 입력 벡터 및 상기 압축된 서포트 벡터를 입력받아 분류 결정식에 따라 연산하는 서포트 벡터 머신 연산부를 포함한다. 본 발명에 따른 벡터 분류기 및 그것의 벡터 분류 방법은, 입력 벡터와 서포트 벡터의 차수를 줄여서 연산함으로써, 입력 벡터를 실시간으로 분류할 수 있게 된다.
Description
벡터 분류기 및 그것의 벡터 분류 방법에 관한 것이다.
서포트 벡터 머신(Support Vector Machine; SVM)은 기본적으로 두 클래스를 갖는 객체들을 분류하는 방법에 관한 것으로, 1976년 Vapnik(1995)에 의해 제안되었다. 두 개의 클래스로 구성된 N개의 객체가 P차원 공간에 위치하는데, 하나의 초평면(hyperplane)으로 구분되는 경우, 두 클래스 사이에는 무수히 많은 초평면이 존재할 수 있으나, 서포트 벡터 머신에는 각 클래스의 경계를 유지하는 객체들을 지나는 초평면이 존재하는데, 이 두 개의 초평면과 두 클래스를 구분하는 초평면 간의 거리인 마진 이 최대가 되는 초평면을 선택한다. 두 개의 클래스를 정확하게 구분하는 초평면이 존재하지 않을 경우, 오차를 인정하는 초평면을 선택할 수 있으며, 개별적인 적용에 적당한 커널 함수(kernel function)를 사용하여 임의의 차원으로 객체들을 매핑(mapping)시킨 후, 그 차원에서 구분되는 초평면을 구하여 두 클래스를 분류할 수도 있다.
본 발명의 목적은 적은 연산으로 벡터 분류를 할 수는 있는 벡터 분류기 및 그것의 벡터 분류 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 벡터 분류기는, 입력 벡터를 압축하는 벡터 압축기, 압축된 서포트 벡터를 저장하는 서포트 벡터 저장부; 및 상기 압축된 입력 벡터 및 상기 압축된 서포트 벡터를 입력받아 분류 결정식에 따라 연산하는 서포트 벡터 머신 연산부를 포함한다.
실시 예에 있어서, 상기 분류 결정식은,
여기서, M은 압축된 서포트 벡터의 개수이고, αi는 i번째 압축된 서포트 벡터의 가중치이고, y i는 클래스이고, b는 바이어스이고, K(u,vi)는 분류 커널 함수이고, vi는 압축된 서포트 벡터이고, u는 상기 압축된 입력 벡터이다.
실시 예에 있어서, 상기 분류 커널 함수는 선형, 다항식, 비선형의 RBF(Radial Basis Function)일 수 있다.
실시 예에 있어서, 상기 벡터 압축부는, 서포트 벡터의 고유 벡터의 영향력을 줄이도록 상기 입력 벡터를 압축한다.
실시 예에 있어서, 상기 입력 벡터를 압축하기 위하여,
여기서, X는 상기 입력 벡터이고,
Xs ,M은 M번째 서포트 벡터이고,
Us, Vs는 직교 및 단일 행렬(orthonormal and unitary matrix) 이고
여기서, (:,1:P)에서 처음 ':'은 모든 행(row)의 요소들을 포함한다는 의미이고, '1:P'는 모든 열(column)의 요소들 중 처음 P개만을 선택한다는 의미이다.
실시 예에 있어서, 상기 압축된 입력 벡터는 XVs(:,1:P)이고, 상기 압축된 서포트 벡터는 UsDs(:,1:P)의 행벡터이다.
실시 예에 있어서, 상기 서포트 벡터 저장부는, 상기 입력 벡터의 차수에 상기 압축된 입력 벡터의 차수를 곱한 만큼의 저장 공간과, 상기 압축된 서포트 벡터의 차수에 상기 압축된 입력 벡터의 차수를 곱한 만큼의 저장 공간을 포함한다.
실시 예에 있어서, 상기 서포트 벡터 머신 연산부는, 상기 압축된 입력 벡터와 상기 압축된 서포트 벡터를 입력받아 소정의 분류 커널 함수에 따라 커널 값을 계산하는 커널 계산기, 상기 계산된 커널 값에 대응하는 가중치를 상기 커널 값에 곱하는 곱셈기, 상기 곱셈기의 출력 값을 누적하는 레지스터 및 상기 레지스터에 누적된 값을 부호함수를 이용하여 분류 값을 생성하는 필터를 포함한다.
실시 예에 있어서, 상기 압축된 서포트 벡터를 출력하는 서포트 벡터 머신 훈련기를 더 포함한다.
실시 예에 있어서, 상기 서포트 벡터 머신 훈련기는, 훈련 벡터들을 저장하는 훈련 벡터 저장부, 상기 훈련 벡터 저장부로부터 출력된 훈련 벡터를 압축하는 훈련 벡터 압축부, 및 상기 압축된 훈련 벡터를 이용하여 서포트 벡터를 선택하는 벡터 훈련부를 포함한다.
본 발명의 실시 예에 따른 벡터 분류기의 벡터 분류 방법은, 입력 벡터의 차수를 줄이도록 상기 입력 벡터를 압축하는 단계, 및 상기 압축된 입력 벡터와 압축된 서포트 벡터를 입력받아 분류 결정식에 따라 분류하는 단계를 포함한다.
실시 예에 있어서, 서포트 벡터를 압축하는 단계를 더 포함한다.
실시 예에 있어서, 상기 서포트 벡터를 압축하는 단계는, 훈련 벡터를 압축하고, 압축된 훈련 벡터를 이용하여 서포트 벡터를 선택하는 단계를 포함한다.
실시 예에 있어서, 상기 선택된 서포트 벡터가 상기 압축된 서포트 벡터이다.
상술한 바와 같이 본 발명에 따른 벡터 분류기 및 그것의 벡터 분류 방법은, 입력 벡터와 서포트 벡터의 차수를 줄여서 연산함으로써, 입력 벡터를 실시간으로 분류할 수 있게 된다.
또한 본 발명에 따른 벡터 분류기는, 압축된 서포트 벡터를 저장함으로써, 서포트 벡터 머신의 저장 공간의 크기를 줄일 수 있다.
도 1은 본 발명의 실시 예에 따른 벡터 분류기를 보여주는 블록도이다.
도 2는 도 1에 도시된 서포트 벡터 연산기에 대한 실시 예를 보여주는 도면이다.
도 3은 도 1에 도시된 서포트 벡터 저장부를 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 벡터 분류기의 벡터 분류 방법을 보여주는 흐름도이다.
도 5는 본 발명의 실시 예에 따른 서포트 벡터 훈련기에 대한 블록도이다.
도 6은 본 발명에 따른 서포트 벡터 머신의 분류 정밀도를 보여주는 도면이다.
도 7은 본 발명에 따른 벡터 압축시 하드웨어 리소스 및 정확도를 보여주는 표이다.
도 2는 도 1에 도시된 서포트 벡터 연산기에 대한 실시 예를 보여주는 도면이다.
도 3은 도 1에 도시된 서포트 벡터 저장부를 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 벡터 분류기의 벡터 분류 방법을 보여주는 흐름도이다.
도 5는 본 발명의 실시 예에 따른 서포트 벡터 훈련기에 대한 블록도이다.
도 6은 본 발명에 따른 서포트 벡터 머신의 분류 정밀도를 보여주는 도면이다.
도 7은 본 발명에 따른 벡터 압축시 하드웨어 리소스 및 정확도를 보여주는 표이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시 예를 첨부된 도면을 참조하여 설명할 것이다.
본 발명의 이해를 돕기 위하여, 아래에서는 서포트 벡터 머신(Support Vector Machine) 관련된 몇 가지 수학적 표시를 설명하겠다.
서포트 벡터 머신은 통계 훈련 이론으로부터의 구조적 위험 최소화 원칙(Structural Risk Minimization:SRM)으로 회귀, 분류 및 밀도 추정 문제에 적용되고 있다. 서포트 벡터 머신은 최대 마진 분류자의 카테고리에 속해 있고, 서포트 벡터 머신의 특징 공간에서, 음의 표본으로부터 양의 표본을 쪼개는(spilt) 결정 초표면(hypersurface)을 발견함으로써, 이진 분류(즉, 이들은 2 개의 출력 클래스를 가진다)를 수행한다.
서포트 벡터 머신은, 훈련 태스크(task)를 설명하기 위해 고정되었으나, 공지되지 않은 분포 Pr(x,y)로부터 크기(n)의 독립적이고 동일하게 분포된 훈련 샘플()을 입력받는다. 여기서 xi는 분류되는 입력 데이터를 나타내는 벡터이고, 세트 {-1, +1}에서의 yi는 클래스 표시이다.
서포트 벡터 머신은 아래의 수학식에 따라 이진, 선형 결정 규칙을 훈련한다.
여기서, 결정 함수는 가중치 벡터(w) 및 역치 값(b)에 의해 설명된다. 입력 벡터(x)가 놓여 있는 초표면의 측면에 따라, 클래스 '+1' 또는 '-1'로 분류된다. 구조적 위험 최소화의 개념은, 가장 낮은 오류 확률이 보장되어 있는 가설(h)를 찾는 것이다. 이는 서포트 벡터 머신으로, 목표가 분리가능한 데이터에 대한 가장 큰 마진을 가진 초표면을 발견하는 것으로 해석될 수 있다. 다시 말해, 분리가능한 훈련 세트에 대해, 서포트 벡터 머신은, 가장 큰 마진으로, 각각, "+" 및 "-"로 표시되어 있는, 양 및 음의 훈련 표본을 분리하는 초표면(h)를 찾는다. 초표면(h)에 가장 가까운 표본은 서포트 벡터(support vector)로 불린다.
초표면 계산은 라그랑지안(Lagrangian) 표현에서, 아래의 수학식에서 2차 최적화 문제를 해결하는 것과 같다.
서포트 벡터는 αi>0 양의 라그랑지안 계수에 대응하는 훈련 벡터(xi) 이다. 이 최적화 문제의 해결로부터 결정 규칙이 다음의 수학식으로 계산될 수 있다.
여기서 b를 계산하기 위한 훈련 표본(xtsv, ytsv)은 αtsv < C를 만족하는 서포트 벡터이다.
훈련된 결정 규칙을 적용하는 것뿐 아니라 2차 최적화 문제를 해결하는 것에 대하여, 관찰 벡터 사이의 내적이 계산될 수 있다. 이러한 특성을 이용하여, K(x1, x2)에 의해 표시되어 있는, 커널 함수(kernel function)의 사용은 비선형 결정 규칙의 훈련에 도입된다. 이러한 커널 함수는 몇 개의 고차원 특징 공간에서 내적을 계산하고 아래의 수학식으로 내적을 대체한다.
일반적으로 커널 함수(kernel function)는 선형, 다항의, RBF(radial basis function), 및 시그모이드(sigmoid)일 수 있다.
커널 함수의 유형에 따라, 서포트 벡터 머신은 선형 분류자, 다항 분류자, RBF 분류자 또는 2 층의 시그모이드 신경망일 수 있다. 아래에서는 설명의 편의를 위하여 커널 함수가 RBF라고 가정하겠다.
본 발명의 실시 예에 따른 벡터 분류기는 입력 벡터를 압축하여 연산함으로써, 일반적인 그것과 비교하여 보다 적은 연산으로 벡터 분류를 수행할 수 있다. 이로써, 본 발명에 따른 벡터 분류기는 실시간으로 벡터 분류를 할 수 있다.
도 1은 본 발명의 실시 예에 따른 벡터 분류기(100)를 보여주는 블록도이다. 도 1를 참조하면, 벡터 분류기(100)는 벡터 압축부(120), 서포트 벡터 저장부(140) 및 서포트 벡터 머신 연산부(160)를 포함한다.
벡터 압축부(120)는 서포트 벡터(Xs)를 이용하여 입력 벡터(X)를 압축시킨다. 여기서, 서포트 벡터(Xs)는 서포트 벡터 데이터(Support Vector Data; SVD)을 통해 UsDsVs T로 분해된다. 여기서, Us와 Vs는 고유 벡터 셋으로 정규화된 값이고, Ds는 대각 행렬(diagonal matrix)로써, 그 값은 고유 벡터의 영향력을 의미한다.
입력 벡터(X)를 압축하기 위하여, 고유 벡터(Ds) 중 가장 영향력이 큰 P개의 값이 유지되고 나머지 부분이 제거될 것이다. 이때, 고유 벡터의 영향력 변화를 최소화시킨 상태로 벡터가 압축될 수 있다. RBF 분류 커널 함수를 이용하여 분류할 때, 입력 벡터(X)를 압축하기 위한 수학식은 아래와 같다.
Us, Vs는 직교 및 단일 행렬(orthonormal and unitary matrix) 이고
한편, XVs(:,1:P)는 압축된 입력 벡터(u)이고, UsDs(:,1:P)는 압축된 서포트 벡터(v)이다. 여기서,(:,1:P)에서 처음 ':'은 모든 행(row)의 요소들을 포함한다는 의미이고, '1:P'는 모든 열(column)의 요소들 중 처음 P개만을 선택한다는 의미이다.
서포트 벡터 저장부(140)는 압축된 서포트 벡터(v)를 저장한다. 여기서 압축된 서포트 벡터(v)는 서포트 벡터 머신 훈련부(도시되지 않음)로부터 제공될 수 있다.
서포트 벡터 머신 연산부(160)는 압축된 입력 벡터(u)와 압축된 서포트 벡터(v)를 입력받아 분류 결정식에 따라 연산을 수행한다. 여기서, 분류 결정식은 아래의 수학식으로 표현될 수 있다.
여기서, M은 사용되는 압축된 서포트 벡터의 수이며, αi는 i번째 압축된 서포트 벡터의 가중치이고, y i는 클래스(1/-1)이고, vi 는 i번째 압축된 서포트 벡터이고, b는 바이어스이고, K(u,v)는 분류 커널 함수이다. 여기서, 분류 커널 함수는 선형 혹은 비선형일 수 있다.
실시 예에 있어서, 분류 커널 함수가 비선형의 RBF(Radial Basis Function)라면, K(u,v)는 아래의 수학식을 만족한다.
여기서, γ는 RBF 분류 커널 함수의 계수이다.
본 발명의 실시 예에 따른 벡터 분류기(100)는 서포트 벡터(Xs)를 이용하여 입력 벡터(X) 및 서포트 벡터(Xs)를 압축하고, 압축된 입력 벡터(v) 및 압축된 서포트 벡터(u)를 입력받아 분류 결정식에 따라 연산을 수행한다. 이에, 본 발명의 벡터 분류기(100)는 입력 벡터(X) 및 서포트 벡터(Xs)의 차수를 줄임으로써, 실시간의 입력 벡터(X)를 분류할 수 있다.
도 2는 도 1에 도시된 서포트 벡터 저장부(140)의 구조를 예시적으로 보여주는 도면이다. 도 2를 참조하면, 서포트 벡터 저장부(140)는 일반적인 서포트 벡터 저장부와 비교하여 저장 공간을 크게 줄일 수 있다.
일반적인 서포트 벡터 저장부는 입력 벡터의 차수(N)과 서포트 벡터의 차수(M)의 곱(N×M)만큼의 저장 공간을 필요로 한다.
반면에, 본 발명의 서포트 벡터 저장부(140)는 압축된 차수(P)와 입력 벡터의 차수(N)의 곱(P×N) 만큼의 저장 공간과 압축된 차수(P)와 서포트 벡터의 차수(M)의 곱(P×M) 만큼의 저장 공간을 필요로 한다. 여기서, P는 M 및 N 보다 작다. 저장 공간(P×N)은 Vs를 저장하고, 저장 공간(P×M)은 압축된 서포트 벡터(v=Us , iDs(:,1:P))를 저장한다.
실시 예에 있어서, 본 발명에 따른 분류 결정식은, 소프트웨어적으로 구현될 수 있다. 다른 실시 예에 있어서, 본 발명에 따른 분류 결정식은 하드웨어적으로 구현될 수 있다.
도 3는 도 1에 도시된 서포트 벡터 머신 연산부(160)에 대한 실시 예를 보여주는 도면이다. 도 3을 참조하면, 서포트 벡터 머신 연산부(160)는, 커널 계산기(161), 가중치 저장기(162), 곱셈기(163), 덧셈기(164), 레지스터(165), 스위치(166) 및 필터(167)를 포함한다.
커널 계산기(161)는 압축된 입력 벡터(u) 및 압축된 서포트 벡터(v) 입력 받아 커널 값(K(u,v))을 계산한다. 커널 계산부(161)는 선형(linear) 분류 커널 함수, 다항(polynomial) 분류 커널 함수, RBF(Radial Basis Function) 분류 커널 함수들 중 어느 하나를 내장할 수 있다.
가중치 저장기(162)는 각 서포트 벡터에 대응하는 가중치들을 저장한다. 가중치 저장기(162)는 커널 계산기(161)로부터 계산된 커널 값(K(u,v))에 대응하는 가중치(α)를 출력하도록 구현된다.
곱셈기(163)는 커널 계산기(161)의 커널 값(K(u,v))과 가중치 저장기(162)로부터 출력된 가중치(α)를 입력받아 곱셈 연산을 수행한다.
덧셈기(164)는 곱셈기(163)의 출력 값과 레지스터(165)에 저장된 값을 입력받아 덧셈 연산을 수행한다.
레지스터(165)는 덧셈기(164)의 출력 값을 누적한다. 레지스터(165)에 누적된 출력 값은 아래의 수학식을 만족한다.
여기서, M은 사용되는 압축된 서포트 벡터의 수이며, αi는 i번째 압축된 서포트 벡터의 가중치이고, vi 는 i번째 압축된 서포트 벡터이다.
스위치(166)는 레지스터(165)에 누적된 값을 필터(167)로 전송할지 여부를 스위칭한다. 예를 들어, 압축된 서포트의 벡터의 개수만큼 커널 값이 누적되었을 때, 스위치(166)는 레지스터(165)에 누적된 값을 필터(167)로 출력시킨다.
필터(167)는 레지스터(165)의 저장된 값을 필터링하여 최종적인 분류 값(f(X))을 출력한다. 여기서, 필터(167)는 부호함수(sign function)를 이용할 수 있다. 이때, 필터(167)의 출력 값(f(X))은 '-1', '0', 및 '1' 중 어느 하나이다.
본 발명의 실시 예에 따른 서포트 벡터 머신 연산부(160)는 분류 결정식에 따라 압축된 입력 벡터(u)에 대한 커널 값들을 누적하고, 누적된 값을 부호 함수를 이용하여 부호화시킨다.
도 4는 본 발명에 따른 벡터 분류기의 벡터 분류 방법을 예시적으로 보여주는 흐름도이다. 도 4를 참조하면, 벡터 분류 방법은, 입력 벡터의 차수를 압축하고(S110), 압축된 벡터와 압축된 서포트 벡터를 입력받아 사전에 결정된 분류 결정식에 따라 분류한다(S120).
실시 예에 있어서, 입력 벡터를 압축하는 단계는, 입력 벡터의 차수를 줄이는 단계를 포함할 수 있다.
실시 예에 있어서, 훈련 벡터를 압축하고, 압축된 훈련 벡터를 이용하여 서포트 벡터를 선택하는 단계를 더 포함할 수 있다. 여기서, 선택된 서포트 벡터가 상기 압축된 서포트 벡터일 것이다.
본 발명의 실시 예에 따른 벡터 분류 방법은, 입력 벡터 및 서포트 벡터의 차수를 줄여서 연산함으로써, 벡터 분류기의 연산 속도를 빠르게 할 수 있다.
도 5는 본 발명에 따른 서포트 벡터 머신 훈련기(200)를 예시적으로 보여주는 블록도이다. 도 5를 참조하면, 서포트 벡터 머신 훈련기(200)는 훈련 벡터 저장부(220), 벡터 압축부(240), 및 벡터 훈련부(260)를 포함한다.
훈련 벡터 저장부(220)는 복수의 훈련 벡터들을 저장한다.
벡터 압축부(240)는 훈련 벡터 저장부(220)로부터 출력된 훈련 벡터(X)를 입력받아 압축시킨다. 여기서 압축된 훈련 벡터(XVs)는 훈련 벡터(X)의 차수가 낮아진다.
벡터 훈련부(260)는 벡터 압축부(240)로부터 압축된 훈련 벡터(XVs)를 입력받아 서포트 벡터(SVs)를 선택하고, 선택된 서포트 벡터(SVs)를 출력한다. 여기서, 선택된 서포트 벡터(SVs)는 도 1의 서포트 벡터 저장부(140)에 저장된 압축된 서포트 벡터(v)일 수 있다.
본 발명의 실시 예에 따른 서포트 벡터 머신 훈련기(200)는 압축된 서포트 벡터(SVs)를 생성한다. 즉, 본 발명의 서포트 벡터 머신 훈련기(200)는 일반적인 그것과 비교하여 서포트 벡터(Vs)의 차수를 낮출 수 있다.
도 6은 본 발명에 따른 벡터 분류기의 분류 정밀도를 보여주는 도면이다. 도 6에 도시된 분류 정밀도는, 입력 벡터(X)의 차수(N)가 48이고, 서포트 벡터(Vs)의 차수(M)가 96인 보행자 인식용 영상에 관한 것이다. 전체의 차수는 1980(=48×96)이고, 압축 차수(P)를 180 이상으로 할 때 정밀도의 열화가 거의 없다. 도 6을 참조하면, 본 발명에 따른 서포트 벡터 머신의 정밀도는, 종래의 서포트 벡터 머신의 그것과 비슷하다. 또한, 본 발명에 따른 서포트 벡터 머신의 정밀도는, 아다부스트(Adaboost)를 이용하는 분류기의 그것보다 높다. 아다부스트를 이용하는 분류기일 때, 도 6의 가로축은 약한 분류기(Weak Classifier)의 개수이다.
도 7은 본 발명에 따른 입력 벡터 압축시 하드웨어 리소스 및 정밀도를 예시적으로 보여주는 표이다.
압축하지 않고 원래의 입력 벡터가 이용될 때, 메모리 워드 개수 및 곱셈기의 개수는 각각 2,781,900개(100%) 필요하고, 덧셈기 혹은 뺄셈기의 개수는 2,780,495개 필요하다. 이때 정밀도는 99.6%이다.
반면에, 압축 차수(P)가 400일 때, 메모리 워드 개수 및 곱셈기의 개수는 각각 1,354,000개(49%)가 필요하고, 덧셈기 혹은 뺄셈기의 개수는 1,350,615개(49%)개 필요하다. 즉, 압축 차수(P)가 400일 때 51% 하드웨어 절감 효과가 발생한다. 이때 정밀도는 99.5%이다.
한편, 압축 차수(P)가 200일 때, 메모리 워드 개수 및 곱셈기의 개수는 각각 677,000개(24%)가 필요하고, 덧셈기 혹은 뺄셈기의 개수는 673,615개(24%)개 필요하다. 즉, 압축 차수(P)가 200일 때 761% 하드웨어 절감 효과가 발생한다. 이때 정밀도는 99.4%이다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 벡터 분류기
120: 벡터 압축부
140: 서포트 벡터 저장부
160: 서포트 벡터 머신 연산부
200: 서포트 벡터 머신 훈련기
220: 훈련 벡터 저장부
240: 벡터 압축부
260: 벡터 훈련부
120: 벡터 압축부
140: 서포트 벡터 저장부
160: 서포트 벡터 머신 연산부
200: 서포트 벡터 머신 훈련기
220: 훈련 벡터 저장부
240: 벡터 압축부
260: 벡터 훈련부
Claims (16)
- 입력 벡터를 압축하는 벡터 압축기;
압축된 서포트 벡터를 저장하는 서포트 벡터 저장부; 및
상기 압축된 입력 벡터 및 상기 압축된 서포트 벡터를 입력받아 분류 결정식에 따라 연산하는 서포트 벡터 머신 연산부를 포함하는 벡터 분류기. - 제 2 항에 있어서,
상기 분류 커널 함수는 선형인 벡터 분류기. - 제 2 항에 있어서,
상기 분류 커널 함수는 다항식인 벡터 분류기. - 제 2 항에 있어서,
상기 분류 커널 함수는 비선형의 RBF(Radial Basis Function)인 벡터 분류기. - 제 5 항에 있어서,
상기 벡터 압축부는, 서포트 벡터의 고유 벡터의 영향력을 줄이도록 상기 입력 벡터를 압축하는 벡터 분류기. - 제 7 항에 있어서,
상기 압축된 입력 벡터는 XVs(:,1:P)이고,
상기 압축된 서포트 벡터는 UsDs(:,1:P)의 행벡터인 벡터 분류기. - 제 7 항에 있어서,
상기 서포트 벡터 저장부는, 상기 입력 벡터의 차수에 상기 압축된 입력 벡터의 차수를 곱한 만큼의 저장 공간과, 상기 압축된 서포트 벡터의 차수에 상기 압축된 입력 벡터의 차수를 곱한 만큼의 저장 공간을 포함하는 벡터 분류기. - 제 1 항에 있어서,
상기 서포트 벡터 머신 연산부는,
상기 압축된 입력 벡터와 상기 압축된 서포트 벡터를 입력받아 소정의 분류 커널 함수에 따라 커널 값을 계산하는 커널 계산기;
상기 계산된 커널 값에 대응하는 가중치를 상기 커널 값에 곱하는 곱셈기;
상기 곱셈기의 출력 값을 누적하는 레지스터; 및
상기 레지스터에 누적된 값을 부호함수를 이용하여 분류 값을 생성하는 필터를 포함하는 벡터 분류기. - 제 1 항에 있어서,
상기 압축된 서포트 벡터를 출력하는 서포트 벡터 머신 훈련기를 더 포함하는 벡터 분류기. - 제 11 항에 있어서,
상기 서포트 벡터 머신 훈련기는,
훈련 벡터들을 저장하는 훈련 벡터 저장부;
상기 훈련 벡터 저장부로부터 출력된 훈련 벡터를 압축하는 훈련 벡터 압축부; 및
상기 압축된 훈련 벡터를 이용하여 서포트 벡터를 선택하는 벡터 훈련부를 포함하는 벡터 분류기. - 벡터 분류기의 벡터 분류 방법에 있어서:
입력 벡터의 차수를 줄이도록 상기 입력 벡터를 압축하는 단계; 및
상기 압축된 입력 벡터와 압축된 서포트 벡터를 입력받아 분류 결정식에 따라 분류하는 단계를 포함하는 벡터 분류 방법. - 제 13 항에 있어서,
서포트 벡터를 압축하는 단계를 더 포함하는 벡터 분류 방법 - 제 13 항에 있어서,
상기 서포트 벡터를 압축하는 단계는,
훈련 벡터를 압축하고, 압축된 훈련 벡터를 이용하여 서포트 벡터를 선택하는 단계를 포함하는 벡터 분류 방법. - 제 15 항에 있어서,
상기 선택된 서포트 벡터가 상기 압축된 서포트 벡터인 벡터 분류 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100101509A KR20120040015A (ko) | 2010-10-18 | 2010-10-18 | 벡터 분류기 및 그것의 벡터 분류 방법 |
US13/189,345 US20120095947A1 (en) | 2010-10-18 | 2011-07-22 | Vector classifier and vector classification method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100101509A KR20120040015A (ko) | 2010-10-18 | 2010-10-18 | 벡터 분류기 및 그것의 벡터 분류 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120040015A true KR20120040015A (ko) | 2012-04-26 |
Family
ID=45934973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100101509A KR20120040015A (ko) | 2010-10-18 | 2010-10-18 | 벡터 분류기 및 그것의 벡터 분류 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120095947A1 (ko) |
KR (1) | KR20120040015A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016118257A1 (en) * | 2015-01-22 | 2016-07-28 | Qualcomm Incorporated | Model compression and fine-tuning |
KR102286229B1 (ko) * | 2020-02-19 | 2021-08-06 | 한국기술교육대학교 산학협력단 | 특징벡터 기반 싸움 이벤트 인식 방법 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106062B (zh) * | 2013-02-04 | 2016-01-20 | 中国科学院半导体研究所 | 校正光学向量-矩阵乘法器激光通路一致性的方法 |
CN103295031B (zh) * | 2013-04-15 | 2016-12-28 | 浙江大学 | 一种基于正则风险最小化的图像目标计数方法 |
CN113628403A (zh) * | 2020-07-28 | 2021-11-09 | 威海北洋光电信息技术股份公司 | 基于多核支持向量机的光纤振动传感周界安防入侵行为识别算法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802208A (en) * | 1996-05-06 | 1998-09-01 | Lucent Technologies Inc. | Face recognition using DCT-based feature vectors |
US7295977B2 (en) * | 2001-08-27 | 2007-11-13 | Nec Laboratories America, Inc. | Extracting classifying data in music from an audio bitstream |
EP2345256B1 (en) * | 2008-10-07 | 2018-03-14 | Euclid Discoveries, LLC | Feature-based video compression |
TW201022959A (en) * | 2008-10-30 | 2010-06-16 | Ibm | Method, device, computer program and computer program product for determining a representation of a signal |
US8731317B2 (en) * | 2010-09-27 | 2014-05-20 | Xerox Corporation | Image classification employing image vectors compressed using vector quantization |
-
2010
- 2010-10-18 KR KR1020100101509A patent/KR20120040015A/ko not_active Application Discontinuation
-
2011
- 2011-07-22 US US13/189,345 patent/US20120095947A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016118257A1 (en) * | 2015-01-22 | 2016-07-28 | Qualcomm Incorporated | Model compression and fine-tuning |
US10223635B2 (en) | 2015-01-22 | 2019-03-05 | Qualcomm Incorporated | Model compression and fine-tuning |
KR102286229B1 (ko) * | 2020-02-19 | 2021-08-06 | 한국기술교육대학교 산학협력단 | 특징벡터 기반 싸움 이벤트 인식 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20120095947A1 (en) | 2012-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11657267B2 (en) | Neural network apparatus, vehicle control system, decomposition device, and program | |
US10783454B2 (en) | Scalable-effort classifiers for energy-efficient machine learning | |
WO2017139927A1 (en) | Region proposal for image regions that include objects of interest using feature maps from multiple layers of a convolutional neural network model | |
US9002101B2 (en) | Recognition device, recognition method, and computer program product | |
Chan et al. | Bayesian poisson regression for crowd counting | |
US8532399B2 (en) | Large scale image classification | |
US20190005324A1 (en) | Method and apparatus for separating text and figures in document images | |
EP3729338A1 (en) | Neural entropy enhanced machine learning | |
KR102142403B1 (ko) | 저사양 임베디드 환경에서의 합성곱 신경망 연산을 위한 역 잔여 블록의 채널 확장 매개변수 설정 시스템 및 방법 | |
KR20120040015A (ko) | 벡터 분류기 및 그것의 벡터 분류 방법 | |
US11120298B2 (en) | Tensor image mapping device, method, and computer program product | |
US20140297707A1 (en) | Information processing apparatus, information processing method and storage medium | |
US9058748B2 (en) | Classifying training method and apparatus using training samples selected at random and categories | |
Pichel et al. | A new approach for sparse matrix classification based on deep learning techniques | |
US20130156319A1 (en) | Feature vector classifier and recognition device using the same | |
Moon et al. | Meta learning of bounds on the Bayes classifier error | |
KR101704736B1 (ko) | 다단계의 부분 분류기를 이용한 서포트 벡터 머신 기반 데이터 분류 장치 및 그 방법 | |
EP3166021A1 (en) | Method and apparatus for image search using sparsifying analysis and synthesis operators | |
US20220405576A1 (en) | Multi-layer neural network system and method | |
CN111788582A (zh) | 电子设备及其控制方法 | |
CN112381338B (zh) | 事件概率预测模型训练、事件概率预测方法及相关装置 | |
US11593621B2 (en) | Information processing apparatus, information processing method, and computer program product | |
WO2022104271A1 (en) | Automatic early-exiting machine learning models | |
Thanomsingh et al. | A comparison study of using linear and nonlinear classifiers on object recognition based on inception convolutional neural networks with different numbers of inception-block | |
US8019762B2 (en) | Binary data classification method, binary data classification device, computer program, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |