2005년에 쓴 일기장 일부 내용

 

행동은 자신에 대한 진실한 믿음을 반영한다.

그 믿음은 그 사람의 가치관을 반영할 수도 있다.

사람들은 자신의 가치관과 비교하여 자신과 상대장의 행동을 판단하기 때문에

서로 자신이 옳다고 이야기한다.

음…무슨 생각으로 썼을까?

Advertisements

Pattern Recognition 1장 요약

1. 소개

1.1 어디에 적용될까?

우편 분류기 : 우편물의 주소 인식 -> 자동 분류.(우편 집중국에서 사용됨)
PDA 필기 입력기 : 터치 스크린 -> 필기 -> 2차원 궤적 인식
동작 인식 핸드폰 : 자이로 센서
지문 인식 : 지문 인식 센서
과속 단속기 : 속도 측정기
청소 로봇 : 거리 및 위치 및 좌표 분석 및 라우팅
공장 자동화 : 부품 검사 및 결함 검사
문자 인식 : optical character recognition(OCR)
음성 인식 : speech recognition
자연어 처리 : natural language process (context 분석, parsing)
데이터 마이닝(data mining) : 고객 관리, 웹 관리, 데이터베이스 관리 등에 필수적인 기술로 손실 정보와 잡음을 포함하고 있는 대용량 불완전 자료에서 유용한 지식을 정제하기 위해서는 효율적인 특징 추출, 분류, 군집화 알고리즘이 필요하다.
정보 검색 시스템 : 대용량 자료를 사용자 요구에 가장 근접하도록 분류하는 엔진을 갖추어야 하며 단순 텍스트를 벗어나 영상과 소리에 대한 검색 서비스도 필요하다.
Human Computer Interface (HCI) : 고전 I/O장치(키보드와 마우스)외에 사람의 모션이나 음성 등의 생체 정보를 이용하여 컴퓨터에게 신호(명령어)를 보낼 수 있는 것을 목적으로 하는 학문.
생체 인식 : 지문, 홍채, 목소리, 얼굴, 걸음걸이 등을 인식하여 접근 권한을 제어..
지능 교통 시스템 ITS (Intelligent Transportation System) : 도로 운행상태, 트래픽, 사고 감지, …등 자동차와 도로 상태를 인식하게 만들어 보다 지능적인 교통 시스템 구축을 목표로 한다.
지능형 자동차 : 운전자의 상태, 주변 차량 상태 등의 정보를 모아 보다 안전 운전을 할 수 있도록 돕는 시스템을 갖춘 자동차.
생물 정보학 (bioinformatics) : 대용량 자료에서 생명 현상의 규명에 필요한 지식을 추출(결국 마이닝인가..), 손실 정보나 비수치(nonnumeric)자료등을 적절히 다룰 수 있어야 한다.
지능 로봇 : 일단 사람을 대체하기 위한….지능형 로봇.. ->

요약하면 인지기능이 미래 산업의 핵심 기술이며 여러 분야에 적용 될 수 있다.

1.2 어떻게 인식할까?

패턴 인식의 핵심은 특징과 분류다.
특징 : 패턴이 가지고 있는 수치(확률이나 기타 상태 값)
추출 : 특징 별로 패턴을 분류해 내는 행위.
부류 : class라고 하며 패턴 종류들 각각을 가리키는 용어다.
class = {w1, w2,…wM}
0부터 10까지 숫자 인식의 경우 M = 10(부류의 크기)
w1 = 0
w2 = 1
w10 = 9 를 의미

1.2.1. 데이터 베이스 수집.

인식 시스템을 학습시키기 위한 sample 데이터 수집.
수집한 sample을 2가지 분류로 나눈다.
1. 훈련 집합(training set) : 인식기를 만드는데 사용할 데이터
2. 테스트 집합(test set) : 인식기를 만든 후에 성능을 평가하기 위해 사용하는 데이터 집합.
단 셈플 데이터는 양적으로 충분히 커야 하며 질적으로 충분히 다양한 스타일의 패턴을 담고 있어야 한다.

1.2.2 특징(Feature)

sample들을 분류하기 위해서는 특징(feature)를 추출해야 한다.
추출된 특징이 서로 다른 부류를 잘 구별해 줄 수 있다면 좋은 추출 방법을 사용한 것이다. 그러나 모든 분류를 한번에 나눌 수 있는 특징 및 추출 방법은 없을 것이다. 적절한 상황에 적절한 방법을 사용하는 것이 보다 현명할 것이다.

그럼 몇 개의 특징을 사용하는 것이 좋을까? 많으면 많을 수록 좋을까?
feature factor의 차원이 커질 수록 계산량이 기하급수적으로 커지는 상황이 있다.특징 벡터의 차원이 증가함에 따라 계산량 및 메모리 요구량이 폭발적으로 증가하는 상황을 차원의 저주라고 한다.(curse of dimensionality)

1.2.3 분류 (classification)

어떤 패턴이 들어왔을 때 이것을 M개의 부류 중에 하나로 할당해 주는 작업을 분류(classification) 이라고 하고 이 작업을 담당하는 프로그램을 분류기(classifier) 라고 한다.
ㅁ 용어
– 모델 선택 : 분류기를 표현하는 수학적 모델을 선택하는 작업
– 결정 경계 (decision boundary)
– 학습 또는 훈련(learning or training) : 훈련집합을 이용하여 분류기를 학습 시킨다. 훈련 집합의 품질이 매우 중요하다.
– 결정 초평면
– 결정 초평면 (deicision hyperplane) : 4차원 이상의 공간을 둘로 분할하는 평면
초평면이라고 한다.
– 결정 직선과 결정 평면은 결정 초평면의 특수한 경우라고 볼 수 있다.
결정 초평면을 수학식으로 표현하면 1차 다항식이 된다.

– 결정 직선 (decision line) : 이 직선은 특징공간을 분할하는 역할을 한다. 직선으로 분류되기 때문에 직선은 공간을 둘로 나눌 수 있다. 만약 직선이 아니라면 결정 곡선으로 불린다.
– 결정 평면 (deicision plane) : 특징이 2개에서3개로 늘었다면 2차원에서 표현하기 힘들고 3차원에서 표현해야 하는데… 이것을 분류하기 위해서는 결정 평면이 필요하다.

– 선형 분류기 (linear classifier ) : 결정 초평면을 사용하는 분류기를 선형 분류기라고 한다.

– 비선형 분류기 (nonlinear classifier) : 2차 이상의 다향식으로 표현
– 2차원 특징 공간을 분열하는 경계 : decision curve
– 3차원 특징 공간 분열 : decision surface
– 4차원 이상 : decision hypersurface

ㅇ 지도 학습(supervised learning)
– 목적 : 분류기가 최소의 오류를 갖도록 하는 매개 변수(결정 직선의 경우 기울기와 절편)을 알아내는 것이다.
ㅇ 부가 용어
– 샘플의 참부류(true class) : 훈련 집합에 있는 모든 샘플은 자기가 속한 부류를 알고 있다. 이 부류 정보는 적절한 검증 과정에 따라 사람이 부여하는 것.

ㅇ비지도 학습(unsupervised learning) : 샘플의 부류 정보가 주어지 않는다.
– 목적 : 서로 다른 부류를 분류하는 것이 아니라, 비슷한 샘플들을 같은 집단으로 모으는 것. 이 작업을 다른 말로 군집화(clustering) 라고 한다.

1.2.4 성능 평가

ㅁ 성능 평가 측정 기준 요소

ㅇ 맞추는 샘플, 틀리는 샘플, 기각하는 샘플의 수
– 정인식률 (correct recognitio rate)
– 기각률 (rejection rate) : 시스템이 결과에 자신이 없어 분류를 포기한 경우.
– 오류율 (error rate)

ㅇ 정의
–  정인식률 = c / N
– 기각률 = r / N
– 오류율 = e / N
– c = 맞춘 샘플 수,
– r = 기각한 셈플 수,
– e = 틀린 샘플 수
– N = 테스트 집합이 가진 샘플의 개수 = c + r + e

ㅇ 혼동 행렬(confusion matrix) : 오류 경향을 더욱 세밀하게 분석할 때 사용.
다음 아래 테이블은 이진 분류의 경우의 혼돈 행렬을 보여준다.nij는 부류 wi에 속하는 샘플을 wj로 분류한 것의 개수이다. 예를 들어 n11은 w1로 옳게 분류한 샘플의 개수이고 n12는 w1을 w2로 틀리게 분류한 샘플의 개수이다.

참부류\분류 결과 w1 w2
w1 n11 n12
w2 n21 n22

ㅁ 위험 정도를 따시는 두 번째 기준.(위험[risk]또는 [loss] 반영)
예를 들어 w1을 w2로 구분하는 경우와 w2를 w1으로 구분하는 경우를 인식하지 못한 경우 각각의 경우에 대해 위험도 또는 손실도에 대한 가중치를 다르게 잡을 수 있을 것이다. 어디에 가중치를 두는 것에 따라 성능 평가 결과가 영향을 받는다.

ㅁ 이진 분류의 결과 4가지 경우(w1 -> 찾고자 하는 샘플, w2-> 원하지 않는 샘플)

ㅇ 참긍정 True Positive (TP)
w1을 w1으로 옳게 분류한 샘플
ㅇ 참 부정 True Negative(TN)
w2을 w2로 옳게 분류한 샘플
ㅇ 거짓 부정 False Negative (FN)
w1을 w2으로 틀리게 분류한 샘플
ㅇ 거짓 긍정 False Positive (FP)
w2를 w1으로 틀리게 분류한 샘플

용어가 어려운데 잘못 분류했으면 일단 False, 분류한 결과가 의도한 것이면 긍정(Positive), 의도하지 않은 것이면 부정(Negative)

ㅁ 검출 시스템 성능 측정

ㅇ 거짓 긍정률 (False Positive Rate) 과 거짓 부정률 (False Negative Rate)
위 혼동 행렬에서 n11, n12, n21, n22는 각각 TP, FN, FP, TN의 개수 이다.
– 거짓 긍정률 (FPR) = n21 / (n21 + n22)
– 거짓 부정률 (FNR) = n12 / (n12 + n11)

ㅁ 검색 시스템의 성능 측정
수많은 문서 중에서 사용자가 입력한 질의에 적합한 문서(relevant document)를 찾는 문제로 검색도 패턴 인식의 특수한 경우다.

ㅇ 정확률 (precision rate)과 재현률 (recall rate)
– 정확률 = 검색된 적합 문서의 개수 / 검색된 문서의 개수 = n11 / (n11 + n21)
– 재현률 = 검색된 적합 문서의 개수 / 적합 문서의 개수 = n11 / (n11 + n12)

ㅁ 일반화 (generalization)

ㅇ 일반화 능력 : 시스템이 일반적인 상황에 얼마나 잘 적응하는지를 따지는 척도로 분류기를 훈련집합이 아닌 테스트 집합에 보여주는 성능을 말한다.

ㅇ 용어
– 외톨이(outlier): 샘플 특징 중에 잡음을 말한다.
– 과적합 (overfitting) : 훈련 집합에 과다하게 적응한 경우를 말한다.

Occam의 칼날이 (Occam’s razor)

Entities are not to be multiplied without necessity.

All things being equals, the simplest solution tends to be the best one.

ㅁ 모델 선택

ㅇ 검증 집합 (validation set) : 훈련 집합, 테스트 집합 이외에 다른 샘플 집합을 필요로 하는데 모델의 성능을 측정할 때 사용된다. 훈련 집합이 충분히 큰 상황에서는 이 집합을 두 개로 분할하여 하나는 학습용으로, 다른 하나는 모델의 성능측정용이다.

ㅁ 모델 선택 프로세스 : 학습과 검증 과정을 여러 모델에 반복하고 그 중 가장 우수한 모델을 선택한다.

ㅁ 재 샘플링 (resampling) : 훈련 집합이 둘로 분할할 정도의 양이 되지 않을 경우 같은 샘플을 여러번 활용하는 기법으로 교차 검증(cross validation), 붓스트랩(bootstrap) 이 있다.

1.3 시스템 설계

 

ㅁ 고품질의 데이터 베이스 확보 : 충분한 양의 샘플 및 다양한 패턴에 대한 데이터 베이스
ㅁ 특징  및 분류기 설계 : 패턴 인식이 적용될 도메인에 대해 적절한 특징과 분류 알고리즘을 사용하도록 한다.
ㅁ 휴리스틱 : 특정 모델을 시도해보고 만족스럽지 않으면 다른 모델로 시도.
ㅁ 시스템이 작동할 범위를 규정하는 일반성을 결정해야 한다.

ㅁ 패턴 인식 시스템의 처리 과정ㅁ 분할 : 인식해야 하는 대상에서 데이터를 추출해야 할 영역을 분할. 분할기 개발 필요. 음성인식의 경우 긴 신호 음성에서 짧은 단어단위로 분류할 필요가 있다.

ㅁ 다중 분류기 결합 (multiple classifier combination) : 여러 분류기의 결과를 투표 행위로 보고 가장 표를 많이 얻은 부류로 최종 분류하는 방법이다.

ㅁ 후처리 (post-processing) : 예를 들어 음성인식기가 /패(파)/?/인(임)/시(식)/ 으로 결과를 출력했다 하면(괄호는 2순위, ?는 기각) 적절한 후처리기는 이 인식 결과를 /패/턴/인/식/ 으로 바꾸어 줄 수 있다. 이는 문맥 (context)를 적절히 이용해야만 성능 향상을 꾀할 수 있다. 오일석 교수님이 쓰신 패턴 인식이라는 책에서는 후처리 내용을 다루지 않으며 논문을 참조해 봐야 할것 같다.

1.4 수학

ㅁ 확률과 통계

ㅇ 베이스 정리, 우도(likelihood), 확률 분포, 확률 밀도 함수, 추정 등의 기초 이론이 필요하다..(대학교 때 배운게 기초이론이지…암…)

ㅁ 선형 대수(linear algebra)

ㅇ 백터와 행렬 연산, 고유 백터, 행렬의 분해 등을 이해…(대학교 때 친구에게 책을 준 것이 후회 된다.)

ㅁ 정보 이론 (information theory) : 어떤 특징이 얼마만큼의 정보를 담고 있는지 엔트로피로 측정 가능하며 정보 이론에 설명이 되어 있다.

ㅁ 최적화 문제
패턴 인식의 전형적인 문제 풀이 과정

ㅁ 최적화 문제로 공식화 과정
ㅇ 비용 함수 (cost function)의 정의 : 비용함수는 매개 변수를 포함하고 있다. 비용함수를 최소화 또는 최대화 하는 매개 변수를 찾고 그것을 해로 취하면 되며 이렇게 찾은 해는 경우에 따라서 분류기가 되기도 하고 최적의 특징 집합이 되기도 한다. 이중에는 조건 없이 최적화 하는 경우도 있고 조건부 최적화 문제도 있다.
ㅇ 최적의 해 : 보통 미분이 많이 사용된다. 최적화는 미분 뿐만 아니라 유전 알고리즘이나 Simulated  Annealing을 사용할 수 있으며 뒤에서 설명됨.
ㅇ 풀이 방법 : 고등학교 수학에서는 문제 풀이가 분석적(analytical) 방법으로 이루어 졌으며 공식을 사용하여 방정식을 만족하는 해를 구하는 단순 수학이다. 그러나 패턴 인식에서 발생하는 문제는 매개 변수가 수십 개에서 수백 또는 수백만 개인 경우도 있으며 분석적인 풀이가 가능한 경우가 많지 않다. 따라서 초기 해를 설정하고 어떤 과정을 반복하여 최적 해에 조금씩 접근하는 수치적(numerical)방법을 많이 사용한다.
1.5 자원
ㅁ 키워드
ㅇ International Journal on Document Analysis and Recognition
ㅇ IEEE Transactions on Pattern Analysis an Machine Intelligence
ㅇ Pattern Recognition
ㅇ Pattern Recognition Letters
ㅇ Pattern Analysis and Applications
ㅇ International Journal on Artificial Intelligence and Pattern Recognition
ㅁ 가장 널리 활용되는 데이터베이스 아카이브
ㅇ UCI (University of California, Irvine) 의 UCI repository
이곳에는 의료, 항공, 문자, 생물, 학생, 고객, 지질, 시장, 주식 등 다양한 곳에서 발생한 데이터를 기증받아 정리해 놓고 있다. 인터넷에서 무료로 다운받아 사용할 수 있다.
ㅁ 추천 서적
ㅇ Christoper M. Bishop, Pattern Recognition and Machine Learning, Springer, 2006.
ㅇ Sergios Theodoridis and Konstantinos Koutroumbas, Pattern Recognition, 3rd Ed., Academic Press, 2006.
ㅇ Richard O. Duda, Peter E. Hart, and David G. Stork, Pattern Classification, 2and Ed., Wiley-Interscience, 2001
ㅁ 참고 사이트
한국 정보과학외의 컴퓨터 비전 및 패턴 인식 연구회
IAPR(International Association for Pattern Recognition)
IEEE
ACM
패턴 인식의 저자 오일석 교수님 home page

출처 : 오일석 교수님의 패턴 인식

돈도 없고 당장 먹고 살기 급하여 취직을 결심하고 취직한지 1년만에 오늘 드디어 하고 싶은 공부를 다시 시작했다는 것이다. 지식에 대해 억눌린 갈증이 조금은 풀린듯 하다. 대학교 때는 아무 생각 없이 공부를 했었는데 직장 다니며 취미삼아 공부 하는것이 이렇게 즐거운줄 몰랐다. 내일은 더 행복하겠지..