Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

codingfarm

1. 소개 본문

AI/패턴인식

1. 소개

scarecrow1992 2020. 1. 28. 17:05

 

패턴 인식의 가장 간단한 관점

 

특징,분류 : 패턴인식에서 제일 중요한 2개의 주제

 

예 : 사람의 얼굴을 인식하기

얼굴이 작고, 코가 뾰족하고, 눈썹이 짙고, 눈이 작은 샘플이 있다면

  • 특징
    • 얼굴 크기($x_1$), 코의 모양($x_2$), 눈썹의 짙은 정도($x_3$), 눈의 크기($x_4$)
  • 분류
    • $x_1$ = 작다, $x_2$ = 뾰족하다, $x_3$ = 짙다, $x_4$ = 작다 라는 패턴이 들어왔을때, 이미 알고 있는 지식에 비추어 아무개일 가능성이 높다라는 의사 결정과정.
  • M : 부류의 갯수
  • $w_i$ : 각 부류

DB 수집

패턴 인식 시스템을 만들기 위해서는 pattern을 수집해야한다.

sample : 인식 시스템을 만들기 위해 수집한 패턴

DB에는 아래와 같은 2개의 집합이 있다.

  • training set : 인식기를 만들기 위해 사용할 집합
  • test set : 인식기를 평가하기 위해 사용하는 집합

 

DB가 양적/질적으로 우수해야 좋은 인식기를 만들 수 있다.

 

필기 숫자 샘플
8*8크기로 정규화한 비트맵


특징(feature)

샘플을 분류하기 위해서 패턴으로부터 추출해야할 특이사항

위의 8*8 비트맵에서 특징을 검출할 방법은 2가지가 있다.

1)각 비트별로 삼을경우 : $x = \left[x_1, x_2, ... , x_{64} \right]$

2)구역을 나눠서 0과 1의 비례로 파악 : $x = \left[x_1, x_2\right]$

$X$ : 특징 벡터(feature vector)

d : 특징의 갯수

[그림 1.5]는 2번째 방법으로 특징을 추출한것이다.

 

그렇게 얻은 특징으로 그래프상에 분류하면 아래와 같다.

 

최고의 성능을 가진다고 하긴 힘들지만 6과 7은 잘 구분하는 것을 확인가능하다.

위와 같은 분포도를 통해 쓸모없는 특징과 각 특징의 중요도를 알 수 있다.

 

특징을 많이쓰면 적게 쓰면
분별력$\blacktriangle$, 계산량$\blacktriangledown$ 분별력$\blacktriangledown$, 계산량$\blacktriangle$

 

특징을 분별함에 있어서 중요한 문제

  1. 분별력(discriminating power)
  2. 차원의 저주(curse of dimensinality)

특징을 얼마나, 어떻게 쓸것인지는 매우 중요하다.

8장과 9장에서 특징 추출 및 가공에 대해 배운다.

 

 

분류(classification)

어떤 패턴이 들어왔을때 특징을 통해서 M개의 부류중 하나로 할당하는 작업

분류기(classifier) : 분류를 담당하는 프로그램

 

특징공간이 2차원($x_1$, $x_2$)이며 부류도 2개($w_1$, $w_2$)가 있는 상황에서 $w_1$과 $w_2$는 각각 10개와 12개의 훈련 샘플을 가지고 있는 상황을 예로 들겠다. 이 분류 문제에서 두 부류를 어떻게 분류할 것인가?

분류기 설계 과정

  1. 모델 선택(model selection)
    • 분류기를 표현하는 수학적 모델로 무엇을 쓸지 결정한다.
    • 위 그림은 1차~3차 이상의 결정직선 or 곡선을 쓰는것을 볼 수 있다.
    • 성능 평가를 통해 적절한 분류기를 사용해야한다
    • 다항 식 이외에 결정 경계를 만둘어주는 신경망이나 SVM 같은 분류 방법론이 있다.
  2. 분류기 학습(learning) or 훈련(training)

결정 직선(2차원), 결정 평면(3차원), 결정 초평면(4차원 이상)

  • 경계식을 1차식으로 표현 가능한것
  • 2개의 부류를 나누는데 주로 사용될 수 있다.
  • 결정 초평면을 쓰는 분류기를 선형분류기(linear classifier) 라 한다.

비선형 분류기 : 2차 이상의 다항식으로 표현되는 분류기

 

-패턴인식은 학습용 샘플이 아닌 테스트용 샘플에서의 성능이 진정 가치있다.

-검증 집합(validation set) : 분류기 모델의 성능을 검증하는데 쓰인다.

-처음본 샘플에 대해 보여주는 성능을 일반화(generalization) 능력이라 한다.

 

위 그래프에서 제일 아래의 $w_1$ 샘플이 1,2차 경계선에선 $w_2$로 분류되지만 3차 경계선에선 $w_1$로 분류된다.

3차가 더 우수할 수 있지만 제일 아래쪽의 신호가 noise에 의한 외톨이일 가능성이 있으며 3차 결정 곡선은

과적합(over fitting) 되었다고도 볼 수 있다.

 

너무 복잡한 모델을 사용하여 훈련 집합에 과적합 시키는 일은 피하는것이 좋다(Occam의 칼날)

지도학습과 비지도학습

  • 지도학습(supervised learning)
    • 훈련 집합의 샘플이 자신이 속한 부류를 알 경우
    • 분류기가 최소의 오류를 갖도록 weight와 bias를 조절하는게 목적
    • 참부류(true class) : 검증 과정에 따라 사람이 부여하는 부류정보
  • 비지도학습(unsupervised learning)
    • 샘플의 부류 정보가 없다
    • 비슷한 샘플을 집단으로 모으는것이 목적이다(군집화 : clustering)

 

성능 평가

패턴 인식 시스템의 성능은 크게 2가지 기준으로 측정한다.

 

1.맞추는 샘플, 틀리는 샘플, 기각하는 샘플의 수를 세서 그것을 이용한다.

 

$\displaystyle 정인식률(correct\;recognition\;rate) = \frac{c}{N} \\\displaystyle 기각률(rejection\;rate) = \frac{r}{N} \\ 오류율(error\;rate) = \frac{e}{N} \\\displaystyle 이때, c= 맞춘\;샘플\;수, r = 기각한\;샘플\;수, e = 틀린\;샘플\;수\\N=c+r+e$

 

오류경향을 더욱 세밀하게 분석하기 위해 혼동행렬(confusion matrix)를 사용한다.

$n_{ij} : 부류 w_i에\;속하는\;샘플을\;w_j로\;분류한\;것의\;개수이다.$

 

$n_{ij}$에서

$i = j$ 이면 옳게 분류한 것

$i \neq j$ 이면 틀리게 분류한 것

이다

 

 

2.틀리게 분류하였을 때 발생하는 위험을 고려하여 위험(risk) 정도를 수치화한다.

-위험(risk)은 그 결과 손실(loss)을 발생 시키므로 이 둘은 같게 취급 할 수 있다.

-$n_{12}$와 $n_{21}$를 잘못 분류하는 경우, 우류률에 의하면 같게 취급하지만 이 둘은 질적으로 완전히 다르다.

(ex : 암환자를 정상으로 분류하는게 정상인을 암환자로 분류하는것 보다 위험도가 훨씬 더 크다.)

 

 

검출(detection)

특정패턴을 위해 분류기를 사용하는 목적이다.

$\left\{\begin{array}{}
w_1 : 찾고자\;하는\;샘플\\
w_2 : 그렇지\;않은\;샘플\\
\end{array}
\right.$

 

-결과

$\left\{\begin{array}{} 
TP\;1) 참긍정(true\;positive) : w_1을 w_1으로\;옳게\;분석한\;샘플\\ 
TN\;2) 참부정(true\;negative) : w_2를 w_2로\;옳게\;분석한\;샘플\\ 
FN\;3) 거짓부정(false\;negative) : w_1을 w_2로\;틀리게\;분석한\;샘플\\ 
FP\;4) 거짓긍정(false\;positive) : w_2을 w_1으로\;틀리게\;분석한\;샘플\\ 
\end{array} 
\right.$

 

거짓긍정은 거짓 검출(false detection; FD) 혹은 거짓 경보(false alarm; FA)라고도 한다.

 

-검출 시스템의 성능기준

거짓 긍정률 (false positive rate; FPR) = $\frac{n_{21}}{n_{21}+n_{22}}$

거짓 부정률 (false negative rate; FNR) = $\frac{n_{22}}{n_{12}+n_{11}}$

 

-검색 시스템의 성능기준

정확률(precision) = $\frac{n_{11}}{n_{11}+n_{21}}$

재현률(recall) = $\frac{n_{11}}{n_{11}+n_{22}}$

 

 

 

 

 

 

 

 

 

 

 

Comments