정보 이론은 기계학습이나 자연어처리, 정보검색을 연구하는 사람에게 기본 소양처럼 여겨지는 분야입니다. 하지만 처음에는 정보를 계량적으로 측정한다는 발상 자체부터 와닿지 않았습니다. 지난 학기에 공부한 내용을 바탕으로 정보이론에 대한 직관적 이해를 돕는 글을 써 보려 합니다.

확률론이 불확실성에 대한 모델링과 이에 기반한 추론을 목표로 한다면, 정보이론은 불확실성을 평가하려 합니다. 정보이론의 ’정보’는 불확실성인 다름아닌 것입니다. 따라서 정보이론의 가장 기본적인 단위인 엔트로피(Entropy)의 계산에도 확률변수가 사용됩니다.

대부분의 대상이 확률변수로 모델링되는 위 분야에서 정보이론이 항상 사용되는 것은 놀라운 일이 아닙니다. 예를 들어 정보검색 분야에서는 문서와 질의어(query)를 확률변수로 모델링하고 이 모델간의 거리를 바탕으로 문서의 랭킹을 계산하는데, 이때 사용되는 척도(KL-Divergence)가 정보이론에서 제공됩니다.

좀더 구체적으로 알아봅시다. 확률변수 X의 불확실성을 나타내는 엔트로피는 다음 수식처럼 각 확률값에 로그를 취한 것의 기대값(즉, 확률값에 대한 가중 평균)으로 계산됩니다.

간단한 루비 프로그램으로 이를 알아봅시다. 아래 예에서 보듯 두가지 사건이 가능한 확률변수의 경우 각 사건의 발생 확률이 균일할수록 엔트로피는 커집니다. 이는 엔트로피를 불확실성으로 이해할 때, 사건간의 확률이 비슷할수록 예측하기 어렵다는 점과 통합니다.

>> [1,1].to_prob.h
=> 1.0
>> [1,5].to_prob.h
=> 0.650022421648354
>> [1,10].to_prob.h
=> 0.439496986921513
>> [1,100].to_prob.h
=> 0.0801360473312753
>>

또한, 표본공간을 잘게 쪼갤수록 엔트로피(불확실성)는 더 커집니다.

>> [1,1].to_prob.h
=> 1.0
>> [1,1,1,1].to_prob.h
=> 2.0
>> [1,1,1,1,1,1,1,1].to_prob.h
=> 3.0

엔트로피에 대한 연산

확률변수 여러개가 모여 연합확률분포(Joint Probability Distribution)를 형성하고 확률변수간에 조건부확률(Conditional Probability)를 정의할 수 있는 것처럼 연합 엔트로피나 조건부 엔트로피도 정의될 수 있으며, 이러한 값들에 대한 연산 법칙은 확률변수의 경우와 마찬가지로 적용됩니다.

상호 정보(Mutual Information)

개별 사건의 불확실성을 평가하다 보면 자연히 두 사건간의 관계에 관심이 가게 됩니다. 두 사건간의 의존성을 불확실성 관점에서 평가하는 것이 상호정보입니다. 즉, 사건 가 있을 때, 를 아는 것이 의 불확실성을 얼마나 낮추어주는지를 평가하는 겁니다.

이는 를 기준으로 다음처럼 기술할 수도 있습니다.

Cross Entropy & KL-Divergence

앞서 설명한 것처럼 현상을 확률번수로 모델링하다보면 필수적인 과정이 우리가 만든 모델을 실제 현상에 비추어 평가하는 것입니다. 즉, 우리가 만든 모델이 얼마나 대상에 부합하는지를 평가할 수 있어야 이를 개선시킬 수 있는데, 이때 척도로 사용되는 것이 KL-Divergence입니다. 앞서 설명한 정보검색 예제에서는 각 문서를 질의어로 상징되는 유저의 정보욕구(Information Needs) 대한 모델로 보고, 이에 부합하는 순서대로 랭킹을 계산하는 겁니다.

구체적으로 KL-Divergence는 우리가 모델링하려는 사건에 대한 확률변수 를 불완전한 모델 를 사용하여 표현하는 데 필요한 비트 수를 뜻하는 Cross Entropy에서 원래 사건의 의 엔트로피를 빼서 구합니다. 즉, 를 통한 모델링 작업이 얼마나 실제 사건의 불확실성을 증가시켰는지를 나타내는 것입니다.

앞서 설명한 상호정보 역시 KL-Divergence를 사용하여 표현될 수 있습니다. 아래 식을 보면 사건 의 연합확률분포 를 각 사건의 확률분포 의 곱으로 나타낼 때 더 필요한 비트의 수가 두 사건간의 상호정보라는 것을 알 수 있습니다.

다시 루비 예제를 봅시다. 두 사건간의 Cross Entropy는 아래처럼 두 사건의 확률분포가 비슷할수록 작다는 것을 알 수 있습니다.

>> [1,2,3].to_prob.h
=> 1.45914791702724
>> [1,2,3].to_prob.ch([1,2,3].to_prob)
=> 1.45914791702724
>> [1,2,3].to_prob.ch([3,2,1].to_prob)
=> 1.98746875060096
>> [1,2,3].to_prob.ch([10,2,1].to_prob)
=> 2.81345170232653

Reference

소스 코드

위 예제를 실행시키기 위해서는 다음 모듈을 Array에 Include하면 됩니다.

module Entropy
include Math
## Get probability distribution
def to_p()
collect{|e| e.to_f / sum}
end

## Entropy
def h
-inject(0){|sum,e| sum + e * log2(e) }
end

## Cross Entropy
def ch(a)
sum = 0 ; each_both(a){|p , q| sum += p * log2(q) } ; -sum
end

## KL-Divergence
def kld(a)
ch(a) - h()
end
end

좋아하는 일 지켜가기

유학생활 : 2007. 11. 3. 11:41   By LiFiDeA

7병역특례를 마치고 복학할 무렵 결심한 것이 있었으니, 좋아하는 일을 평생 하겠다는 것이었습니다. 마음이 끌리는 일은 놀랄만한 집중력으로 해내는 스스로를 발견하고, 하지만 대부분의 사람들이 자신의 마음보다는 눈에 보이는 조건을 위주로 평생의 업을 택한다는 현실을 목격한 후였습니다.

고민 끝에 평소의 관심사와 그동안의 경험, 그리고 앞으로의 전망을 고루 만족시키는 길을 발견할 수 있었고, 이를 좆아 미국에까지 왔습니다. 제가 발견한 것은 정보 욕구(Information Needs)를 만족시키고 나아가 인간의 잠재력을 최대한 끌어올리는 기반 기술 및 정보 시스템의 개발이었습니다. 그동안 꿈꿔오던 일을 더이상 바랄나위 없는 환경에서 할 수 있게 된다는 사실은 흥분 그 자체였습니다.

하지만 ‘사랑은 시작하는 것 보다 지키기가 어렵다’고 했던가요… 쉽지 않게 시작한 유학 생활은 시작부터 녹록치 않습니다. 익숙하고 편안한 것과 멀어져 낯선 것에 몸을 맡기는 적응기가 끝나고, 이곳에서의 일상에 다시 적응하기 시작할 무렵, 문득 초심과 멀어져가는 자신을 발견하고 몸서리치게 됩니다.

궁금한 것을 스스로 찾아가며 하나씩 깨우쳐가는 배움의 즐거움은 내일로 치르는 시험에 대한 걱정으로, 군더더기없이 잘 설계된 코드가 동작하는 것을 보는 희열은 연구 프로젝트 결과에 대한 부담으로 대체되어 갑니다. 놀이라 부르던 것이 일이 되고, 그 일이 쌓여 부담이 되고, 그 결과가 만족스럽지 못해 스스로의 능력에 대한 회의라도 찾아올때면 정말 집에가고 싶어집니다.

좋아하는 일을 직업으로 삼지 않는 것은 우아한 삶의 조건이다. – 시오노 나나미

예전에 책에서 이 구절을 읽고 강하게 부정하던 기억이 납니다. 좋아하는 일을 일을 하지 못한다면 성공해도 성공한게 아니라고 믿었던 저로서는 도저히 공감할 수 없었습니다. 하지만 좋아하는 일을 지켜가는 것이 이렇게 힘들다는 것을 알았다면 생각을 고쳐먹었을지도 모르겠습니다. 정녕 직업은 생계 수단으로, 그리고 인생의 의미는 그 밖에서 찾아야 하는 것인가요.

좀더 노력하려 합니다. 좋아하는 일을 열심히 하면 성공할 수 있다는 순진한 믿음을 버리지 않으려 합니다. 스스로 객관적인 성취보다는 내면의 만족을 중시하기에 가능하다고 봅니다. 단 이런 결과가 그냥 얻어지는 것이 아니라는 점은 뼈저리게 배우고 있습니다.

좋아하는 일도 ’일’입니다. 일은 자신, 그리고 다른 사람과의 약속입니다. 학자가 되는 일은 분명 취미로 책을 읽고 자료를 조사하는 것과 다른 결심을 필요로 합니다. 꾸준히 결과를 내고, 다른 사람의 기대치를 충족시켜야 합니다.

하지만, 이에 우선하는 것이 내면의 불꽃을 지키고 활활 타오르게 하는 것입니다. 학과 세미나에서 어떤 교수님이 동기(motivation)야말로 가장 희소한 자원이라고 말씀하시는 것을 듣고 공감했습니다. 대상에 대한 순전한 호기심, 진리 탐구에 대한 열의를 잃어버린 사람은 학문을 할 수 없습니다. 학문을 명예나 부를 위한 수단으로 전락시키는 것도 이런 사람들의 책임일 겁니다.

조용히 앉아 마음의 목소리에 귀를 기울이는 하루를 보내고 싶은 오후입니다.

'유학생활' 카테고리의 다른 글

모범생이 싫다  (1) 2008.01.03
유학생 살아남기  (0) 2007.11.03
UMass Amherst에 도착했습니다.  (0) 2007.09.13

유학생 살아남기

유학생활 : 2007. 11. 3. 11:40   By LiFiDeA

미국 생활 시작한지 이제 두달 남짓, 아직 어떤 판단을 내리기에도 충분치 않은 시간입니다. 하지만 유학 생활이 어떤 것인지, 그리고 어떻게 해야 후회없는 시간을 만들어갈 수 있을지 감이 조금씩 옵니다. 예전에 “xx는 xx야!”하고 선언하는 개그가 있었죠. 저도 한번 해 보렵니다.


유학 생활은 암벽 등반이야!

너무 비관적인가요? 그러나 상당히 애착이 가는 비유입니다. 둘다 상당한 결심이 없이는 시작하기 힘듭니다. 그리고 일단 시작하면 계속 가야 합니다. 중간에 기댈 곳도 없고 멈추는 것도 허용되지 않습니다. 하지만 일단 올라가면 상당한 성취감을 줍니다. 하지만, 성취감만으로 버티기에는 너무나 고되기에, 과정에서 즐거움을 발견해야 합니다. (올라가는게 목표라면 굳이 암벽을 택하지는 않겠죠 ;)

유학을 ‘암벽 등반’으로 생각하면 어떻게 임해야할지가 그려집니다. 우선 기본은 철저한 자기관리일 겁니다. 끝까지 무너지지 않고 꾸준히 갈 수 있도록 몸과 마음을 최상의 상태로 유지해야 합니다. 낯선 상황에 봉착해서도 흔들리지 않도록 평소에 꾸준한 준비를 통해 여유를 만들어야 합니다. 경험적으로 볼때 타국에서 혼자 겪는 어려움은 종류에 관계없이 두 배는 힘듭니다.

절제와 극기로 생활의 질서와 기본적인 여유가 확보된 다음에는 주변을 돌아볼 수 있을 것입니다. 이때 중요한 것은 개방된 마음을 갖고 먼저 다가가는(stepping forward) 것입니다. 단일 민족에 비교적 획일화된 가치관을 갖고 살아가는 우리나라 사람들에게 특히 어려운 일입니다만, 개인의 영역을 소중히하는 미국에서는 먼저 다가가지 않으면 아무도 자신에게 오지 않습니다. 그리고 고립된 상태에서 젊은 날의 몇년을 지내는 것은 그리 권할만한 일이 아니겠죠.

마지막으로 자신의 일에서 지속적인 의미와 즐거움을 발견하는 것이 필요할 것입니다. 사실 “자신이 원하는 일을 충분히 시간을 들여 할 수 있는 것”이 유학생의 특권 아니겠습니까. 하지만 지난 두달의 경험을 통해, 자신의 일에 대한 열정을 지켜가는 것이 얼마나 어려운 일임을 잘 알게 되었습니다. 하지만 연구자로서, 더구나 유학생으로서 이를 잃는다면 앞으로 나아갈 수도 없으며 모든 것이 너무나 허무해집니다. 제 2의 생명처럼 여기며 지켜나갈 일입니다.

쓰고 나니 사뭇 비장한 글이 되어버렸습니다. 하지만 이런 기본이 없이는 유학 생활의 낭만은 먼 이야기가 되지 않을까요.

'유학생활' 카테고리의 다른 글

좋아하는 일 지켜가기  (1) 2007.11.03
UMass Amherst에 도착했습니다.  (0) 2007.09.13
유학길에 오릅니다.  (3) 2007.08.26
학교를 결정하고 나서, 정보 검색(Information Retrieval – 이하 IR)을 연구하러 간다고 주변 분들께 말씀드렸을 때 생소하게 여기는 분들이 많으셨습니다. 공부를 시작한지 이제 50일, 머지 많은 IR수업 중간고사 대비 겸해서 배운 내용을 정리해 볼까 합니다.

IR은 사람들의 정보 욕구(Information Needs)를 충족시키는 것을 목표로 합니다. 하지만 이런 정의는 Computer Science의 대부분의 분야를 포괄하죠. 데이터베이스도, 네트워크도 따지고 보면 그렇지 않습니까. 좀더 구체적으로는 무형의(Unstructured) 텍스트 데이터에서 사람들이 원하는 정보를 찾는 기술을 연구한다고 보시면 됩니다. 정형화된(Structured)데이터를 다루는 데이터베이스, 그리고 학습을 통하여 주어진 작업에서의 성능 개선을 목표로 하는 기계 학습과는 구분됩니다.

하지만 이쯤에서 만족하지 못하는 분들이 계실 겁니다. 학문이라면, 그것도 Computer Science 관점에서는 객관적인 지표가 필요할텐데 ‘사람들의 욕구 충족’ 이라는 주관적이고 모호한 척도를 어떻게 측정하고 평가하나요? 제가 처음 가졌던 의문도 바로 그 점이었습니다.

해답은 의외로 간단했습니다. 결국은 사람이 평가하는 것이었습니다. 평가자가 주어진 검색 결과에서 어떤 문서가 자신의 정보 욕구와 관련있는지 아니면 무관한지를 알려주면, 이에 얼마나 근사한 결과를 냈는지를 가지고 검색 시스템을 평가합니다. 이때 사용되는 지표가 Precision, 및 Recall인데, 기본적으로는 검색 결과가 얼마나 정보 욕구를 정확히, 그리고 완전히 만족시키는지를 측정하는 것입니다.

이처럼 (사람도 하기 어려운) Mind-reading을 하는 시스템을 만든다는 점에서 IR을 주로 인공지능(Artificial Intelligence)의 분야로 분류하곤 합니다. 모호한 타겟을 갖고 있다는 점이 IR의 어려운 점이자 매력이기도 합니다. (정보 욕구 해소를 삶의 미션으로 삼는 저의 이념과 부합하는 부분이죠;)

얼핏 간단해 보이는 이 ’검색’이라는 문제를 풀기 위한 전혀 다른 (적어도)수십가지 방법이 존재하는 이유도 이와 무관하지 않나 합니다. 현재 많이 사용되는 Vector Space Model, 그리고 CIIR 에서 개발하였으며 최근에 널리 사용되는 Language Model 등이 대표적인 예입니다.

IR은 Computer Science가 아닌 정보과학(Information Science) 관점에서도 많이 연구되고 있으며, 텍스트 데이터를 다루는 관계로 자연어처리(Natural Language Processing), 그리고 최근에는 분류(classification), 군집회(clustering)등 기계학습(Machine Learning)분야의 기반 기술의 응용을 통한 성능 향상을 꾀하고 있기도 합니다. 물론 이 모든 것의 기본은 확률론, 통계, 수학입니다.

UMass Amherst에 도착했습니다.

유학생활 : 2007. 9. 13. 11:16   By LiFiDeA

한계 중량까지 우겨넣은 이민가방 두개와 캐리어를 끌고 호텔 방에 들어선게 엇그제 같은데, 벌써 이곳에 도착한지 20일이 되어 갑니다. 초반의 시차 문제, 모든 면에서 전혀 새루운 환경에 적응해 나가는 일은 매순간이 도전이었지만, 이제 ’안정’되었다는 느낌이 서서히 들기 시작합니다.

처음 이주간은 정말 제정신이 아니었던 것 같습니다. 어느날 골똘히 생각해보니 미국 생활, 가족과 떨어져 사는 기숙사 생활, 직업으로서의 대학원생, 전공으로서의 컴퓨터 과학 등등 저를 둘러싼 환경 중 바뀌지 않은 것이 별로 없었습니다. 혼자 빨래 한번 제대로 해본 적 없는 제가 무슨 생각으로 여기까지 왔는지 갑자기 궁금해지며, 그정도 정신을 차리고 있는 것도 다행이라고 새삼 생각했습니다.

어쨌든 이왕 이렇게 된 바에 스스로를 한번 푹 담가보자고 생각했습니다. 새로운 사람을 만나고, 새로운 곳에 가 보고, 기회를 만들어 예전에 해보지 못했던 것을 시도했습니다. 미국 학생들의 파티에도 가 보고, 그 어렵다는 냄비밥에도 도전해 시행착오 끝에 밥다운 밥을 만들었습니다. 그 결과 미국 생활에서 서로 힘이 되줄 사람들을 만날 수 있었고, 혼자 어떻게든 살아나갈 수 있겠다는 자신감을 얻었습니다.

학교 및 연구실 생활도 많은 부분이 결정되었습니다. 연구실의 Bruce Croft, James Allan교수님과 면담을 하여 저의 리서치 비전과 랩의 연구 주제의 접점을 논의하였고 첫학기 수업인 정보검색(Information Retrieval)과 자연어 처리(Natural Language Processing)도 들어보았습니다. 다행히 교수들께서는 제 연구 관심사에 대해 호의적이시며, 수업 역시 정말 충실합니다. 자연어 처리 수업은 특히 기계학습 정보 추출 (Information Extraction)분야의 대가급 연구자인 Andrew McCallum교수님의 강의라 들어갈 때마다 긴장과 흥분의 연속입니다.

예전에 일주일간 맛본 적은 있었지만, 미국이라는 환경에 대해서도 많은 생각을 했습니다. 하루종일 돌아다녀도 먼지하나 뭍지 않고 어디서나 수돗물을 틀어 마실 수 있는 꺠끗한 환경에, 전세계 방방곡곡에서 온 사람들이 나름의 방식을 지켜가면서도 서로 조화를 이루어 살아가는 모습이 참 대단하다는 생각이 듭니다. 특히 제가 있는 Amherst는 조용한 교외의 학교 타운이라 예전에 시애틀에서와 마찬가지로 미국 사회의 어두운 모습은 찾아보기 힘듭니다.

마주치는 미국 사람들도 활기차고 친근한 모습입니다. 특히 한국과 달리 학교, 가게, 식당 등 어디가나 마주치는 스텝들의 친절은 인상적입니다. 모든 사람들이 진정 자신의 일에 만족하고, 그 일을 통해 세상에 기여하겠다는 생각을 하는 듯 합니다. 연구실에 같이 들어온 동료(대부분 석사 졸업생)가 여섯 명이나 되어 많이 배울 수 있을 것 같다는 느낌입니다.

다시 찾은 안정과 편안함이 나태와 향락으로 이어지지 않게 하려고 합니다. 너무 많은 일, 복잡한 생활에 어떤 일에도 집중할 수 없었던 한국에서의 시행착오를 되풀이하지 않으려고 합니다. 먹는 일을 제외하고는 물건 구입도 최소한으로 하고, 유희만을 목적으로 하는 활동도 자제하려 합니다. 핸드폰, 차, TV 등은 당분간 없이 지낼 생각입니다. 지금 제 책상에는 소로우와 스콧 니어링의 책이 꽃혀 있습니다.

주어진 여건에 만족하고, 순간순간 후회를 남기지 않도록 최선을 다하는 것이 저를 아껴주시고, 이끌어주신 많은 분들의 기대에 부응하는 길이라는 것을 잘 알고 있습니다.

처음 마음 지켜가며 최선을 다하겠습니다.

'유학생활' 카테고리의 다른 글

유학생 살아남기  (0) 2007.11.03
유학길에 오릅니다.  (3) 2007.08.26
University of Massachusetts, Amherst (UMass)로 진학합니다.  (9) 2007.03.31

유학길에 오릅니다.

유학생활 : 2007. 8. 26. 22:13   By LiFiDeA

연구실 일을 대강 마치고, 고마운 분들께 인사를 드린 후에 보스턴으로 향하는 비행기에 올랐습니다. 유학 결심후 1년 반, 이제 드디어 원하는 공부를 시작하게 된다는 생각, 전혀 다른 환경에 내던져진다는 생각 등이 복잡하게 교차하는 심경이었습니다. 한참 꿈에 부풀다가도 앞으로의 일은 참 막막했습니다.

'내가 도대체 무슨 짓을 한거지?'

이렇게 되뇌이기를 몇 번, 하지만 돌아가는 다리를 불사른 지금은 두려움과 불안함보다 빨리 전진하는 것 이외에는 별 수 없습니다. 삶의 새로운 장을 열었으니, 더 나은 역사를 써야 합니다. 새 출발에 대한 각오를 적어봅니다.


  • 껍데기보다 알맹이 : '유학 준비기'에서 밝혔지만, 저는 배우고 찾아내는 즐거움을 느끼고, 이를 통해 다른 사람에게 도움을 주자는 생각에서 여기 왔습니다. 이런 생각을 갖고 출발하지 않은 유학생은 별로 없겠지만, 수많은 시련과 좌절에 봉착해서도 초심을 간직하는 사람은 많지 않을 겁니다. 눈에 보이는 논문 수나 학위에 집착하기보다 항상 처음의 순수한 마음에 비추어 부끄럽지 않은 길을 가려 합니다.
  • 넓이보다 깊이 : 그동안 저를 괴롭혀 왔던 것중 하나는 '어떤 일에도 충분한 관심을 쏟을 수 없을 만큼 많은 것에 손을 댔다'는 것입니다. 일 뿐만 아니라 인간관계에 있어서도 이런 경향은 정서적인 불안과 함께 제가 한 인간으로서의 깊이를 갖는 데에 장애가 되어 왔습니다.
    예전에 'The ability to focus is directly proportionate to the ability to unfocus.' 라는 말을 읽었는데, 집중력의 총량이 제한되어 있지는 않겠으나, 머리속에 적은 수의 일만 남기는 것이 집중력을 최대한 끌어내기 위한 전제조건임은 분명합니다. 이렇게 관심을 분산시키다 보면 어떤 일에서도 최고 수준의 결과물을 내기는 어려우며, 스스로의 능력도 기껏해야 제자리에 머물게 됩니다.
    기계화 및 정보화로 대량 생산이나 복제가 용이한 환경에서, '그저 그런 결과물'은 거의 가치를 갖지 못합니다. 유학생으로서 일이든 인간관계든 그 폭은 제한되기 마련입니다. 신중하게 고른 일에 최선을 다하려고 합니다.
  • 객관적 가치보다 주관적 가치 : 함께 사는 세상에서 다른 사람에 대한 배려는 필수적이나, 자신보다 다른 사람의 가치에 맞추려는 모습을 자주 보게 됩니다. 한국에서도 저는 주변의 시선을 의식하기보다 스스로에게 더 맞는 길을 찾으려 애썼지만, 쉽지 않았던 것이 사실입니다.
    하지만 무언가 만들어내는 것을 업으로 삼는 연구자로서 스스로 생각하고 행동하는 능력은 이미 선택사항이 아니기에, 모든 일에 있어 순응과 수용보다는 정말 '나 다운 것', '내게 어울리는 것'이 무엇인지를 항상 생각하려 합니다.
환 경이 인간을 만든다고 하지만, 주어진 환경에 스스로의 방식으로 적응하고, 최대한의 가치를 끌어내는 일은 가장 창조적인 작업입니다. 환경과 갈등을 빛거나, 반대로 이에 동화되어 자기 색깔을 잃는 것은 둘다 답이 아닐 겁니다. 미국이 제공하는 '기회'는 순간순간 깨어 있는 자에게만 포착되는 것임을 믿습니다.

스스로의, 그리고 고마운 분들의 기대를 져버리지 않으려고 합니다.


왜 선형대수인가?

확률/통계 책을 잡고 반쯤 읽다보면 어느 페이지를 펴도 나와서 저를 괴롭히는 존재가 있었으니, 바로 행렬과 벡터였습니다. 처음에는 고등학교때 배운 (얼마 남지 않은) 수학 실력으로 어떻게 해 보려다가, 앞으로의 공부를 제대로 하려면 선형대수를 산수하듯이 할 수 있어야 한다고 느꼈기에, 선형대수 책을 다시 사서 공부해야 한다는 결론에 도달했습니다. '다시 배우는 확률론 - 확률 과정'편을 제대로 쓰기 위해서는 선형대수를 알아야 하는 사정도 있었습니다. 그도 그럴것이 실제 세계의 문제를 수학적으로 모델링하다보면 한두개의 숫자로는 어림도 없고, 대개는 여러 수의 집합(벡터)나 벡터의 집합(행렬)을 사용해야 하기 때문입니다. 또한 선형대수의 중심 주제가 백터와 행렬의 연산이다 보니 자연스럽게 선형대수는 현대 과학 및 공학의 기본이 되는 것입니다.

대수(Algebra)가 수를 다루듯 선형대수(Linear Algebra)는 선형 시스템의 기본 요소인 벡터와 행렬의 특성 및 그들간의 관계 및 연산을 다룹니다. 선형 시스템을 다룬다지만 실제로 대부분의 비선형 시스템이 선형으로 근사될 수 있기 때문에 선형대수의 활용범위는 훨씬 넓습니다. 모든 공학분야에 걸쳐 사용되는 매트랩(MatLab)의 기본 자료구조(Data Structure)가 행렬(벡터 역시 행렬로 표현)이 된것은 우연이 아닙니다.

이처럼 쓸모가 많은 (사실, 모르고서는 아무것도 할 수 없는) 선형대수이지만, 막상 학교에서는 이유도 모른채 수많은 정의와 정리를 암기하고 이를 바탕으로 기계적인 문제풀이 요령을 암기하는 교육(고문?)이 이루어지는 것이 대부분입니다. 왜 배워야 하는지를 모르니 동기부여가 안되고, 추상적인 설명만 들으니 감이 오지 않습니다. 원리를 알아야 방법을 이해할 수 있을텐데 이것이 안되니 무작정 외워야 합니다. 공학 교육에서 수학을 가르치는 목적은 사건과 현상을 바라보는 수학적 직관을 키워주기 위함일진데, 그자리에 공포와 회의가 들어섭니다. (저는 효과적인 교육을 위해서 Why - What - How가 결합되어야 한다고 봅니다.)

저도 학부 3학년때 선형대수를 분명 수강했지만 그 당시 왜 이것을 배워야 하는지 몰랐으며, 최근에 다시 책을 보았을때 한가지도 제대로 기억이 나지 않는 아픔을 겪었습니다. 하지만 선형대수가 정보검색 및 머신러닝 이론의 대부분의 근간이 되는 탓에 물러설 수도, 돌아갈 수도 없었기에 좋은 교재와 자료부터 수소문하여 처음부터 다시 공부했습니다. 막히는 곳도, 시행착오도 많이 겪었으나 벡터와 행렬의 세계가 조금은 눈에 들어오는 느낌이었습니다.

앞으로 몇회에 걸쳐 선형대수를 다루려 합니다. 어깨에 힘이 잔뜩 들어간 기존 자료와는 달리, 지난번 확률론과 마찬가지로 실용적 관점에서 수학적 직관 배양을 목표로 합니다. 다행인 것은 선형대수의 개념 대부분이 우리에게 친숙하다는 점입니다. 대수(Algebra)를 확장하다보니 선형대수는 마치 행렬과 벡터에 대한 산수와 같습니다. 기본적인 가감승제 연산은 행렬과 백터에 대해서도 그대로 존재하고, 수의 닫힌집합은 벡터 공간(Vector Space)의 개념에 대응되며, 절대값은 행렬값(Determinant)에, 양수는 양정치(Positive-definite Matrix)에 대응됩니다.

선형대수를 공부하면서 느낀점은 참으로 '아름다운' 학문이라는 겁니다. '공부가 힘들어서 살짝 맛이 갔구나'고 생각하시겠지만, 여러분도 예전에 공부를 하며 어떤 복잡한 현상이 단순하게 설명될 때 표현하기 힘든 희열을 맛보신 적이 있을 겁니다. 마치 매우 정교한 기계가 한치의 오차도 없이 동작하는 식으로, 선형대수에는 이처럼 '뭔가 맞아 들어가는' 느낌을 주는 무언가가 있습니다. 모든 현상의 이면에 이런 질서가 숨어있다니, 신은 진정 존재하나 봅니다. 선형대수의 세계로 오신 것을 환영합니다!

(공부하면서 쓰는 내용이다보니, 부정확한 내용이 있을 수 있습니다. 발견하시는 대로 알려주시면 감사하겠습니다.)

선형(Linear)이란?

앞에서 대수는 산수라고 밝혔는데, '선형'이라는 말이 궁금하실 겁니다. '선형'이라는 말은 다양한 의미를 지니나, 선형대수에서는 어떤 대상의 요소 각각에 대해(piecewise) 연산을 수행하여 조합하면 전체적인 결과가 나온다고 이해하시면 될 것 같습니다. 별 것 아닌듯 하지만 이처럼 전체를 부분으로 우아하게 쪼갤 수 있는 특성은 복잡도를 극명하게 낮추고 이에 따라 결과를 예측할 수 있게 합니다. 공학에서의 선형성이 어떤 시스템에서 입력에 대응하는 출력이 나온다는 의미로 사용되는 것은 이와 무관하지 많습니다. 사실 선형대수는 벡터 및 행렬에 대해 배우는 것으로 이해하셔도 되는데, 이들이 선형성을 갖기에 선형대수라는 표현을 쓰는 것 같습니다.

Vector & Matrix

벡터행렬을 모른다고 생각하는 분은 별로 없을 겁니다. 하지만 우리가 일상생활에서 항상 벡터와 행렬을 접한다는 점을 인식하는 분은 많지 않습니다. 이는 벡터의 정의가 대부분의 자료에서 '방향과 크기를 갖는 물리량'으로 되어있는 것과 무관하지 않습니다. 물론 맞는 이야기지만 여기서는 벡터를 일정한 순서를 갖는 수의 집합으로 봅시다. 그러면 우리가 하루에도 수없이 벡터를 접한다는 말에 공감하실 겁니다. 이번달 쓴 용돈의 항목별 지출 상황, 내가 산 주식들의 오늘 종가, 우리 가족의 오늘 기상시각 등이 모두 벡터로 표현가능한 것입니다.

벡터를 이렇게 정의하면 크기 및 방향도 생각해 볼 수 있습니다. 앞서 살펴본 용돈 벡터(과자:1000원, 책:2000원)를 보면 용돈은 얼마만큼, 어떤 방향으로 쓰는지가 나옵니다. 100명의 학생에 대해 과자와 책 지출액을 조사하여 각각을 X,Y축으로 갖는 평면에 나타내보면 요즘 학생의 용돈 사용의 경향이 나타날 것입니다. 이처럼 벡터는 우리 생활 가까이 있습니다.

벡터는 쉬운데 행렬은 어렵다고 하는 분이 많습니다. 행렬은 단지 벡터를 굴비 엮듯이 여러 개 붙인 것입니다. 붙여서 된 결과물이 사각형이기에, 이를 가로(행 - row) 및 세로(열 - column) 벡터의 배열로 볼 수 있습니다. 이처럼 행렬을 벡터의 배열로 보는 관점은 매우 중요한데, 행렬에 대한 모든 연산이 벡터 연산의 조합으로 환원될 수 있으며, 이것이 선형대수를 이해하는 열쇠가 되기 때문입니다. 반대로 벡터는 행/열 방향의 원소가 하나인 행렬의 특수한 형태로 볼 수 있기에, 실제 컴퓨터 프로그램으로는 벡터를 따로 구현하지 않는 경우도 많습니다.

Inner Product(내적) & Matrix Multiplication(행렬 곱)

'수'를 알아보았으니, 이제 연산을 알아봅시다. 덧샘 뺄샘은 행렬이나 벡터나 각 요소끼리 하면 됩니다. (여기서 선형성이 드러납니다.) 곱샘은 좀 다른데, 벡터의 경우 요소끼리 곱하여 그 결과를 더합니다. 즉, 벡터 A(a,b,c)와 B(d,e,f)의 곱은 (a,b,c)*(d,e,f)=ad+be+cf가 됩니다. 즉, 벡터끼리 곱한 결과는 '내적'이라고 불리는 수이며, 이는 기하학적으로 A, B벡터 각각의 크기에 A와 B사이의 각도K의 코사인 값의 곱 - |A||B|cos(K) - 이 됩니다. 따라서 벡터의 곱은 각 벡터의 크기 및 두 벡터 방향의 유사성에 비례합니다. (90도의 코사인 값이 0이므로, 직각을 이루는 두 벡터의 곱은 0이 됩니다.) 이 모두가 곱샘에 대한 직관적인 이해와 일치합니다.

행렬의 곱샘은 어렵게 느끼는 경우가 많습니다만 벡터의 곱으로 풀어보면 간단합니다. 오른쪽 그림과 같이 행렬 A와 B를 곱할때 A를 가로방향, B를 세로방향으로 쪼개 요소끼리 곱한다고 기억하실 텐데, 이를 다른말로 하면 A행렬의 행백터와 B행렬의 열백터의 곱(내적)이 됩니다.




첫 연재를 마치며...

공대생이면서도 수학에 대한 막연한 두려움을 떨쳐버리기는 쉽지 않았습니다. 하지만 나이들어 혼자 다시 공부를 하며, 수학이 원래 그런 것이라기보다는 그동안 우리가 수학을 그렇게 보도록 길들여지지 않았나하는 생각을 했습니다. 이제 막 학문의 길에 들어선 사람으로서 학문이 현실과 유리되는 것이 안타까웠습니다. 이 글만으로 선형대수 공부를 끝낼수는 없겠으나, 수학에 대한 거부감과 불편함을 조금이나마 덜어줄 수 있기를 기원해봅니다.

다음 번에는 벡터와 행렬의 생활 터전이라고 할 수 있는 벡터 공간에 대해 알아보도록 하겠습니다.

참고자료

(선형대수 교재와 참고자료 목록입니다.)
Introduction to Linear Algebra - TextBook Homepage
MIT Course 18.06: Linear Algebra (Spring 2007)
http://en.wikipedia.org/wiki/Linear_algebra

벡터 & 행렬

http://ko.wikipedia.org/wiki/벡터_공간

지난회까지 확률의 기본 개념확률과 관련하여 범하기 쉬운 오류에 대해 알아보았습니다. 이번에는 확률 지식을 실전에 응용하는데 기본이 되는 확률분포를 알아보겠습니다. 확률의 개념을 이해하면 됬지 왜 여러 종류의 확률분포를 또 공부해야 되냐구요?

이렇게 생각해봅시다. 객체지향 설계에서 복잡한 요구사항을 디자인 패턴의 조합으로 해결하듯이, 확률분포는 복잡한 실제 현상을 단순한 확률모형의 조합으로 이해하기 위한 도구입니다. 현상을 확률적인 특성에 따라 몇 가지로 구분하고 각각에 대해 필요한 값(확률분포함수, 평균, 분산 등)을 미리 계산해 놓았으니 고맙기 이를데 없습니다.

복잡한 현상을 확률분포 몇가지의 조합으로 분석할 수 있다는 사실도 놀랍거니와, 임의의 확률분포에서 추출한 표본이 정규분포를 따른다는 신비로운 특성도 보입니다.

이항분포(Binomial Distribution)

가장 단순한 확률분포로, 앞면이 p의 확률로 나오는 동전을 N번 던졌을 때 나오는 앞면의 개수가 이루는 확률분포입니다. 앞면 혹은 뒷면으로 결과를 구분할때와는 달리 결과가 숫자이므로, 이를 좌표평면에 표시할 수 있습니다. 기본 조건인 동전의 성질(p)와 시행 횟수만 알면 평균은 Np, 분산은 Np(1-p)로 구해집니다.

포아송분포(Poisson Distribution)

시간당 5명의 손님이 오는 가게에서 일한다고 생각해 봅시다. 바로 이 순간에 손님이 도착할 확률은 0에 가까우나, 순간이 무한히 모여 이루어지는 기간(1시간)에 대해서는 일정한 확률(5명)이 정의됩니다. 이를 표현하는 확률분포가 포아송분포로서, 앞서 살펴본 이항분포에서 성공률이 극히 작은(p->0) 대신 시행횟수가 매우 큰(N->무한대) 경우라고 생각하면 편합니다.

실제 시/공간에서 벌어지는 일은 대부분 여기에 해당되기에, 포아송분포는 쓸모가 많습니다. 예를 들어 일정한 횟수와 분포로 발생하는 사건을 다루는 대기행렬 이론(Queueing Theory)의 기초가 되기도 합니다. 큐잉 이론은 다음 회에서 다시 다루도록 하겠습니다.


k : 사건의 실제 발생 횟수
λ : 단위 기간동안 예상 발생 횟수
 
위와 같은 포아송분포를 k를 x축으로 갖는 확률분포 그래프로 그리면 위와 같습니다. 그림에서처럼 λ가 4인 경우 4에서 가장 높은 확률을 보입니다. (기간 당 예상 발생 횟수가 4이니 당연합니다.)

지수분포(Exponential Distribution)

  사건의 발생 확률이 지수적(exponential)으로 감소하는 분포를 지수분포라고 합니다. 예컨데 단위 길이를 뚫을 확률(강성)이  λ인 금속판을 어떤 입자가 a보다 깊게 뚫는 사건을 생각해봅시다. 이를 두께가 1/n으로 무한히 얇은 금속판을 n*a번 뚫는 사건으로 볼 수 있으며, 이에 따른 확률분포는 아래와 같습니다.


지수분포는 무기억성(Memoryless)이라는 고유의 특성을 갖는데, 이는 과거의 사건이 미래에 영향을 끼치지 못한다는 의미입니다. 예를들어 전구가 켜져있는 시간이 지수분포에 따른다면, 10(s)시간동안 켜져있던 전구가 11(s+t)시까지 켜져있을 확률이 새 전구가 1(t)시간 켜져있을 확률과 같다는 뜻입니다. 이를 식으로 정리하면 아래와 같습니다.
 
이 성질은 지수분포가 다양한 현상을 모델링하는데 사용되는 이유가 되니, 잘 알아둡시다.


정규분포와 중심극한정리(Central Limit Theorem)

이공계 대학생이라면 누구나 배우는 것이 중심극한정리입니다. 요약하면 임의의 서로 독립적인 확률분포(모분포)에서 추출된 값들의 합(표본 평균)은 원래 모분포의 종류와 관계없이 정규분포를 이룬다는 겁니다. 다음 웹페이지에는 다양한 모분포에 대해 표본 평균이 정규분포가 됨을 애니메이션으로 보입니다. 이때 정규분포의 평균은 모분포의 평균과 동일하나, 분산은 모분포의 분산을 추출한 횟수(표본 크기)로 나눈 값입니다. (여러번 추출하여 평균한 값에 대한 분포이니 당연히 분산이 줄어들게 됩니다.)

중심극한정리를 모집단과 표본집단의 관계를 설명하는 것으로 이해할 수 있는데, 모집단을 모두 조사하기 힘든 경우 표본 조사를 수행하고 이를 통해 모집단의 평균 및 분산을 역으로 추정할 수 있는 것입니다.

중심극한정리를 이해하면 정규분포가 왜 그렇게 광범위하게 나타나며, 또한 활용되는지 알 수 있습니다. 많은 현상이 단일 확률분포를 따른다기보다 확률분포에서 추출된 여러 값의 합으로 묘사될 수 있는데, 이 합은 어김없이 정규분포를 따르기 때문입니다. 따라서 자연계의 현상(예:신호의 노이즈) 분석 및 표본추출에 근거한 사회현상 분석에는 대부분 정규분포가 사용됩니다.

참고자료

강의자료

통계 정보 홈페이지 (전북대 통계정보학과 / 친절한 설명이 인상적입니다.)
확률론과 확률분포
표본이론과 중심극한이론

확률분포
http://en.wikipedia.org/wiki/Probability_distribution
http://en.wikipedia.org/wiki/Binomial_distribution
http://en.wikipedia.org/wikiPoisson_distribution
http://en.wikipedia.org/wiki/Exponential_distribution


중심극한정리
http://en.wikipedia.org/wiki/Illustration_of_the_central_limit_theorem
http://en.wikipedia.org/wiki/Concrete_illustration_of_the_central_limit_theorem
중심극한정리 컴퓨터 시뮬레이션

(모든 그림은 위키피디아에서 차용하였습니다.)

교과서를 가지고 씨름하다 혹시나 해서 도서관에 가 보았는데, 역시 쓸만한 책이 많더군요. 교과서보다 훨씬 생생한 사례를 가지고 알기쉽게 설명한 책을 찾았습니다. 지난 시간에 소개한 '통계는 성공의 나침반'이라는 책을 추천합니다. 다음 구절이 인상적이어서 옮겨 보았습니다.
"인간의 두뇌는 확률문제를 푸는 데 별로 적합하지 않다." - 책 '확률의 함정'에서
위 말처럼 인간의 사고 및 판단의 대부분을 차지하는 휴리스틱(Heuristic)은 오류투성이여서, 정신이 온전한 상태에서도 수많은 실수를 범하게 됩니다. 오늘은 확률과 관련하여 자주 범하는 오류를 살펴보도록 합시다.


부분의 합은 전체가 아니다? - 심슨의 역설


직관과 어긋나는 사례로 자주 언급되는 것이 '심슨의 역설(Simpson's Paradox)'입니다. 이는 발견자인 에드워드 심슨 박사의 이름을 딴 것으로, 통계 조사에서 부분적인 결과와 이를 합친 전체의 결과가 어긋나는 결과나 종종 관찰된다는 점을 지적합니다. 다음 기사는 어떤 대학의 남학생 합격률이 더 높았는데, 단과대별로는 여학생의 합격률이 높다는 모순적인 현상을 다룬 것입니다. 원인은 남학생은 대부분 합격률이 높은 단과대에 지원했으며, 여학생은 그 반대이기 때문입니다. 전체 합격자 비율은 단대별 합격률의 단순 평균이 아니라 전체 합격자 수를 전체 지원자 수로 나눈 것이므로, 합격자 절대수가 많으면 합격률이 높아지는 겁니다.

어떤 블로그에는 이를 빌어 한의학과 서양 의학을 비교하는 사례가 있군요. 과학자가 아니더라도 직관을 맹신하는 것은 위험합니다.

암검사 결과를 믿을 수 없다? - 베이즈 룰

많은 기계학습 이론의 기초가 되는 베이즈 규칙(Bayes' Rule)도 직관의 함정을 피하도록 도와줍니다. 다음 웹페이지는 어떤 암 발병확률이 1%이고, 발병자 80%가 양성 반응을, 비 발병자 9.6%가 양성 반응을 보이는 암검사에서 양성판정을 받은 환자가 암을 가졌을 확률이 몇%인지 묻고 있습니다. 실제 의사들에게 질문을 했을때도 대부분이 80%로 대답했다고 합니다만, 위 페이지의 계산결과를 보면 실제 확률은 7.8%라고 합니다. 이처럼 베이즈 규칙은 결과적인 사건(암검사)이 주어졌을 때 원인이 되는 사건의 확률을 추론할 수 있는 수단을 제공한다는 데 의의가 있습니다.

베이즈 규칙에서는 아래 식처럼 사건의 원래 발생확률(A - prior)과 그 사건이 발생을 가정할때 현상이 나타날 조건부 확률(B|A likelihood - 해당 사건이 현상을 설명하는 정도)를 곱해서, 현상이 주어졌을때 예측하고자 하는 사건의 발생 확률(A|B posterior)을 계산합니다. 앞의 사례로 돌아가면, 암(사건)의 발병확률이 1%로 워낙 낮기 때문에, 양성판정(현상)으로 높아진 확률도 7.8%에 머무는 것입니다.

        

기계학습의 주제인 분류(classification)작업에서는 현상에 대한 학습자의 가설(hypothesis)이 사용되기에,  주어진 현상(B)을 가장 잘 설명하는 가설(A)을 찾는데 베이즈 규칙을 사용합니다. 베이즈 룰을 사용한 스팸 필터를 생각해보면 메일에 포함된 단어(B)를 종합하여 스펨인지 아닌지(A)를 판단해 내는 것입니다.

마치며

베이즈 규칙은 기계학습 알고리즘 대부분의 이론적 기초를 제공하는 중요한 이론이지만 그 함의를 완전히 이해하는 것은 쉬운 일이 아닙니다. 제 이해가 부족한 모양인지, 이 부분을 보통 대학생이 이해할 수 있을 정도로 설명했다는 확신이 서지 않네요. 공부를 더 쌓으며 보충하도록 하겠습니다. 다음에는 확률 분포를 다룰까 합니다.

참고자료

심프슨의 역설

심프슨의 역설 관련 기사

http://en.wikipedia.org/wiki/Simpson's_paradox


베이즈룰

http://en.wikipedia.org/wiki/Bayes_rule

An Intuitive Explanation of Bayesian Reasoning

학문 연구는 결국 현실 세계의 문제를 푸는데 그 목적이 있을진데, 대부분 사람에게는 멀게만 느껴집니다. 지식 자체의 복잡성보다도 이를 전달하는 방식에 대한 고민이 부족하지 않았나 합니다. 교과서는 딱딱한데다 현재 추세에는 한참 뒤쳐지며, 신선한 연구결과를 담은 논문은 그 분야 전문가 몇몇을 제외하고는 읽어볼 엄두조차 못내는 것이 우리의 현실입니다.

운영 계획에서 밝힌 대로 이론적 지식을 대중의 눈높이에 맞추어 소개하려고 합니다. 학문적 엄밀함보다는 활용가능성에 초점을 맞추어, 상식보다 한걸음 나아가는 앎의 전달을 목표로 합니다. 쉽게 설명하기 위해서는 제대로 알아야 하므로, 저의 공부에도 도움이 되지 않을까 합니다.

첫번째로 확률론을 다루겠습니다. 고등학교 졸업한지 몇년이상 되신 분들은 거의 기억나지 않으시겠으나, 확률론은 생각보다 쓸모가 많습니다. 세상 대부분이 비결정적인 확률적 현상이기에, 확률에 대한 지식은 좀더 정확한 예측 및 판단을 가능케하며, 자칫 범하기 쉬운 오류도 막아줍니다. 좀더 섬세하고 정확한 직관을 주는 것입니다.

또한 확률론은 많은 학문의 기초가 됩니다. 기계학습(Machine Learning)은 확률론을 계산모델로 표현한 것이며, 자연어처리(Natural Language Processing) 및 정보검색(Information Retrieval)분야에서도 최근에는 확률론을 적용하여 정확도를 높이고, 예외 상황에 강한 이론 및 시스템을 만들고 있습니다.

확률을 아십니까

자주 쓰는 용어의 엄밀한 정의를 내리기 힘든 경우가 많은데, '확률'도 만만한 개념은 아닙니다. 확률은 결국 정보의 정확성에 대한 개념일진데 최근에 읽은 책에서는 이를 다음과 같이 구분합니다.

  1. 확실 : 결과가 결정된 경우
  2. 리스크 : 결과의 종류 및 각각의 확률을 아는 경우
  3. 불확실 : 결과의 종류 혹은 각각의 확률이 불확실한 경우
  4. 무지 : 결과에 대해 전혀 모르는 경우

실제로 사용되는 확률은 2, 3번의 정의를 포괄합니다. 또한 2번에서 언급된 '앎'의 객관성에 따라 객관적 / 주관적 확률로 구분되기도 합니다. 이중 '객관적 확률'은 주사위의 각 면이 나올 확률처럼 실험에 의해 검증가능한 것이며, '주관적 확률'은 내가 이번학기에 여자친구를 사귈 확률처럼 현상에 대한 개인의 확신의 정도를 나타냅니다. 이는 당연히 같은 현상에 대해 사람마다 다를 수 있습니다.

여기서 '직접 실험해볼 수 없는 확률은 모두 주관적이란 말이냐'는 의심을 가지실 수 있습니다. 만약 그렇다면 확률 공부하는 사람은 앉아서 숫자 세는 것 이외에는 할 일이 없겠지만 그렇지는 않습니다. 실제로는 알려진 사건에 법칙을 적용하여 알려지지 않은 사건의 확률을 추론해낼 수 있으며, 이렇게 구한 확률을 '논리적 확률'이라고 합니다. 이는 실제로 객관화될 수 있는 값이나, 검증되지 않았다는 측면에서는 객관적 확률은 아닌 듯 합니다.

확률론의 세계관

다른 학문이 그렇듯이 확률론에서도 세계를 바라보는 고유한 관점을 갖습니다.  확률론의 세계는 발생가능한 모든 사건을 포함하는 '표본공간'(Sample Space)입니다. 표본공간이 사건 전체의 집합이라면 '사건'은 표본공간의 부분집합이며, 각각 고유의 발생 가능성 - '확률' - 을 가집니다. 확률론에서 가장 많이 사용되는 동전 던지기를 생각해봅시다. 여기서 표본공간은 앞면과 뒷면이며, 보통 동전이라면 앞면 혹은 뒷면이 나올 확률이 각각 1/2입니다. 표본공간 전체의 확률은 1이겠죠.

너무 시시하다구요? 하지만 옛부터 튼튼한 개념이 학습의 지름길이라고 했습니다. 확률론의 다른 개념은 모두 여기에서 파생되며, 좀더 복잡한 현상을 확률론으로 설명하다보면 표본공간과 사건의 개념이 흔들리기 일쑤입니다. 동전을 N번 던져 앞면이 나오는 횟수를 조사할 경우 표본공간은 무엇일까요? 서로 구별가능한 동전을 N개 같이 던질때는 어떻게 될까요?

사건간의 관계

표본공간과 사건을 정의한 후에 생각해볼 것이 사건 간의 관계입니다. 예방접종을 맞으면 질병에 걸릴 확률이 낮아지는 것처럼 사건 간에는 다양한 의존관계가 존재합니다. 여기서 조건부 확률의 개념이 등장합니다. 특정 사건 B(조건)의 발생 여부가 원래 사건 A의 발생 확률에 영향을 끼치는 것입니다. B의 발생을 아는 상태에서의 확률은 원래 알던 A의 확률 P(A)와 구분지어 P(A|B)로 표시합니다.

이와 관련하여 생각해 볼수있는 것이 사건 간의 독립성입니다. 독립적으로 발생하는 두 사건간의 관계는 어떤 특성을 지닐까요? 직관적으로는 한 사건의 발생 확률이 다른 사건의 확률에 영향을 끼치지 않아야 합니다. 조건부 확률을 이용해 표시하면 P(A) = P(A|B)가 되겠군요.

주의할 점은 셋 이상의 사건이 있을때 두 사건씩 쌍으로 독립인 것과, 세 사건이 서로 득립인 것은 구분해 주어야 한다는 것입니다. 즉, A,B,C에 대해 생각해보면 A와 B각각은 C와 독립이지만, A와 B가 동시에 발생하는 사건은 C에 영향을 줄 수 있다는 겁니다. 슬슬 직관이 어긋나기 시작하시나요?

복잡한 확률 문제 풀기

실 세계의 사건은 대부분 단순한 규칙 적용으로 풀리지 않습니다. 어디서부터 손대야 할지도 막막한 경우가 대부분입니다. 이럴때 전가의 보도처럼 사용되는 방식이 Divide & Conquer입니다. 확률론에도 이처럼 복잡한 현상을 나누어 해결하도록 도와주는 도구가 있는데, 이것이 전확률법칙(Law of total probability)입니다.



전확률법칙은 위 식처럼 복잡한 사건 A의 확률을 바로 구하기보다 사건 B1~Bn에 대한 조건부 확률의 가중평균으로 구하는 겁니다. 여기서, 사건 B1~Bn은 표본공간 전체에 대한 분할이어야 합니다. 전교에서 어떤 혈액형을 가진 학생의 비율을 구할때, 반별로 구한 비율을 반별 학생수로 가중평균하여 구하는 방식입니다. 물론 실제 사건에 대한 적절한 분할을 찾는 문제는 이처럼 단순하지는 않겠죠.

다음에는...

저의 연구분야 - 머신러닝 / 정보검색 - 가 대부분 확률론에 기반하기에, 이 글은 앞으로 다룰 많은 주제의 기반이 될 듯 합니다. 다음에는 확률 현상과 관련된 흔한 오류를 다룰까 합니다.

참고자료

위 자료는 '확률의 개념 및 응용 - 전종우/손건태'에 기초하며, 아래 자료는 추가로 읽어보시기 바랍니다.

Stanford Univ. Probabillity Theory Textbook (PDF)
Java Applets on Probability Theory


통계학 관련 블로그
류근관 교수님의 통계학 홈페이지


http://en.wikipedia.org/wiki/Probability_theory

http://en.wikipedia.org/wiki/Probability_interpretations

http://en.wikipedia.org/wiki/List_of_probability_topics
http://en.wikipedia.org/wiki/Law_of_total_probability