Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
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개의 주제

 

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

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

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

DB 수집

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

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

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

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

 

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

 

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


특징(feature)

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

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

1)각 비트별로 삼을경우 : x=[x1,x2,...,x64]

2)구역을 나눠서 0과 1의 비례로 파악 : x=[x1,x2]

X : 특징 벡터(feature vector)

d : 특징의 갯수

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

 

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

 

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

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

 

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

 

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

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

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

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

 

 

분류(classification)

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

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

 

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

분류기 설계 과정

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

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

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

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

 

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

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

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

 

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

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

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

 

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

지도학습과 비지도학습

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

 

성능 평가

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

 

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

 

(correctrecognitionrate)=cN(rejectionrate)=rN(errorrate)=eN,c=,r=,e=N=c+r+e

 

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

nij:wiwj.

 

nij에서

i=j 이면 옳게 분류한 것

ij 이면 틀리게 분류한 것

이다

 

 

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

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

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

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

 

 

검출(detection)

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

{w1:w2:

 

-결과

{TP1)(truepositive):w1w1TN2)(truenegative):w2w2FN3)(falsenegative):w1w2FP4)(falsepositive):w2w1

 

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

 

-검출 시스템의 성능기준

거짓 긍정률 (false positive rate; FPR) = n21n21+n22

거짓 부정률 (false negative rate; FNR) = n22n12+n11

 

-검색 시스템의 성능기준

정확률(precision) = n11n11+n21

재현률(recall) = n11n11+n22

 

 

 

 

 

 

 

 

 

 

 

Comments