brunch

You can make anything
by writing

C.S.Lewis

by 히말 May 11. 2021

페드로 도밍고스의 머신러닝 쇼케이스 (5) 베이즈주의자

[책을 읽고] 페드로 도밍고스의 <마스터 알고리즘> (5)


베이즈 정리는 의학 등 일부 통계 분야에서 핵심적인 원리로 사용된다. 그러나 이들은 흔히 오해되고 배척된다. 직관적으로 이해되는 빈도주의 통계이론에 비해, 베이즈주의는 뭔가 수상해 보이기 때문일 것이다. 수상해 보이는 것의 핵심은 '사전 확률'이다. 베이즈주의자들에게 확률이란 횟수가 아니라 주관적인 믿음의 정도다.



간단히 말해, 베이즈 정리란 새로운 데이터를 기반으로 기존 가설의 확률값을 수정하는 것뿐이다. 문제는 역시 '사전 확률'이다. 예컨대 HIV 검사 결과 양성이 나오면 사람들은 기겁을 한다. 실제로 HIV 양성 판정을 받고 극단적 선택을 하는 사람들도 있다. 그러나 대개의 인구 집단에서 HIV 보유율은 1%도 되지 않는다. 베이즈 정리는 다음과 같다.



P(원인|결과) = P(원인)*P(결과|원인)/P(결과)



이 사례에서 '결과'는 HIV 검사에서 양성이 나온 것이다. '원인'은 이 사람이 실제로 HIV를 가지고 있는 경우다. 이 검사법의 민감도가 99%라고 가정하자. 즉, 실제로 HIV를 가진 사람들을 검사할 경우, 이 검사법은 99%의 확률로 양성이라 판정한다. 따라서 P(결과|원인)=99%다. P(결과)는 모든 검사에 대해서 결과 값이 양성으로 나오는 확률이다. 이걸 1%라고 하자. 1%의 확률에 걸렸다면 확실히 기겁할 만한 상황이다. 그러나 아직 하나의 값을 더 감안해야 한다. 즉 어떤 사람이 실제로 HIV를 가지고 있을 확률이다. 앞서 말했듯이, 대개의 인구 집단에서 이 값은 1%도 되지 않는다. 페드로 도밍고스에 의하면 미국에서 이 값은 0.3% 정도라고 한다. 이제 모든 변수들의 값이 나왔으니, 우리가 궁금해 하는 바로 그 확률, 즉 P(원인|결과)를 게산해 보자. 이 확률이 뜻하는 것은, 어떤 사람이 HIV 검사에서 양성이 나왔을 때 그 사람이 정말로 HIV 보유자인 경우의 확률이다.



P(원인|결과) = 0.3% * 99% / 1% = 29.7%



HIV 검사 결과 양성 판정을 받은 사람이 실제로 HIV를 가지고 있을 확률은 30% 정도다. 이것도 충분히 무섭기는 하지만, 처음에 생각했던 대로 100%에 가까운 확률은 아니다. 오히려, 70%의 확률로 이 사람은 환자가 아니다. 이 사람이 취할 현명한 선택은 재검사를 받아보는 것이다.




우리는 보통 원인에 대한 결과를 알고 있지만, 우리가 알고 싶은 확률은 결과가 나왔을 때 결과의 원인에 대한 확률이기 때문에 베이즈 정리가 유용하다. (246쪽)


베이즈 정리가 강력한 이유가 바로 이것이다. 유아돌연사증후군이 영아살해 사건으로 둔갑했던 샐리 클라크 사건의 경우, 확률을 오해한 의사의 증언이 결정적인 역할을 했다. O. J. 심슨 사건의 경우도 마찬가지 오류가 법정을 지배했다. 베이즈 정리는 우리가 조금 더 침착하게 따져봐야 한다는 점을 일깨워주는데, 교훈의 핵심은 사건들이 대개 서로 연관되어 있다는 것, 즉 독립적이지 않다는 점이다.



그러므로 우리는 인생에서 언제나 해야만 하는 일, 즉 타협을 한다. 우리는 꼭 추정해야 하는 확률의 수를 일정한 범위 내로 줄이는 단순화 작업이 가능하도록 가정을 세운다. 매우 간단하고 인기 있는 가정은 원인에서 나오는 모든 결과가 서로 독립적이라고 여기는 것이다. (249쪽)



이 부분을 읽다가 내가 쓴 메모는 다음과 같다.



도대체 이게 말이 되는가? 이게 겨우 '타협'이란 말로 정당화될 일이라고 생각하냔 말이다.

베이즈주의자들의 주무기인 '나이브 베이즈 분류기'는 모든 사건을 독립적이라 가정한다. 모든 사건이 독립적인 경우, 확률 계산은 극단적으로 간단해진다. 그냥 곱하면 된다. 더 어이없는 일이 있다면, 이런 어이없는 '분류기'가 엄청나게 일을 잘한다는 점이다. 예컨대 스펨 메일 분류기의 대부분은 나이브 베이즈 분류기다.



사실 어떤 계산을 진행할 때, 우선 단순화한 모형을 계산하고 나서 나중에 단순화로 잘못된 부분을 고치는 식의 접근을 과학자들은 많이 사용한다. 예컨대 천체물리학에서 3체 문제는 속칭 '2와 1/2체' 문제로 접근한다. 즉 두 개의 천체와 하나의 티끌을 가정하는 것이다. 티끌은 나머지 두 천체의 중력에 영향은 받지만, 그들에게 영향을 주지는 못한다. 이언 스튜어트는 <우주를 계산하다>에서 이런 식의 근사법이 얼마나 유용한지를 설명하는데, 그럼에도 불구하고 작은 오차가 누적되어 사달을 일으킬 경우에 대해서도 경계를 늦추지 말아야 한다고 말한다.



***



마르코프 모형은 연쇄를 추적한다. 러시아의 대문호 푸쉬킨의 <예브게니 오네긴>에 나오는 단어 분석으로 시작한 이 모형은, 해당 위치에 무엇이 나타날지를 앞선 위치에 나타난 것들로부터 추정하는 모형이다. 예컨대 앞서 나온 단어들로부터 뒤에 나올 단어를 예측하는 것이다. 마르코프 모형은 구글의 검색 알고리즘인 페이지랭크는 물론 구글 번역이나 시리(Siri)에까지 쓰이는 다재다능한 도구다.



시리를 살펴보자. 시리가 수집하는 정보는 소리다. 그 소리들로부터 시리의 알고리즘은 단어를 추정한다. 그러나 단순히 소리만으로 단어를 추정하는 데는 장애물이 너무 많다. 사람들이 단어를 발음하는 방식은 그야말로 수없이 많은 데다, 일부 단어를 틀리게 발음했을 수도 있기 때문이다. 소리 입력이 '불러'인지 '불려'인지 불명확한 상황에서, 앞선 단어가 '경찰을'이었다는 단서가 더해지면 해당 단어는 '불러'일 확률이 훨씬 높아진다.



시리에 쓰이는 마르코프 모형은 은닉 마르코프 모형(HMM: Hidden Markov Model)이라 불리는데, 드러나는 어떤 것을 추측하는 것이 아니라 숨겨져 있는 것을 추측하기 때문이다. 시리의 경우, 드러나 있는 소리로부터 숨겨져 있는 단어를 추정한다. 그러나 마르코프 모형의 핵심인 연쇄 자체는 단어들의 연쇄다. 즉 관찰(소리)로부터 현상(단어)을 추론한다. 여기에는 두 가지 확률이 개입된다. 어떤 단어 뒤에 다른 단어가 나타날 확률, 그리고 어떤 단어가 어떤 소리로 나타날 확률이다. 결국 이것은 베이지언 모형이고, 우리는 어떤 상황에서든 사전 확률(보통은 1/n이다)을 가정하고 문제풀이에 곧바로 뛰어들 수 있다.



HMM은 사실 훨씬 더 자주 사용된다. 예컨대 휴대전화는 소리를 데이터 패킷으로 묶어 전달하는데, 날아가는 도중에 데이터는 변질된다. 데이터 비트의 일부가 소실되거나 잡음으로 대체될 수 있는 것이다. 따라서 날아온 데이터 비트를 다시 조합했을 때, '견찰'이라는 단어가 나왔다면 마르코프 연쇄를 통한 추정으로 원래 어떤 단어였는지 추정을 할 수 있게 된다.



나이브 베이즈 알고리즘에 화살표를 더하면 베이즈 네트워크가 된다. 선후 관계를 고려하는 것이다. 물론 이렇게 하는 것은 훨씬 복잡한 계산이 요구되므로 경제성을 따져야 한다. 그러나 선후관계를 따지는 것만으로도 나이브 베이즈 분류기의 치명적인 약점, 즉 '독립성 가정'이 야기하는 문제를 상당 부분 해결할 수 있다. 사례로 살펴보자.



한겨레 신문에 외계인이 쳐들어왔다는 기사가 실렸다. 이것만으로 외계인 침략이라는 사실을 받아들일 사람은 많지 않을 것이다. 우리들 대부분은 외계인 침략이라는 사건의 사전확률을 아마 0%에 가깝게 유지하고 있을 테니까 말이다. 그런데 조선일보에도 같은 기사가 실렸다면 얘기가 달라진다. 이어서 3개, 4개 신문이 같은 내용을 기사로 싣게 되면 우리는 사전확률을 수정해야 할 것 같은 느낌을 받는다. 그런데 5번째로 본 연합뉴스에도 외계인 침략이 속보로 나온다.



어느 한 언론사가 헛소리를 기사로 내보낼 확률을 50%라고 하자. 나이브 베이즈 분류기는 모든 사건이 독립적이라는 무지막지한 가정을 하고 확률을 곱한다. 따라서 처음에 한겨레가 외계인 침략을 보도했을 때 그것이 헛소리일 확률은 50%지만, 조선일보가 같은 기사를 내보내면 두 언론사가 동시에 헛소리를 할 확률은 50% * 50% = 25%로 줄어든다. 연합뉴스까지 5개 언론사가 같은 뉴스를 내보낸 상황에서 5개 언론사 모두가 헛소리를 했을 확률은 3.125%로 낮아진다. 다시 말해, 외계인 침략이 사실일 확률은 대략 97%에 달한다.



그런데 알고 보니 외계인 침략을 처음 보도한 것은 연합뉴스고, 나머지 언론사들은 연합에서 기사를 받아서 내보낸 것이었다고 가정해보자. 이 경우, 외계인 침략 보도는 명백하게 서로 연관된 사건이다. 즉, 독립사건이 아니다. 따라서 이 뉴스가 헛소리일 확률은 보도하는 언론사가 아무리 많아져도 50%에 머무르게 된다. 그러나 나이브 베이즈 분류기는 이런 상황을 처리할 수 없다. 모든 사건을 서로 독립이라 가정하기 때문이다.



베이즈 네트워크는 이런 경우를 처리할 수 있다. 베이즈 네트워크는 '논리적으로' 사건이 서로 연관되는 경우만을 고려하여 경우의 수를 크게 줄이는 방법론이다. 외계인 침공의 사례에서 50개의 언론사가 헛소리를 하는 경우를 모두 고려하려면 2^50이라는 천문학적 경우의 수를 모두 고려해야 하지만, 49개의 언론사가 연합뉴스를 받아 보도한다는 사실을 추가하면 연합뉴스가 과연 헛소리를 하는지 아닌지만 고려하면 되는 것이다.



그러나 세상 모든 일이 논리적인 것도 아니고 연관성에 관한 우리의 추정이 틀릴 수도 있다. 그래서 MCMC라는 무식한 방법이 등장했다. MCMC는 마르코프 연쇄 몬테 카를로(Markov Chain Monte Carlo)의 약자인데, 몬테 카를로는 별게 아니고 단순한 시나리오를 모든 경우의 수에 대해 돌려보는 것을 멋지게(?) 표현한 말에 불과하다. (재무학을 공부한 사람이라면 익숙할 것이다.) 앞의 사례를 다시 소환하자면, 50개의 언론사가 헛소리를 하는지 아닌지, 즉 2^50 = 약 1,126조


개의 경우를 모두 시뮬레이션해보는 것이다. (물론 마르코프 연쇄라는 요소가 있으므로 모든 경우의 수를 다 돌려보는 것은 아니지만, 아쉽게도 외계인 침공 사례에는 마르코프 연쇄 부분이 없으므로 넘어가자.) 아주 무식한 방법이지만, 어차피 단순 노동을 하는 것은 컴퓨터다. (실제로는 1,126조 개의 조합을 돌려보는 대신 랜덤한 조합 수천 개를 돌려보면 대략 답이 나온다.)



과학자들은 MCMC를 사용하여 힘든 계산은 컴퓨터에 맡기고 자신은 자유롭게 복잡한 모형을 만든다. (271쪽)




***



동전을 던져 어느 면이 나오는지로 뭔가를 결정하는 내기를 한다고 하자. 시험삼아 동전을 한 번 던졌더니 앞면이 나왔다. 빈도주의자에 의하면 동전을 던져 앞면이 나올 확률은 100%다. 그러나 베이즈주의자는 어떤 사전확률을 가정할 것이다. 한 차례의 시험 던지기에서 앞면이 나온 것으로 그는 사전확률을 보정할 수는 있겠지만 여전히 그것은 100%가 아닐 것이다. (처음에 사전확률을 100%로 정하지만 않았다면 말이다.)



빈도주의자는 뒷면이 나올 가능성을 완전히 배제하고 내기 전략을 짤 것이고, 그 결과는 그다지 유쾌하지 않을 것이다. 바로 이런 이유 때문에, 베이즈주의자의 머신러닝은 블랙 스완도 예측할 수 있다고 말하는 것이다. (물론 예측만 하고 대비는 하지 않을 수 있다. <데스노트>의 L처럼 죽어가면서 나는 틀리지 않았다고 위안하는 수준에 그칠 공산이 분명히 있다.)



저자에 따르면, 베이즈주의자들은 어느새 신경망 경연대회에서 연결주의자들을 몰아내버렸다. 앞서 말했듯이, 나이브 베이즈 분류기는 독립성 가정이라는 맹점에도 불구하고 척척 일을 잘해낸다. 현재 베이즈주의자들이 가장 선호하는 모형은 마르코프 네트워크다.



베이즈주의자들은 연결주의자들을 몰아내고 머신러닝의 상좌를 차지했지만, 곧 유추주의자들에게 밀려났다. 그리고 그 유추주의자들을 다시 밀어낸 것이 연결주의자들이라는 사실은 흥미롭다. 이제, 다음 글에서는 머신러닝의 다섯 번째 종족, 유추주의자들에 대해 알아보겠다. 모형을 만들기 위해 다수의 사례가 필요한 다른 종족들과 달리, 유추주의자의 머신러닝은 단 하나의 사례만으로도 학습을 할 수 있다.



베이즈주의자 데이비드 헤커만(David Heckerman)










매거진의 이전글 페드로 도밍고스의 머신러닝 쇼케이스 (4) 진화주의자
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari