본문 바로가기

패턴인식과 머신러닝

1.5.4 추론과 결정

분류 문제를 두 개의 단계로 나눠보았다. 

추론 단계 inference stage, 훈련 집단을 활용하여 p(C_k|x) 에 대한 모델을 학습시키는 단계다. 두 번째는 결정 단계 decision stage 로 학습된 사후 확률들을 이용해서 최적의 클래스 할당을 시행하는 것이다. 

두 가지 문제를 한 번에 풀어내는 방식,  x 가 주어졌을 때 결정값을 돌려주는 함수를 직접 학습시키는 것, 이러한 함수를 판별 함수 라고 한다. discriminant function

 

결정 문제를 푸는 데는 세 가지 다른 접근법이 있다. 

 

a

각각의 클래스 C_k 에 대해서 조건부 확률 밀도 p(x|C_k) 를 알아내느 추론 문제를 풀어낸다. 클래스별 사전 확률 p(C_k) 도 따로 구한다. 그 후 베이지안 정리를 이용해 각 클래스별 사후 확률을 구한다.

베이지안 정리의 분모는 분자들의 항의 합,

결합 분포를 모델링한 후 정규화해서 사후 확률들을 구할 수도 있다. 사후 확률을 구한 후에는 결정 이론을 적용하여 각각의 새 입력 변수 x 에 대한 클래스를 구한다. 직간접적으로 입력값과 출력값의 분포를 모델링하는 이러한 방식을 생성 모델이라고 한다. 

만들어진 분포로부터 표본을 추출함으로써 입력 공간에 합성 데이터 포인트들을 생성해 넣는 것이 가능하기 때문

b

사후 확률 p(C_k|x) 를 계산하는 추론 문제를 풀어낸 후에 결정 이론을 적용하여 각각의 입력 변수 x 에 대한 클래스를 구한다. 사후 확률을 직접 모델링하는 방식을 판별 모델이라고 한다.

c

각각의 입력값 x 를 클래스에 사상하는 판별 함수 f(x) 를 찾는다. 

 

a 는 가장 손이 많이 가는 방식 x 와 C_k 에 대해서 결합 분포를 찾아야 하기 때문, 많은 사례에서 x 는 고차원이다. 따라서 각각의 클래스에 대해 일정 수준 이상의 조건부 밀도를 구하기 위해서는 상당히 큰 훈련 집합이 필요할 수 있다. 

많은 경우에 클래스별 사전 확률 p(C_k) 는 훈련 집합의 클래스 별 비율을 계산하는 것으로 간단히 계산할 수 있다. 이 방식을 사용하면 데이터 p(x) 의 주변 밀도도 구할 수 있다는 것, 이를 바탕으로 주어진 모델 하에서 발생 확률이 낮은 새 데이터 포인트를 미리 발견해 낼 수 있다. 

 

분류를 통해 결정을 내리는 것만이 목표일 경우 결합 분포 p(x, C_k) 를 전부 계산하는 것은 자원 낭비, 이런 경우 사후 확률을 직접 계산하는 b 방식이 더 효율적일 것이다. 

클래스별 조건부 분포에는 사후 확률에 영향을 미치지 않는 추가적인 정보가 많이 포함되어 있을 수 있다. 

 

c 는 더 간단, 훈련 집합을 사용하여 각각의 변수 x 를 해당 클래스에 사상하는 판별 함수 f(x) 를 직접 찾아내는 방식이다. 추론 단계와 결정 단계를 하나의 학습 문제로 합친 것이다. 

하지만 이 경우 사후 확률들을 아맂 못하게 된다는 단점이 있다. 사후 확률을 구하는 것이 유의미한 것은 여러 이유 때문

위험의 최소화

손실 행렬의 값들이 때때로 변하는 문제를 고려, 만약 사후 확률을 알고 있다면 최소 위험 결정 기준을 구할 수가 있다. 반면에 판별 함수만 알고 있을 경우에는 손실 행렬의 값이 변할 때마다 훈련 집합을 활용하여 분류 문제를 새로 풀어야 할 것이다.

거부 옵션

사후 확률을 알고 있으면 주어진 거부 데이터 포인트 비율에 대해 오분류 비율을 최소화하는 거부 기준을 쉽게 구할 수가 있다.

클래스 사전 확률에 대한 보상

각각의 클래스에서 가은 숫자의 예시를 선택한 균형 잡힌 데이터 집합을 활용하면 더 정확한 모델을 찾아낼 수 있다. 그럴 경우 훈련 집합을 변경한 것에 대한 보상을 적용해야 한다. 

인공의 균형 잡힌 데이터 집합에서 구한 사후 확률을 인공 데이터 집합의 클래스 비율로 나누고, 여기에 실제로 모델을 적용할 모수 집합의 클래스의 비율을 곱함으로써 수정된 사후 확률을 구할 수가 있다. 

모델들의 결합

복잡한 응용 사례의 경우 큰 문제를 여러 개의 작은 문제로 나누어서 분리된 모듈로써 해결하는 것이 바람직한 경우가 있다. 

'패턴인식과 머신러닝' 카테고리의 다른 글

1.6 정보 이론  (0) 2023.06.24
1.5.5 회귀에서의 손실 함수  (0) 2023.06.23
1.5.3 거부 옵션  (0) 2023.06.23
1.5.2 기대 손실의 최소화  (0) 2023.06.23
1.5.1 오분류 비율의 최소화  (0) 2023.06.23