안녕하세요. 지난 포스팅에서는 베이지안 통계을 기반으로하는 결정 방식에 대해서 정말 간략하게 살펴보았습니다. 이번에는 주어진 입력 $x \in \mathcal{X}$에 대해 어떤 클래스 레이블을 예측할 지 베이지안 결정이론을 기반으로 판단해보도록 하겠습니다.
1. 제로-원 손실(Zero-One Loss)
이러한 분류문제에서 가장 단순하게 손실 또는 위험을 구하는 방법이 바로 제로-원 손실 $l_{01}(y^{*}, \hat{y})$입니다. 이는 숨겨진 자연상태 $\mathcal{H}$와 행동 $\mathcal{A}$가 모두 클래스 레이블 집합인 경우를 가정합니다. 이는 예측 $\hat{y}$가 정답 $y^{*}$와 동일하다면 손실을 0으로 주고 다르다면 1로 줍니다. 이를 통해 저희는 손실행렬을 다음과 같이 얻을 수 있습니다.
$$\begin{pmatrix} l_{01} (y^{*} = 0, \hat{y} = 0) & l_{01} (y^{*} = 0, \hat{y} = 1) \\ l_{01} (y^{*} = 1, \hat{y} = 0) & l_{01} (y^{*} = 1, \hat{y} = 1) \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ 1 & 1 \end{pmatrix} = \mathbb{1}(y^{*} \neq \hat{y})$$
이제 저희는 사후 기대 손실 $\rho(\hat{y} \mid x)$를 다음과 같이 구할 수 있습니다.
$$\rho(\hat{y} \mid x) = p(\hat{y} \neq y^{*} \mid x) = 1 - p(y^{*} = \hat{y} \mid x)$$
이는 곧 틀릴 확률을 손실이라고 정의하는 것과 동일하고 이를 바탕으로 다음과 같이 최적의 의사결정 규칙을 정의할 수 있습니다.
$$\pi(x) = \text{argmax}_{y \in \mathcal{Y}} p(y \mid x)$$
즉, 사후 확률이 가장 큰 레이블을 선택하게 되면 기대 손실이 최소가 되는 것과 동일하며 이는 사후 분포의 모드를 선택, 즉 MAP 추정과 동일한 결과를 제공합니다.
2. 비용-민감 분류(Cost-sensitive classification)
이번에는 클래스마다, 그리고 실수 유형마다 서로 다른 손실이 정의되어 있는 비용-민감 분류를 보도록 하죠. 예를 들어, "암 검진에서 암을 놓치는 실수(False Negative) 실수는 가짜 경보 실수(False Positive)보다 훨씬 비싸다"라고 볼 수 있습니다. 이와 같이 오류만다 그에 대응되는 손실이 다른 경우입니다.
이진 분류라고 가정하고 손실함수 $l(y^{*}, \hat{y})$를 다음과 같이 정의합니다.
$$\begin{pmatrix} l_{00} & l_{01} \\ l_{10} & l_{11} \end{pmatrix}$$
다음으로 사후 확률을 표기해보면 다음과 같습니다.
$$\begin{cases} &p_{0} = p(y^{*} = 0 \mid x) \\ &p_{1} = 1 - p_{0} = p(y^{*} = 1 \mid x) \end{cases}$$
즉, 입력 $x$를 보고 "실제 레이블이 1일 확률"이 $p_{1}$입니다. 이제 최적 의사결정 규칙을 정의해보면 다음과 같습니다. 즉, 예측을 $\hat{y} = 0$으로 할 조건입니다.
$$l_{00}p_{0} + l_{10}p_{1} < l_{01}p_{0} + l_{11}p_{1}$$
왼쪽 항은 "0이라고 예측했을 때 기대 손실"이고 오른쪽 항은 "1이라고 예측했을 때 기대 손실"을 의미합니다. 여기서 왼쪽 손실항이 더 작아야 0을 선택합니다. 여기서 흔한 가정으로 맞추면 0으로 손실을 정의해보겠습니다. 그러면 $l_{00} = l_{11} = 0$이라고 가정하죠. 그러면 위 식은 다음과 같이 다시 쓸 수 있습니다.
$$p_{1} < \frac{l_{01}}{l_{01} + l_{11}}$$
오른쪽 값이 의사결정 임곗값입니다. 양성일 확률인 $p_{1}$이 임곗값보다 작으면 0(음성)이고 크면 1(양성)을 예측합니다. 이번에는 "거짓 음성이 거짓 양성보다 $c$배 만큼 더 손실이 크다"라고 가정하겠습니다. 즉, $l_{10} = cl_{01}$이라고 두는 것이죠? 그러면 다음과 같이 식이 다시 쓸 수 있습니다.
$$p_{1} < \frac{1}{1 + c}$$
만약 $c = 2$, 즉, 거짓 음성 비용이 두 배만큼 비싸다면 임곗값은 $\frac{1}{3}$이 됩니다. 즉, 양성일 확률이 33%만 넘어도 양성으로 판정해야 거짓 음성의 큰 비용을 피할 수 있습니다.
3. 거부옵션이 있는 분류(Classification with the “reject” option)
마지막으로 모델의 예측을 신뢰하지 못할 때 "모르겠다"를 선언하고 답변을 보류할 수 있다면 잘못된 판단으로 인한 큰 손실을 막을 수 있습니다. 의학 및 금융 분야와 같이 위험 회피(risk-adverse)가 중요한 분야에서 특히 유용한 전략이며 이를 거부 옵션(reject option)이라고 부릅니다.
먼저 상태 및 행동 집합을 정의해보겠습니다. 자연상태의 경우 클래스 레이블과 동일하게 $\mathcal{H} = \mathcal{Y} = \{ 1, \dots, C \}$라고 하고, 행동은 거부를 의미하는 0을 추가하여 $\mathcal{A} = \mathcal{Y} \cup \{ 0 \}$으로 정의합니다. 이를 통해 손실함수는 다음과 같이 정의할 수 있습니다.
$$l(y^{*}, a) = \begin{cases} &0 \text{ if } y^{*} = a \text{ and } a \in \{ 1, \dots, C \} \\ &\lambda_{r} \text{ if } a = 0 \\ &\lambda_{e} \text{Otherwise} \end{cases}$$
여기서 $\lambda_{r}$과 $\lambda_{e}$는 각각 답을 거부했을 때 치르는 손실과 잘못된 레이블을 내렸을 때 손실로 정의됩니다. 이제, 위 경우에서의 최적 행동 규칙을 찾아보도록 하겠습니다. 손실함수를 다음과 같이 다시 적어보겠습니다.
$$\lambda(\alpha_{i} \mid Y = j) = \begin{cases} &0 \text{ if } i = j \le C \\ &\lambda_{r} \text{ if } i = C + 1 \\ &\lambda_{e} \text{Otherwise} \end{cases}$$
여기서 $i = 1, \dots, C$에 대해서 $\alpha_{i}$는 행동으로 정의되며 이는 "클래스 $i$라고 선언하는 행동"을 의미합니다. 그리고 $\alpha_{C + 1}$은 "거부"를 하는 것을 의미합니다. 여기서, 입력 $x$가 주어졌을 때 클래스 $j$를 선택하는 경우 기대 손실은 다음과 같습니다.
$$R_{j}(x) = \lambda(1 - p_{j})$$
여기서 $p_{j} = p(Y = j \mid x)$를 의미합니다. 즉, 정답이 $j$가 아닐 확률만큼 오분류 비용을 지급하는 것을 의미합니다. 만약, 거부를 선택하게 되면 $R_{\text{rej}}(x) = \lambda_{r}$이 됩니다. 이때, 행동 $\alpha_{j}$가 최소 위험이 되려면 다음과 같이 계산해야합니다.
$$R_{j}(x) \le \text{min}(R_{k} (x) (k \neq j), R_{\text{rej}}(x))$$
즉, 두 가지 경우로 나누어서 볼 수 있습니다.
- $R_{j} \le R_{k} \Leftrightarrow \lambda_{s}(1 - p_{j}) \le \lambda_{s}(1 - p_{k}) \Leftrightarrow p_{j} \ge p_{k}$
- $R_{j} \le R_{\text{rej}} \Leftrightarrow \lambda_{s}(1 - p_{j}) \le \lambda_{r} \Leftrightarrow p_{j} \ge 1 - \frac{\lambda_{r}}{\lambda_{s}}$
결론적으로 클래스 $j$를 선택한다는 것은 아래의 두 가지 조건을 모두 만족해야합니다.
$$\begin{cases} &p_{j} = \text{max}_{k} p_{k} \\ &p_{j} \ge 1 - \frac{\lambda_{r}}{\lambda_{s}} \end{cases}$$
만약, 이 조건들을 만족하는 클래스가 없다면 거부가 최소 위험이 됩니다. 이를 Chow’s rule이라고 합니다. $\frac{\lambda_{r}}{\lambda_{s}}$의 값에 따른 현상을 분석해보도록 하겠습니다.
- $\frac{\lambda_{r}}{\lambda_{s}} \approx 0$이라면 거부하는 비용이 거의 없기 때문에 100% 확신하지 않으면 그냥 거부를 해버리면 됩니다. 따라서, 거부 빈도가 매우 높아지겠죠.
- $\frac{\lambda_{r}}{\lambda_{s}} \approx 0.5$이라면 확률이 50%가 넘는 경우에만 분류하게 됩니다.
- $\frac{\lambda_{r}}{\lambda_{s}} \approx 1$이라면 거부하는 비용이 비싸기 때문에 언제나 가장 확률이 큰 클래스로 분류하게 되어 거부를 안합니다. 따라서, 거부 빈도가 낮아질 것 입니다.