Machine learning/Optimal statistical calssifier

Bayes decision rule - 2

TM 2021. 7. 18. 15:26

지금껏 해온 이야기는 우리가 한탄강에서 낚시를 했을 때 잉어와 붕어에 대한 classification을 이루기 위해 한 가지 feature(물고기의 길이)를 사용하여 PDF 그래프를 만들고 사후 확률을 계산해 가장 높은 확률을 가진 class에 대한 의사결정(decision making)이 이루어졌다.

 

여기서 또 한가지 생각을 해야 하는 건 우리의 낚시 방법(action)이다. 어떤 action을 취해야 낚싯대를 잃어버릴(loss)가 적은지 그리고 우리가 낚시를 하는 동안 물에 빠질(Risk)가 얼마나 작은지에 대한 고려를 해야 Risk가 적은 action을 취해 posterior probability이 높은 decision을 이루는 것이 우리가 여태껏 달려온 Optimal statistical classifier의 목적이다. 낚시 이야기는 지루하니 이제 다른 예시를 들어보려고 한다. 그전에 간단한 action, loss, Risk에 대한 간단한 용어를 정리하고 시작하겠습니다.

 

Class

c개의 class

 

Action

a개의 action

 

Loss

the loss incurred for taking action a when the state of nature is w

예를 들어 w1 class가 낚싯대에 잡혔을 때 action(낚시 방법)에 따른 Loss(낚싯대를 잃어버릴 확률)

 

 

Risk

 

Risk에 대한 수식은 보기만 해도 복잡하다..하지만 각각 쪼개서 생각하면 그리 이해하는데 어렵지는 않습니다. 우선 Risk의 의미는 "어떤 feature x가 있을 때 action에 따른 Risk를 구한다"라고 보면 되는데 수식적으로 풀어쓰면 저렇다. 모든 class c개에 대한 (loss * posterior) 합이다.  When R is minimum, it is called the Bayes risk, Best Performance that can be achieved.

 


Example 1. The Bayesian Doctor 

1. just use prior information 

 

A 병원에 감기, 코로나에 걸린 환자들만 존재한다. 이때 의사는 어떤 결정을 내릴 수 있는가?

 

 

이때, 병원에 존재하는 prior information(환자들의 분포량)은 이렇다. 

 

 

의사는 환자들에게 취할 수 있는 action은 이렇다 hot tea or antibiotics 그렇다면 의사가 할 수 있는 최적의 진단은 무엇인가? 이때 loss matrix에 대한 값은 우리가 사전에 가정을 해보자.

 

 

Action 1에 대한 w1와 w2의 Risk를 구하면 아래와 같은 식으로 전개를 하면 된다.

 

 

hot tea를 감기에 걸린 환자와 코로나에 걸린 환자에게 처방을 해줬을때의 리스크는 1이 나온다. 이와 똑같은 방법으로 Action2에 대한 식을 구하면 이렇다.

 

 

상대적으로 Hot tea(action 1)를 처방해준 것에 비해 antibiotics(action 2)를 처방해준 것이 Risk가 낮음을 볼 수 있다. 그럼 의사는 모든 환자에게 antibiotics만을 처방해주는 게 가장 합당한 진단이다!..라고 생각할 수 있는데 이 부분에는 두 가지 문제가 있다.

 

1. 세상에 이런 의사가 어디있는가 정확하게 환자를 보고 감기에 걸린 환자에게는 hot tea를 코로나에 걸린 환자에게는 치료제를 주는 게 의사 아닌가?

2. 의사는 환자를 육안으로만 보고 어떻게 감기에 걸렸는지 코로나에 걸렸는지 알 수 있는가? 정확한 진단을 먼저 해야 한다.

 

그렇기 때문에 위와 같은 방법들이 전혀 고려되지 않았다. 그럼 이제 likelihood도 같이 사용한 진단을 해보자.

 

2. use likelihood information 

 

조건은 위와 동일하다 다만, 추가된 점은 우리에게 likelihood 즉, Observation이 추가된 것이다. 병원에서 환자를 진단하기 위한 방법들 중 blood test가 존재한다. 이때 blood test를 통한 결과가 우리에게 observation 인 것이다!

 

 

blood test를 통해 우리는 결국 감기에 걸렸는지 코로나에 걸렸는지에 대한 정확한 진단을 할 수 있고 정확한 처방을 할 수 있게 되었다. 하지만 여기에 또 다른 문제가 존재한다 세상에 모든 검사가 정확하면 얼마나 좋겠지만... blood test 검사 결과가 종종 fail이 나올 수 도 있기 때문에 이 부분에 대한 고려를 해야 한다. 

 

p(x1 | w2) 코로나에 걸렸지만, 검사 결과가 negative가 뜬 경우 ,  p(x2 | w2) 코로나에 걸렸지만, 검사 결과가 positive가 뜬 경우

 

p(x1 | w1) 감기에 걸렸지만, 검사 결과가 negative가 뜬 경우 ,  p(x2 | w1) 감기에 걸렸지만, 검사 결과가 positive가 뜬 경우

 

compute the conditional risk for each action and observation to choose an optimal action that minimizes risk.

 

 

우선 blood test에서 negative가 나올 확률과 positive가 나올 확률에 대해 값을 구한 다음 blood test 결과에 따른 처방 Risk를 구해보자

 

 

1. blood test에서 negative가 나온 감기 환자와 코로나 환자에게 hot tea를 처방해줬을 때 Risk = 0.4

 

 

2. blood test에서 negative가 나온 감기 환자와 코로나 환자에게 antibiotics를 처방해줬을때 Risk = 0.96

 

3. blood test에서 positive가 나온 감기 환자와 코로나 환자에게 hot tea를 처방해줬을때 Risk = 2.8

 

 

4. blood test에서 positive가 나온 감기 환자와 코로나 환자에게 antibiotics를 처방해줬을때 Risk = 0.72

 

 

정리하면 blood test에 따른 의사의 처방 Risk는 이렇다. 여기서 우리는 blood test에 따라 negative일 때 Risk가 가장 작은 action 1(hot tea)를 처방해주고, blood test가 positive일 때 Risk가 가장 작은 action2(antibiotics)를 처방해줌으로써 Risk를 최소화할 수 있다. 

 

결국 이를 통해 여태껏 우리가 하고 싶은 Optimal Statistical Classifier를 할 수 있다. 이제부터는 우리가 가정해왔던 PDF(probability density function)에 대한 구성을 어떻게 할 것인지에 다뤄보려고 한다. 

'Machine learning > Optimal statistical calssifier' 카테고리의 다른 글

Support Vector Machine(SVM)  (0) 2021.10.03
Bayes decision rule - 1  (0) 2021.07.17