1.5 결정 이론 Decision theory
패턴 인식 문제를 풀 때는 불확실성이 존재하는 상황에서 의사 결정을 내려야 하는 경우가 많아 이런 상황에서 결정 이론과 확률론을 함께 사용하여 최적의 의사 결정을 내릴 수 있다.
입력 벡터 x 와 타깃 변수 벡터 t 가 존재하는 상황에서 새로운 입력 벡터 x 가 주어졌을 때 해당 타깃 변수 벡터 t 를 예측하는 문제에 대해 생각,
결합 확률 분포 p(x, t) 는 이 변수들의 전체 불확실성을 요약해서 나타내 줄 것이다. 주어진 훈련 집합 데이터에서 p(x, t) 를 찾아내는 것은 추론 inference 문제의 대표적인 예시다. t 가 어떤 값을 가질 것 같은지를 바탕으로 특정 행동을 취해야 할 수 있다. 이를 위한 이론적 토대가 바로 결정 이론
일반적인 추론 문제는 결합 확률 분포 p(x, C_k) 또는 이와 동일하게 p(x, t) 를 결정하는 과정을 포함하고 있다. 해당 상황에 대해서 가장 완전하고 확률적인 설명을 알려줄 수 있는 것이 바로 결합 확률 분포다.
최종적으로는 결정하고, 해당 결정이 최적이기를 바라는데, 이것이 바로 결정 단계다. 결정 이론이 하려는 것은 적절한 확률들이 주어진 상태에서 어떻게 하면 최적의 결정을 내릴 수 있는가를 설명하는 것이다.
의사 결정에 있어서 확률이 어떤 역할을 하는지 살펴보면, 이미지가 주어졌을 때 각각의 클래스의 조건부 확률을 알아내고 싶으며 이는 p(C_k | x) 로 표현된다.
베이지안 정리를 사용하여 이 확률들을 당므과 같은 형태로 표현한다.
p(C_k | x) = p(x | C_k) p(C_k) / p(x)
위의 베이지안 정리에서 사용된 모든 값들은 결합확률 분포 p(x,C_k) 를 활용하여 구할 수 있다.
목표가 x 를 잘못된 클래스에 포함시킬 가능성을 최소화하는 것이라면, 직관적으로 더 높은 사후 확률을 가진 클래스를 고르게 될 것이다.
1.5.1 오분류 비율의 최소화
단순히 잘못된 분류 결과의 숫자를 가능한 한 줄이는 것이라고 해보자. 이를 위해서는 각각의 x 를 가능한 클래스들 중 하나에 포함시키는 규칙이 필요하다. 이 규칙은 입력 공간을 결정 구역 decision region 라고 불리는 구역 R_k 들로 나누게 될 것이다. 이는 클래스의 수만큼 존재할 것
결정 구역들 사이의 경계를 결정 경계, 결정 표면이라고 부른다. 각각의 구역들은 인접해 있을 필요는 없다.
두 개의 클래스를 가진 경우, 실수가 발생할 확률
p(실수) = p(x ∈ R_1, C_2) + p(x ∈ R_2, C_1)
각각의 포인트들을 두 클래스 중 어디에 포함시킬지의 결정 규치은 자유롭게 정할 수 있다.
p(실수) 를 최소화하기 위해서는 각각의 x 를 더 작은 값을 가진 클래스에 포함시켜야 한다는 것을 알 수 있다.
따라서 p(x, C_1) > p(x, C_2) 인 경우에는 x 를 C_1 에 포함시켜야 한다. 확률의 곱 법칙에 따라서 p(x, C_k) = p(C_k|x)p(x) 이다.
p(실수) 를 최소화하기 위해서는 각각의 x 를 사후 확률 p(C_k|x) 가 최대가 되는 클래스에 포함시키면 된다는 결론을 낼 수 있다.
일반적으로 K 개의 클래스를 가니 경우에는 올바르게 분류된 경우의 확률을 극대화하는 편이 더 쉽다.
1.5.2 기대 손실의 최소화
많은 적용 사례에서의 목표는 단순히 오분류의 숫자를 줄이는 것보다 훨씬 더 복잡하다.
비용 함수라고도 부르는 손실 함수를 도입함으로써 이러한 문제들을 공식화할 수 있다. 손실 함수는 어떤 결정이나 행동이 일어났을 때의 손실을 전체적으로 측정하는 함수다.
1.5.3 거부 옵션
입력 공간 중 어떤 구역에서는 사후 확률 p(C_k | x) 중 가장 큰 것이 1보다 매우 작다. 즉, 결합 확률들이 비슷한 값을 가지고 있는 것이다. 이러한 구역들로 인해서 분류 오차가 생겨나기도 한다.
몇몇 적용 사례에서는 오류 비율을 최소화하기 위해 이처럼 결정을 내리기 힘든 지역에 대해서는 결정을 피하는 것이 적절할 수도 있다. 이것이 거부 옵션 reject option 이다.
1.5.4 추론과 결정
분류 문제를 두 개의 단계로 나누어 본다. 첫 번째는 추론 단계 inference stage 로 훈련 집합을 활용하여 p(C_k|x) 에 대한 모델을 학습시키는 단계다.
두 번째는 결정 단계 decision stage 로 학습된 사후 확률들을 이용해서 최적의 클래스 할당을 시행하는 것이다. 두 가지 문제를 한 번에 풀어내는 방식도 생각해 볼 수 있다. x 가 주어졌을 때 결정값을 돌려주는 함수를 직접 학습시키는 것이다.
이러한 함수를 판별 함수 discriminant function 라고 한다.
(a) 각각의 클래스에 대해서 조건부 확률 밀도를 알아내는 추론 문제를 풀어낸다.
클래스별 사전 확률도 따로 구한다. 그 후 베이지안 정리를 적요해서 각 클래스별 사후 확률을 구한다.
동일하게 결합 분포를 직접적으로 모델링한 후 정규화해서 사후 확률을 구할 수 있다. 구한 후에는 결정 이론을 적용하여 각각의 새 입력 변수에 대한 클래스를 구한다. 입력값과 출력값의 분포를 모델링한 방식을 생성 모델이라고 한다.
(b) 사후 확률을 계산하는 추론 문제를 풀어낸 후에 결정 이론을 적용하여 각각의 입력변수 x 에 대한 클래스를 구한다. 사후 확률을 직접 모델링하는 방식을 판별 모델이라고 한다.
(c) 각각의 입력값 x 를 클래스에 사상하는 판별 함수를 찾는다.
a 는 가장 손이 많이 가는 방식, 입력값과 클래스에 대해서 결합 분포를 찾아야 하기 때문, 고차원의 입력에서 일정 수준 이상의 조건부 밀도를 구하기 위해서는 많은 수의 훈련 집합이 필요할 수 있다. 이상점 검출의 이득
분류 알고리즘을 통해 결정을 내리는 것만이 목표일 경우 이를 계산하는 것은 컴퓨팅 자원의 낭비이다.
1.5.5 회귀에서의 손실 함수
회귀 문제의 결정 단계에서는 각각의 x 에 대해서 t 의 추정값 y(x) 를 선택해야 한다. 이 과정에서 손실 L(t, y(x)) 가 발생한다고 가정해보자. 그러면 평균 손실은 다음과 같이 주어진다.
E[L] = ff L(t, y(x))p(x, t) dx dt
회귀 문제에서 일반적으로 손실 함수로서 사용하는 것은 L(t ,y(x)) = {y(x) - t}^2 으로 주어지는 제곱 손실, 이 경우의 기대 손실
E[L] = ff {y(x) - t}^2 p(x, t) dx dt
E[L] 을 최소화하는 y(x) 의 선택, 만약 완벽하게 유연하게 함수 y(x) 를 결정할 수 있다고 가정한다면, 변분법을 적용해서 다음과 같이 적을 수 있다.
delta E[L] / delta y(x) = 2 f {y(x) - t} p(x, t) dt = 0
y(x) 에 대해서 해를 구하고 확률의 합과 곱의 법칙을 적용하면 다음을 얻게 된다.
y(x) = f tp(x, t)dt / p(x) = f tp(t|x)dt = E_t[t|x]
위 식은 x 가 주어졌을 때의 t 의 조건부 평균으로써 회귀 함수라고 한다.
타깃 변수가 벡터 t 로 표현되는 다차원 변수일 경우에 대해서도 이 결과를 확장할 수 있다. 이 경우 최적의 해는 조건부 평균 y(x) = E_t [t|x] 이다.
이 결과는 다른 방식을 통해서도 도출할 수 있다. 최적의 해가 조건부 기댓값이라는 지식을 바탕으로 제곱항을 전개할 수 있다.
회귀 문제의 손실 함수로 제곱 손실 이외의 다른 것을 사용하는 것도 가능하다. 실제로 제곱 손실이 좋지 않은 결과를 가져오기 때무네 더 복잡한 접근법을 사용해야 하는 경우가 종종 있다. 조건부 분포 p(t|x) 가 다봉 분포인 상황이 이 중 하나이다. 역 문제의 해를 구할 때 이런 상황이 종종 발새앟ㄴ다.
제곱 손실을 일반화한 예시의 민코프스키 손실에 대해 살펴본다.
E[L_q] = ff |y(x) - t|^q p(x, t) dx dt
q = 2 일 경우 이는 제곱 손실에 해당하게 된다.