본문 바로가기
CS/머신러닝

[PRML] 기초이론정리2(결정이론, 정보이론)

by jaehoonChoi 2023. 7. 2.

 

3. 결정이론

확률론과 함께 결정이론을 사용하면 최적의 결정을 내릴 수 있다. 

확률론으로 여러 확률들이 계산되었을 때, 어떻게 하면 최적의 결정을 내릴 수 있을까?

예시를 통해 결정론을 알아보자. 

 

3.1  오분류 최소화

환자의 엑스레이 이미지 \(x\)를 암(\(C_1\))인지 아닌지(\(C_2\)) 두 클래스로 분류하는 상황을 가정한다. 

 

이 때, 잘못된 분류를 줄이는게 목표라고 해보자. 그렇다면, 실수가 발생할 확률은 다음과 같다.

$$p_{error}=p(x\in R_1 , C_2)+p(x\in R_2, C_2) $$

$$ =\int_{R_1}^{}p(x,C_2)dx+\int_{R_2}^{}p(x,C_1)dx $$

여기서, \(R_1, R_2\)는 클래스의 결정구역이다.

 

위 식을 최소화시키려면, 두 적분함수 중 더 작은 값을 가진 클래스에 포함시키면 된다.

만약 \(p(x, C_1)>p(x, C_2) \) 라면, \(x\)를 \(C_1\)에 넣어야 한다.

 

 

3.2  기대손실 최소화

의학적 진단문제를 생각해보자. 암에 걸리지 않은 사람을 걸렸다고 판단하는 것보다, 

암에 걸린 사람을 걸리지 않았다고 판단하는 것이 더 심각한 문제이다. 

 

그렇다면, 암에 걸린 사람을 걸리지 않았다고 판단하는 것에 많은 가중치를 주면 된다. 

 

이렇게 가중치를 준 후, 평균 손실을 최소화하는 방향을 생각해보자. 

즉, 손실함수의 기댓값을 수식으로 표현하면,

 

$$ E[L]=\sum_{i}^{}\sum_{j}^{}\int_{R_j}^{}L_{ij}p(\textbf{x}, C_i)d\textbf{x} $$ 

 

이 때, 각각의 \(\textbf{x}\) 값은 결정구역 \(R_j\)중 하나에 독립적으로 포함되게 된다. 

즉, 우리의 목표는 구역 (\R_j\)들을 잘 선택하여 기대손실을 최소화하는 것이다. 

 

곱의 법칙에 의해, \(p(\textbf{x})\)를 제거하고 식을 정리하면,  각각의 \(\textbf{x}\)를

$$ \sum_{i}^{}L_{ij}p(C_i|\textbf{x}) $$

를 최소화하는 클래스 \(j\)에 배치하는 것이 된다. 

 

 

3.3  거부 옵션

어떤 구역에서는 사후확률 \(p(C_k|x)\)중 가장 큰 것이 1보다 매우 작은 경우가 생긴다.

즉, 확률들이 모두 비슷한 값을 지닌 채로 엄청 작게 분포하는 경우 분류오차가 커질 수 있다.

 

그런 경우엔 임계치를 설정하여 결과를 거부하는 방식을 취할 수 있다. 예를 들어 

의학 진단 시스템에선 확실한 사진은 자동화 시스템을 사용하고 다소 불확실한 사진만 

의사가 직접 확인하는 게 더 정확할 수도 있다. 그래서 임계값을 적절히 설정하여,

가장 큰 확률 값이 \(\epsilon \) 보다 작다면, 입력값 \(x\) 를 거부할 수 있다. 

 

3.4  결정

결정 문제를 푸는 2가지 방법을 소개한다.

 

[해결책 1]

각 클래스 \(C_k\)에 대해 \(p(x|C_k)\)를 구하고, \(p(C_k)\)도 따로 구한다. 

그 후, 베이즈 정리로 각 클래스별 사후확률 \(p(C_k|x)\)를 구한다.  

또한, 베이즈 정리의 분모 \(p(x)\)는 \(p(x)=\sum_{k}^{}p(x|C_k)p(C_k)\) 로 구해준다.

 

[해결책1의 장단점]

계산량이 엄청 많다. 하지만 많은 확률을 계산해놓았기 때문에 뽑을 수 있는 정보도 다양하다.

결합 분포 \(p(x, C_k)\)를 모델링하여 생성모델을 만들 수 있다. (베이지안 네트워크에서 공부함)

또한 \(p(x)\)까지 알 수 있으므로, 예측확률이 낮은 이상점 검출이 가능하다. 

 

[해결책 2]

사후확률 \(p(C_k|x)\)를 직접 구하여 모델링한다. 이걸 판별모델이라 한다. 

 

[해결책2의 장단점]

분류만이 목적인 경우 해결책1보다 훨씬 쉽다. 해결책 1,2는 서로 장단점이 상충되므로,

둘 다 잘 쓰인다. 

 

 

 

4. 정보이론

변수 \(x\)의 정보량은 뭘 의미할까? 정보의 양은 놀라움의 정도로 볼 수 있다. 

즉, 일어날 가능성이 높은 사건보다는 일어나기 어려운 사건이 일어났을 때 더 많은 정보를 얻게 된다. 

따라서 정보량은 확률분포에 종속된다. 

 

연관되지 않은 사건 \(x, y\)를 고려하자. 함께 일어났을 때 정보량은 두 정보량의 합이 된다.

즉, \(h(x, y)=h(x)+h(y)\)이다. 두 연관되지 않은 사건은 확률적으로 독립이므로, 

\(p(x, y)=p(x)p(y)\)이다. 따라서 \(h(x)\)는 \(p(x)\)의 로그에 해당한다. 

$$ h(x)=-\textup{log}_2p(x)$$

로 정의한다.

 

정보의 평균치는 기댓값이므로, 

$$ \mathbf{H}(x)= -\sum_{x}^{}p(x)\textup{log}_2p(x)$$

이다. 이 값을 확률변수의 엔트로피라고 한다. 

연속변수에 대한 미분 엔트로피는 다음과 같이 주어진다. 

$$ \mathbf{H}(x)=-\int p(x)\textup{ln}p(x)dx $$

 

이제 결합분포 \(p(x, y)\)를 고려해보자. 만약 \(x\)값이 이미 알려져 있다면, 

그에 해당하는 \(y\)값을 알기 위해 필요한 정보량은 \(-\textup{ln} p(y|x)\) 가 된다. 

따라서 \(y\)를 특정하기 위해 추가로 필요한 정보량의 평균값은 다음과 같다.

 

$$ \mathbf{H}[y|x]=-\iint p(x, y)\textup{ln} p(y|x)dydx $$

 

엔트로피에 대한 간단한 정리를 유도해보자.

 

$$ \mathbf{H}[x, y]=-\iint_{}^{} p(x, y)\textup{ln} p(x, y)dydx $$

$$ = -\iint_{}^{} p(x, y)\textup{ln} (p(y|x)p(x))dydx $$

$$ =-\iint_{}^{} p(x, y)\textup{ln} p(y|x)dydx-\iint_{}^{} p(x, y)\textup{ln} p(x)dydx $$

$$ =-\iint_{}^{} p(x, y)\textup{ln} p(y|x)dydx-\int_{}^{} p(x)\textup{ln} p(x)dx $$

$$= \textbf{H}[y|x]+\textbf{H}[x] $$

 

가 성립한다. 따라서 \(\mathbf{H}[x, y]=\textbf{H}[y|x]+\textbf{H}[x] \) 이다. 

 

마지막으로 상대적 엔트로피를 정의한다. 

알려지지 않은 분포 \(p(x)\)를 고려해보자. 이 분포를 피팅하기 위해 모델을 만들어

분포 \(q(x)\)를 구했다고 하자. 그럼 추가정보량은 다음과 같이 주어진다. 

$$ KL(p||q)=-\int p(x)\textup{ln}q(x)dx-(-\int p(x)\textup{ln}p(x)dx) $$

$$ = -\int p(x)\textup{ln}\frac{q(x)}{p(x)}dx$$

 

두 변수 \(x, y\)에 대해 두 변수가 얼마나 서로 독립적인지 알아보기 위해선

$$\textbf{I}[x, y]=KL(p(x,y)||p(x)p(y))$$

$$=-\iint_{}^{}p(x,y)\textup{ln}\frac{p(x)p(y)}{p(x, y)}dxdy$$

를 계산해주면 된다. 

댓글