분류(classification)의 목적은 관측된 데이터를 이용하여 대상이 어느 클래스에 속하는지를 결정하는 것이다. Bayesian Decision Theory는 관측 데이터뿐만 아니라 대상에 대한 사전 정보(prior information)를 함께 이용하여 평균적인 분류 오류 또는 기대 손실(expected loss)을 최소화하는 결정 이론이다.
간단한 예로 과일을 자동으로 선별하는 장치를 생각해 보자. 이 장치에는 과일을 운반하는 컨베이어 벨트와 과일의 영상을 촬영하는 카메라가 설치되어 있다. 만약 컨베이어 벨트 위에 여러 종류의 과일이 무작위로 놓이고, 선별 장치에 아무런 사전 정보도 주어지지 않는다면 분류 결과는 사실상 무작위 선택과 다르지 않다. 그러나 컨베이어 벨트에는 오렌지와 사과 두 종류의 과일만 실려 있고, 그중 80%가 오렌지이며 나머지 20%가 사과라는 정보를 알고 있다고 하자. 이 경우에는 과일을 보지 않고 모두 오렌지로 분류하더라도 평균적으로 80%의 정확도를 얻을 수 있다. 즉, 관측 정보가 전혀 없더라도 사전확률(prior probability)만으로 일정 수준의 분류가 가능하다. 이 경우의 결정 규칙은 매우 단순하다. $$\text{임의의 과일에 대해서: } ~P(\text{오렌지}) > P(\text{사과})\Longrightarrow \text{오렌지로 분류}$$그 이외의 경우에는 사과로 분류하면 된다. 이 예는 사전확률만을 이용한 분류에 해당한다. Bayesian Decision Theory는 여기에 관측 데이터를 함께 이용하여 보다 정확한 결정을 내리는 방법을 제공한다.
실제의 분류 문제에서는 사전확률뿐 아니라 관측 데이터도 사용할 수 있다. 예를 들어 과일의 색상을 이용하여 오렌지와 사과를 구분한다고 하자. 오렌지를 나타내는 클래스를 $w_\text{org}$, 사과를 나타내는 클래스를 $w_\text{app}$이라 하고, 관측된 과일의 색상을 랜덤변수 $x$로 나타내자.
그러면 $p(x|w_\text{org})$는 과일이 오렌지라는 조건에서 색상 $x$가 관측될 확률밀도함수를 의미하며, 오렌지 클래스의 likelihood라 한다. 마찬가지로 $p(x|w_\text{org})$는 사과 클래스의 likelihood이다. Likelihood는 각 클래스가 어떤 관측 데이터를 생성하는지를 나타내는 확률모형으로, 실제 문제에서는 학습 데이터로부터 추정하거나 Gaussian distribution과 같은 확률분포를 이용하여 모델링하는 경우가 많다. 또한 대부분의 경우 컨베이어 벨트 위에 놓이는 오렌지와 사과의 비율에 해당하는 사전확률 $P(w_\text{org})$, $P(w_\text{app})$도 알고 있다고 가정한다.
이제, 특정한 색상 $x$가 관측되었을 때 이 과일이 오렌지인지 사과인지를 결정하는 방법을 생각해 보자. 이를 위해서 사용하는 것이 Bayes theorem이다.
$$P(w_j |x) =\frac{ p(x|w_j) P(w_j) }{ p(x) }, ~~j \in \text{org, app}$$여기서
- $P(w_j)$는 클래스 $w_j$의 사전확률(prior probability)
- $p(x|w_j)$는 클래스 $w_j$의 likelihood
- $P(w_j |x)$는 관측값 $x$가 주어졌을 때 클래스 $w_j$일 사후확률(posterior probability)
- $p(x)$는 관측값 $x$의 evidence이다.
Bayes theorem은 관측 데이터만을 이용하는 것이 아니라 사전확률과 likelihood를 결합하여 posterior를 계산하는 공식이다. 따라서 posterior는 관측 데이터와 사전 정보를 모두 반영한 확률이라고 볼 수 있다.
관측된 색상이 $x$일 때 posterior가 더 큰 클래스를 선택하면 된다. 즉,
\begin{gather} P(w_\text{org}|x) > P(w_\text{app} | x)\end{gather}
이면 오렌지로 분류하고, 그렇지 않으면 사과로 분류한다. Bayes theorem을 대입하면 양변에 공통으로 나타나는 $p(x)$는 분류 결과에 영향을 주지 않으므로, 실제로는 다음 식만 비교하면 된다.
\begin{gather}p(x|w_\text{org}) P(w_\text{org}) > p(x| w_\text{app}) P(w_\text{app})\end{gather}
이면 오렌지로 분류하고, 그렇지 않으면 사과로 분류한다. 즉, Bayesian Decision Theory에서는 Likelihood와 Prior를 결합하여 Posterior를 계산하고, Posterior가 가장 큰 클래스를 선택하는 것이 기본적인 결정 규칙이 된다.
앞에서는 관측된 데이터 $x$에 대해 posterior probability가 가장 큰 클래스를 선택하면 된다는 사실을 살펴보았다. 이제 이러한 결정 규칙이 왜 최적인지를 살펴보자. 관측된 색상이 $x$일 때 과일을 오렌지라고 분류했다고 하자. 이 결정이 틀렸을 확률은 실제 과일이 사과일 확률이므로 $P(w_\text{app}|x)$이다, 반대로 사과로 판단을 하였다면 그것이 오분류 확률, $P(w_\text{org}|x)$이 된다. 따라서 관측값 $x$에 대해 가능한 최소의 조건부 오류 확률은
$$ P(\text{error}|x) = \text{min}[ p(w_\text{app}|x), p(w_\text{org}|x)]$$으로 주어진다. 즉, posterior probability가 더 큰 클래스를 선택하면 오분류 확률은 항상 다른 클래스의 posterior가 되며, 가능한 선택 가운데 가장 작은 값을 갖는다. 따라서 posterior가 최대인 클래스를 선택하는 것은 곧 조건부 오류 확률을 최소화하는 결정과 동일하다.
모든 관측값에 대한 평균 오류율은
$$ P_\text{error} = \int P(\text{error}|x) p(x) dx$$로 주어진다. 각 관측값에서 조건부 오류가 최소이므로 평균 오류율 역시 최소가 된다. 이런 결정 규칙을 Minimum Error Criterion 또는 MAP(Maximum A Posterior) Criterion이라 한다.
특히 다음과 같은 두 경우를 생각해 볼 수 있다. 만약 어떤 관측값 $x$에 대해
$$p(x|w_\text{app})=p(x|w_\text{org})$$라면 관측 데이터는 두 클래스를 구별하는 데 아무런 도움을 주지 못한다. 이 경우에는 사전확률만을 이용하여 결정하는 것이 최선이다. 반대로 사전확률이
$$P(w_\text{app}) = P(w_\text{org})$$로 동일하다면 posterior의 비교는 likelihood의 비교와 같아진다. 즉,
$$p(x|w_\text{org}) > p(x|w_\text{app})$$인 클래스를 선택하면 된다. 일반적인 경우에는 likelihood와 prior가 모두 중요한 역할을 한다. Bayesian Decision Theory는 이 두 정보를 결합하여 평균적인 분류 오류를 최소화하는 결정 규칙을 제공한다
지금까지는 모든 오분류가 동일한 비용을 가진다고 가정하였다. 그러나 실제 응용에서는 잘못된 결정이 초래하는 손실이 동일하지 않은 경우가 많다. 예를 들어 과일 선별 장치에서 사과를 오렌지로 잘못 분류하는 경우와 오렌지를 사과로 잘못 분류하는 경우의 경제적 손실은 서로 다를 수 있다. 의료 영상에서는 정상 환자를 질병으로 판단하는 경우(false positive)와 실제 환자를 정상으로 판단하는 경우(false negative)의 위험도가 크게 다르다. 따라서 실제 분류 문제에서는 단순히 오류율(error rate)을 최소화하는 것보다 기대 손실(expected loss)을 최소화하는 것이 더 중요하다.
실제 상태가 $w_j$인데 어떤 행동 $a_j$를 선택했을 때 발생하는 손실을 $$L(a_i| w_j)$$라 하자. 일반적인 Bayesian decision theory에서는 올바른 결정에도 일정한 비용이 발생할 수 있으므로 $L(a_i| w_i)$를 반드시 0으로 둘 필요는 없다. 그러나 대부분의 분류 문제에서는 올바른 분류에 따른 손실은 없다고 가정을 하므로 오렌지를 오렌지로 분류하거나 사과를 사과로 분류할 때의 손실은 없다고 가정하므로
$$L(a_\text{org}|w_\text{org}) = L(a_\text{app}| w_\text{app}) = 0$$으로 두는 것이 일반적이다.
이제, 관측값 $x$가 주어졌을 때 행동 $a_i$의 조건부 위험은
$$ R(a_i |x ) = \sum_{i} L(a_i |w_j ) P(w_j |x)$$으로 정의된다. 이 식은 가능한 모든 실제 상태에 대해 손실과 그 상태가 발생할 posterior probability의 곱을 합한 값이다. 따라서 조건부 위험은 관측값 $x$가 주어졌을 때 해당 행동으로 인해 기대되는 평균 손실이라고 해석할 수 있다.
Bayesian Decision Theory는 가능한 행동 가운데 조건부 위험이 가장 작은 행동을 선택한다.
$$a^*(x) = \text{argmin} _i R(a_i |x)$$
오렌지와 사과를 분류하는 2-class 문제를 다시 고려하자. 오렌지로 분류하는 행동을 $a_\text{org}$, 사과로 분류하는 행동을 $a_\text{app}$라 하면, 오렌지로 분류할 때의 조건부 위험은
$$R(a_\text{org} |x) = L(a_\text{org}| w_\text{org}) P(w_\text{org} |x) +L(a_\text{org} | w_\text{app} ) P( w_\text{app}|x)$$이고, 사과로 분류할 떄의 위험은
$$R(a_\text{app} |x) = L(a_\text{app}| w_\text{org}) P(w_\text{org} |x) +L(a_\text{app} | w_\text{app} ) P( w_\text{app}|x)$$이다. 따라서
$$R(a_\text{org}|x) < R( a_\text{app} | x)$$이면 오렌지로 분류하고, 그렇지 않으면 사과로 분류한다. 즉, Bayesian Decision Theory의 일반적인 결정 원리는 posterior probability 자체를 비교하는 것이 아니라 기대 손실(Bayes risk)을 비교하는 것이다. Posterior probability를 최대화하는 MAP 결정은 모든 오분류에 동일한 손실을 부여하는 zero-one loss
$$L(a_i|w_j)=1 - \delta_{ij}$$를 사용하는 특별한 경우이다. 실제로 이 손실함수를 조건부 위험 정의에 대입하면
$$ R(a_i|x) = \sum_j L(a_i |w_j)P(w_j|x) = 1- P(w_i|x)$$을 얻는다. 즉, 조건부 위험을 최소화하는 것은 posterior probability를 최대화하는 것과 동일하다.
Bayes Criterion, MAP, ML
앞 절에서 살펴본 것처럼 Bayesian Decision Theory의 일반적인 목적은 조건부 위험(Bayes risk)을 최소화하는 행동을 선택하는 것이다.
\[
a^*(x)
=
\arg\min_i R(a_i|x)
\]
이처럼 기대 손실(expected loss)을 최소화하는 결정 규칙을 Bayes Criterion이라 한다. Bayes Criterion은 가장 일반적인 결정 원리이며, 손실함수(loss function)의 선택에 따라 여러 가지 잘 알려진 결정 규칙들이 특수한 형태로 유도된다.
MAP Criterion
가장 많이 사용되는 손실함수는 올바르게 분류하면 손실이 없고, 잘못 분류하면 손실을 1로 두는 zero-one loss이다. 이 경우 행동 \(a_i\)의 조건부 위험은
\[
\begin{aligned}
R(a_i|x)
&=
\sum_j
L(a_i|\omega_j)P(\omega_j|x)\\
&=
1-P(\omega_i|x)
\end{aligned}
\]가 되어 조건부 위험을 최소화하는 것은 posterior probability를 최대화하는 것과 동일하다. 즉,
\[
\hat{\omega}
=
\arg\max_j
P(\omega_j|x)
\]를 선택하면 된다. 이러한 결정 규칙을 MAP (Maximum A Posteriori) Criterion이라 한다. 따라서 MAP Criterion은 Bayes Criterion의 특별한 경우이며, 모든 오분류의 비용이 동일하다고 가정한 경우에 해당한다.
ML Criterion
Bayes theorem을 이용하면
\[
P(\omega_j|x)
=
\frac{p(x|\omega_j)P(\omega_j)}
{p(x)}
\]이므로 MAP 결정은
\[
\hat{\omega}
=
\arg\max_j
p(x|\omega_j)P(\omega_j)
\]와 동일하다. 만약 모든 클래스의 사전확률이 같다면
\[
P(\omega_j)=\text{constant},
\]이므로 posterior를 최대화하는 것은 likelihood를 최대화하는 것과 같다. 즉,
\[
\hat{\omega}
=
\arg\max_j
p(x|\omega_j)
\]를 선택하면 된다.
이를 ML(Maximum Likelihood) Criterion이라 한다. ML Criterion은 사전확률을 고려하지 않고 관측 데이터만을 이용하여 분류하는 방법이다. 따라서 신뢰할 수 있는 prior information이 존재하는 경우에는 일반적으로 MAP Criterion이 더 좋은 성능을 보인다.
Neyman--Pearson Criterion
지금까지의 결정 규칙은 평균적인 오류율이나 평균 손실을 최소화하는 것을 목표로 하였다. 그러나 실제 문제에서는 두 종류의 오분류가 서로 다른 의미를 갖는 경우가 많다. 예를 들어 질병 진단에서는 정상인을 환자로 잘못 판단하는 경우(False Positive)보다 실제 환자를 정상으로 판단하는 경우(False Negative)가 훨씬 더 심각한 결과를 초래할 수 있다. 이와 같은 경우에는 두 오류를 동일하게 취급하기보다 한 종류의 오류를 일정한 수준 이하로 제한하면서 다른 종류의 오류를 최소화하는 것이 더 적절하다. 이러한 결정 규칙을 Neyman--Pearson Criterion이라 한다.
즉,
\begin{align} &\text{한 종류의 오류(Type I Error)를 미리 허용 가능한 수준으로 제한하고} \\ &\text{그 조건 아래에서 다른 오류(Type II Error)를 최소화하도록 결정 경계를 선택한다.}\end{align} 통계적 가설검정과 신호검출 문제에서 널리 사용되는 기준이다.
Minimax Criterion
지금까지의 모든 결정 규칙은 사전확률(prior probability)을 알고 있다는 가정을 바탕으로 한다. 그러나 실제 문제에서는 prior를 정확히 알지 못하거나 신뢰하기 어려운 경우도 있다. 이 경우에는 평균적인 성능보다 최악의 상황에서 발생할 수 있는 최대 손실을 최소화하는 것이 더 바람직할 수 있다. 이를 Minimax Criterion이라 한다.
즉,
\[
a^*
=
\arg\min_a
\max_j
R(a|\omega_j)
\]를 선택하는 방법이다.
Minimax Criterion은 평균적인 성능은 다소 떨어질 수 있지만, 어떤 상황에서도 지나치게 큰 손실이 발생하지 않도록 하는 보수적인 결정 방법으로 이해할 수 있다.
'Image Recognition' 카테고리의 다른 글
| EM: Binarization (0) | 2008.07.01 |
|---|---|
| EM Algorithm: Line Fitting (0) | 2008.06.29 |
| Gaussian Mixture Model (2) | 2008.06.07 |
| Rasterizing Voronoi Diagram (0) | 2008.05.26 |
| RANSAC Algorithm (0) | 2008.05.24 |

