3장에서는 본격적인 인과관계 이론 적용에 앞서 기본이 되는 개념들을 소개한다.

대표적으로 Bayes Rule 개념을 설명하고, 이를 확장한 Bayesian Network를 소개한다.

그리고 Bayesian Network를 활용한 Causal Diagram을 마지막으로 설명하면서, 인과관계를 Bayesian Network로 표현했을 때의 장점을 정리하며 마무리한다.

Bonaparte, The Computer Detective

2014년 7월 14일 네덜란드에서 출발한 비행기가 사고로 탑승한 298명 전원이 사망한 사건이 있었다.

시신 수습 과정에서 신원을 확인할 수 없는 탑승객들을 규명하기 위해, Bonaparte라는 DNA 분석 프로그램이 사용되었다. 

Bonaparte는 매우 높은 정확도를 보였고, 이는 Bayesian Networks 기반으로 설계된 알고리즘의 힘이었다.

Bayesian Networks는 이 뿐만 아니라, 다양한 분야(스팸 필터, 게임 랭킹, 전화 통신 등)에 사용되고 있다.

Reverend Bayes and The Problem of Inverse Probability

Bayes Rule 개념 설명

목사 Bayes가 궁금해했던 건 다음이었다.

"(어떤 가설이 참일 때, 증거들이 나타날 확률이 아니라) 증거들이 발견될 때, 어떤 가설이 참일 확률은 어떻게 될까?" (Inverse Probability)

-> "(신이 존재할 때, 기적이 발견될 확률이 아니라) 기적이 발견될 때, 신이 존재할 확률은 어떻게 될까?", "어떻게 구할까?"

Bayes Rule은 현상들을 통해 원인의 확률을 귀납적으로 추론하는 과정이다. ("His paper is remembered ... because it shows that you can deduce the probability of a cause from an effect")

 

예시 1) 당구대 예시

일반적인 문제: 당구대 길이가 L일 때, 공을 쳐서 x에 멈출 확률 구하시오

Inverse Probability 문제: 공을 쳐서 x에 멈췄을 때, 당구대길이 L의 확률 분포를 구하시오.

 

예시 2) 까페 (Tea & Scones) 예시

P(T) = 까페에서 차를 살 확률

P(S) = 까페에서 스콘을 살 확률

P(S | T) P(T) = P(T | S) P(S): 차를 샀을 때 스콘을 살 확률(P(S | T)) 을 알고 싶으면, 차를 살 확률(P(T))스콘을 살 확률(P(S)) 그리고 스콘을 샀을 때 차를 살 확률(P(T | S))을 알면 된다.

P(T | S): Forward Probability

P(S | T): Inverse Probability

=> P(T)와 P(S)를 알고 있고(or 안다고 가정할 수 있고), Forward Probabilities를 계산할 수 있으면 수학적으로 Inverse Probabilities도 구할 수 있다.

 

예시 3) Sensitivity

Inverse Probability가 직관적으로 이해하기 어려운 이유

일반적으로 질병 검사에서 "질병이 있을 때, 양성이 나올 확률" (Forward Probability)을 생각하는 것은 자연스럽다. (이 Forward Probability는 검사의 민감도 (Sensitivity(= Recall))라고 부른다.) 이 확률을 생각하는 게 자연스러운 이유는, 질병에서 양성으로 인과적 방향성(Causal Direction)이 수립되기 때문이다.

반면, "양성이 나왔을 때, 질병이 있을 확률" (Inverse Probability)이 우리가 더 관심이 많은 확률임에도, 이를 생각하기 부자연스러운 이유는, 양성에서 질병으로 인과적 방향성이 없기 때문이다. (다시 말해, 질병이 양성의 원인이 되지만, 양성 자체가 질병의 원인이 되지는 않는다.)

양성을 받은 피검사자들이 궁금해하는 것은, 내가 "진짜" 질병에 걸렸을 확률이다. 이는 다음과 같이 계산할 수 있다.

- 피검사자 전체: 3000명

- 질병 환자: 4명, 건강한 사람: 2996명 (현실에서는 구할 수 없는 숫자들)

- 질병에 걸렸는데 양성인 사람: 3명, 질병에 걸렸는데 음성인 사람: 1명

- 건강한데 양성인 사람: 360명, 건강한데 음성인 사람: 2936명

 

=> 양성인데 질병에 걸렸을 확률: 3 / (3 + 360) = 0.82%

 

이 숫자는 실제 전체 피검사자중 질병에 걸린 비율 (4 / 3000 = 0.13%)보다 높다.

다시 말해, 양성을 진단 받았다는 사실이 실제 질병에 걸렸을 확률을 "증가 (augment)"시켰다. (=> 주의할 점은 여기서 증가는 인과적으로 증가시켰다는 게 아니라, 사실에 더 가까워졌다고 해석해야 한다.)

From Bayes' Rule to Bayesian Networks

인공지능 이론을 전개하는 데에, Bayesian Network이 주요한 역할을 했다.

인간의 뇌가 룰베이스로 이뤄져 있다는 이론은 한계에 부딪쳤고 확률을 적용해 뉴런을 표현하자는 제안이 주류로 떠올란다. 여기서 확률을 그래프 형태로 표현하는 것이 Bayesin Networks다. 

"... any artificial intelligence would have to model itself on what we know about human neural information processing and that machine reasoning under uncertainty would have to be constructed with a similar message-passing architecture"

여기서 message란 정방향에서는 조건부 확률, 반대 방향에서는 likelihood ratios를 의미한다.

Bayesian Networks: What Causes Say About Data

Bayes Rule은 Bayesian Network에서 Node 2개에 적용된다.

이제 Node 3개의 경우들을 보자. -> 이는 Bayesian Networks를 구성하는 building block이 된다.

1. A -> B -> C ("chain")

ex) Fire -> Smoke -> Alarm

Fire Alarm이 만일 Smoke Alarm이라면, Fire와 Alarm 사이에는 아무 관련이 없다. 만약 중간을 차단한다면(흄으로 Smoke를 다 빨아들인다면) Fire Alarm은 울리지 않을 것이다. 

여기서 중요개념은 mediator B가 A에서 C로 흐르는 정보를 차단과 동시에 매개 ("screens off")한다는 점이다.

원래는 다음 두 가지 경우 밖에 없다.

A: Fire B: Smoke C: Alarm
0 0 0
1 1 1

만약 Fire Alarm이 고장나서 5%의 확률로 반응을 못한다고 가정하면 경우의 수가 다음과 같이 나올 것이다.

A: Fire B: Smoke C: Alarm
0 0 0
1 1 0 (5%)
1 1 1 (95%)

만약 여기에 조건을 추가해서, Fire 없이 Smoke를 발생시키는게 가능하다고 하면 경우의 수는 다음과 같아진다.

A: Fire B: Smoke C: Alarm
0 0 0
1 1 0 (5%)
1 1 1 (95%)
0 1 (인위적인 Smoke) 0 (5%)
0 1 (인위적인 Smoke) 1 (95%)

이 때, Smoke = 1인 경우만 보는 것을 "B를 Conditioning한다"고 한다. 

Smoke = 1일 때 Fire가 0인지 1인지 상관없이 Alarm = 0 or 1일 확률이 각각 일정하므로, A와 C는 독립임을 알 수 있다.

2. A <- B -> C ("fork")

여기서 B는 confounder라고 부른다.

예) A: Shoe Size, B: Age, C: Reading Ability

A와 C는 전혀 관련이 없는데도, B때문에 상관관계가 높다고 나온다.

이 경우 정확한 분석을 위해서는 반드시 B를 Conditioning해야 한다.

같은 Age의 아이들 데이터를 보면, Shoe Size와 Reading Ability가 독립임을 알 수 있을 것이다.

 

3. A -> B <- C ("collider")

A와 C가 독립인데, 괜히 B를 Conditioning한다면, A와 C가 dependent하게 된다. (이를 collider bias 혹은 explain-away effect라고 한다.)

예) A: Talent, B: Celebrity, C: Beauty

Talent와 Beauty는 관련이 없지만, Celebrity들만 놓고 보면 (Talent와 Beauty가 떨어지는 집단은 제거되므로) 둘 사이의 음의 상관관계가 있는 것처럼 해석된다.

 

이 3가지 조합들은 Bayesian Networks가 인과추론에 기여한 핵심 중 하나이다.

이들을 통해, 인과 모델을 평가하거나, 개입의 효과를 검증하는 등 인과추론에 있어 다양한 시도들이      가능해졌다.

 

Where is my bag? From Aachen to Zanzibar

Bayesian network에서 causal diagram 표현은 엔진이라고 할 수 있다.

이 엔진을 작동시키는 연료는 조건부확률분포표 (conditional probability table)다.

node A가 부모 node를 갖고 있다면, A는 자신의 상태 (=확률)를 결정하기 전에 부모 node로부터 정보를 "듣는다 (listen)".

질병과 검사 예시에서, D(질병 여부) -> T(양성 여부)가 그래프라면, T=0인 확률은 D=0인지, D=1인지의 정보에 따라 결정된다.

 

2개 이상의 부모를 가진 node의 예시 ("Where Is My Bag")

인과 그래프: Bag on Plane -> Bag on Carousel <- Elapsed Time

우리가 궁금한 것: P(Bag on Plane = True | Bag on Carousel = False, Elapsed Time = t)

 

(당부사항) 실제로 Bayesian Network그릴 때, 최대한 sparse하게 그리자. (= 인과관계가 매우 약한 node끼리는 연결하지 마라)

 

Bayesian Networks in the Real World

Bonapartre의 작동 방식 설명

- 가계도가 곧 Causal Diagram이 된다.

- 이 중 DNA를 밝힐 수 있는 부분은 전부 밝히고, 미지의 node들 중 전체의 likelihood를 최대한 높이는 최적해를 구한다.

 

다른 예시: Telephone message encoding with decoding

- 하나의 codeword를 만들어내는 것보다, 2개의 codeword를 만들어낸 후, belief propagation 공식을 반복적으로 적용하면 100%에 가까운 정확도로 decoding이 된다.

 

From Bayesian Networks to Causal Diagrams

Bayesian Networks는 조건부확률을 그래프 형태로 표현한 것에 불과하지만, Causal Diagram은 생산해석에 있어서 다른 차원으로 나아간다.

생산 측면에서의 장점

각 node들을 선택함에 있어, "듣기" 관계를 결정해야 한다.

"듣기" 비유가 인과 그래프가 가진 지식을 요약해준다. ("This listening metaphor encapsulates the entire knowledge that a causal network conveys; the rest can be derived, sometimes by leveragin data.")

1. 인과 관계 가정은 생뚱맞게 튀어나오는게 아니다. 즉, 데이터 입각해서 나와야만 한다.

예를 들어, B를 conditioning 했을 때, A와 B가 독립이 아니라면, chain구조는 아니라는 것을 알 수 있다.

 

2. 데이터로 확인할 수 없는 관계도 있다.

예를 들어, 데이터만으로는 chain인지 fork인지 결론 내릴 수 없다. (둘 다 B를 conditioning했을 때, A와 C는 독립이다.) 

 

생산 측면에서 이런 "듣기" 관계가 고려된 채로 만들어진 그래프는 Interventional, Counterfactual 질문들에 답변할 수 있다. (반면 Bayesian Network는 하나를 관찰했을 때, 다른 하나가 발견될 확률(=조건부확률)만 답변할 수 있다.)

 

해석 측면에서의 장점

Causal Diagram을 활용하면 실제 실험을 하지 않고 emulation이 가능해진다.

 

다시 말해, 실험(=개입 (intervention))의 효과를 예측할 수 있다.

 

+ Recent posts