소통 언어로서의 수학

SAMSUNG CSC

<수학의 정석>의 초판이 발행된 지 딱 50년이 되었다고 한다. 그 동안 그 책은 4천5백만부가 팔려서 우리나라에서 성경 다음으로 인기 있는 책이라는 명성을 얻었다. 심지어 어떤 비평가는 모 중앙 일간지의 ‘내 인생의 책’이라는 컬럼에 그 책을 올리기도 했다.

나는 스무살 때 어느 작은 학원의 단과반에서 <수학 1정석>을 가르친 인연도 있다. 그러나 나는 <수학의 정석>에 그렇게 후한 점수를 줄 수 없다. ‘정석’이라는 걸맞지 않은 이름으로 우리나라 수학 교육의 방향을 오도하는데 일조했다고 생각하기 때문이다.

<정석>은 우리나라의 문화에 수학이 계산을 하는 도구라는 인식을 뿌리박게 하는데 기여했다(심지어 수학을 암기 과목으로 만들었다는 의심도 있다). 그것은 수많은 개인들에게는 물론이고 국가적으로도 불행한 일이었다.

수학은 다른 더 중요한 얼굴을 가지고 있기 때문이다. 소통의 도구 혹은 하나의 언어로서의 수학이다. 수학은 신(god)의 언어라는 갈릴레오의 믿음까지는 아니더라도 동서양을 막론하고 뛰어난 인류의 스승들은 수학이 우주의 질서를 이해하는데 훌륭한 도구라는 사실을 의심하지 않았다.

<정석>으로 대변되는 우리나라의 수학 교육은 학생들로 하여금 그 점을 깨닫게 하는 데 완전히 실패했다. 사람들의 일상에서, 그리고 일상적 대화에서 수학이 얼마나 사용되지 않는가가 그 사실을 웅변적으로 증명한다. 수학은 영어, 한문, 일본어는 물론이고 프랑스어나 독일어만큼도 사용되지 않는다.

내가 재직하는 학과와 단과대학 졸업생 중 상당수가 광고업계로 진출한다. 광고업계에서는 “어떤 사용자가 내 클라이언트의 광고를 클릭할 가능성이 얼마나 될까?”는 매우 중요한 질문이 된다. 예를 들어 내가 수업시간에 어떤 학생으로부터, “교수님, 어떤 인터넷 사용자가 특정 광고를 클릭할 가능성을 어떻게 예측할 수 있을까요?”라고 질문을 받았다. 과연 내가 수학을 사용하지 않고 그 질문에 명쾌하게 답할 수 있을까?

이렇게 답할 수 있을 것이다.

“광고를 클릭할 확률의 로짓(logit)을 예측하는 로지스틱 회귀모형을 구성하고, 훈련데이터세트로 그 모형의 모수(parameters)를 구하면 가능하다.”

그러면 학생들이 고개를 끄덕거릴까? 결코 아니다. 학부는 물론이고 대학원 수업에서도 그런 대답은 학생들을 혼란에 빠트릴 것이다.

우리가 궁금한 것은 어떤 사용자가 우리의 광고를 클릭할 것인가 말것인가이기 때문에 그것은 범주적 변수(categorical variable)이고, 그 변수는 1(클릭함)과 0(클릭하지 않음)이라는 값(범주)를 가질 것이다. 그러면 수학적으로 이렇게 표현될 수 있다.

광고를 클릭할 확률()은 라는, 독립변수들()의 좀 복잡한 선형함수로 나타낼 수 있다.  여기서 는 지수함수를 가리킨다. 승산(odds)이라는 개념을 이용하면 이 식을 좀 더 간략히 나타낼 수 있다.

좌변은 광고를 클릭할 확률광고를 클릭하지 않을 확률로 나눈 승산(odds)이다. 광고를 클릭할 승산은 독립변수들의 영향을 선형으로 더한 지수함수이다. 여기서 양변에 log를 취하면 아래와 같다.

좌변을 로짓(logit)(혹은 승산의 자연로그, natural logarithm of the odds, 간단히 log-odds라고 부른다)이라고 부른다. 종속변수로 로짓으로 바꾸니 우리에게 익숙한 회귀 방정식(regression)이다. 만약 우리에게 이 광고에 관해 축적된 데이터가 있다면 와 를 어렵지 않게 추정할 수 있을 것이다. (참고로, 로지스틱 회귀(logistic regression)은 역로짓 함수(inverse-logit function)을 사용한다.)

좀 복잡해 보이지만 이 전개에는 고등학교 수준의 수학밖에 사용하지 않았다. 사실 나의 수학 실력도 고등학교 수준을 별로 벗어나지 않는다. 그나마도 40년 전에 배운 수학이다.

우리 사회에 매스포비아(math-phobia: 수를 두려워하는 사람)가 너무 많다. 우리 교육이 매스포비아를 양산하고 있는 것이다.

우리 사회는 빠른 속도로 수학과 통계학을 이용하는 기술 기반으로 바뀌어 간다. 그런데 우리의 학교 교육은 수학 ‘문맹자’를 양산하고 있다.

(Bayes 학습)(9) Monte Carlo simulation

SAMSUNG CSC

몬테카를로(Monte Carlo) 시뮬레이션을 공부하기 위해 30년 전 대학원에서 사회통계학을 배울 때 쓰던 교과서를 펼쳤다. 섹션 제목이 빨간 색연필로 둘러져 있다. “몬테카를로 방법은 크게 유용할 것입니다.”라는 Miller McPherson 교수의 목소리가 생생하게 들리는 듯하다.

통계학에서 몬테카를로 시뮬레이션은 무엇보다 우리가 구하려고 하는 확률변수의 표집분포(sampling distributions)를 특정하는데 사용된다. 즉, 확률변수의 표집분포가 지닌 평균과 표준오차를 구하는데 사용된다.

우리가 구하려고 하는 양(quantity)을 확률변수 의 기대값, 즉, 으로 놓자. 그리고 의 분포로부터, 독립적이고 무작위로,  (표본의 크기가 )을 생성하여, 다음 식처럼 그 값들의 평균을 취하여  의 추정치로 삼는다.

통상 는 확률변수 의 함수이다.  이 평균을 계산할 수 있는 양이면 몬테 카를로를 적용할 수 있다. 몬테 카를로 시뮬레이션의 핵심적인 논리적 기반은 대수의 법칙(the law of large numbers)이다. 수학적으로 아래와 같이 표현할 수 있다.

즉, 이 무한대가 될 때(표본 추출을 무한히 반복할 때) 오차의 절대값이 0일 확률이 1이다. IID(independent and identically distributed: 동일한 분포라는 말은 표본의 각 개별적인 관찰이 동일한 평균과 분산의 모집단을 갖는다 의미. 복원추출을 하면 그 조건을 만족하게 됨) 표집에서  은 확률변수이며, 그 자체가 평균과 분산을 가지고 있다.

의 평균은  이고, 의 분산(variance)은  이다(여기서 은 표본의 크기이다).  중심 극한 정리(CLT)로부터, 우리는 오차 가 평균이 0이고, 분산이  인 정규분포에 근사함을 안다. 오차의 크기는 표본의 갯수가 아니라 표본의 크기에 달려 있다. 표본의 크기가 5()인 표본을 100번 뽑는 대신 표본의 크기가 20()인 표본을 100번을 뽑으면 오차가 줄어들고 추정이 더욱 정교해진다. 동일한 크기의 표본()을 100번이 아니라 1,000번을 뽑으면 표집분포가 더욱 매끄러워질 뿐, 추정이 더욱 정교해지지는 않는다. 오차와 분산은 추정의 정교함(precision)을 알려준다. 몬테카를로 표집에서 오차 제곱의 평균은 인데, 를 아는 경우가 거의 없으므로 표본값들로부터 추정한다. 아래 둘 중 어느 것으로 추정해도 된다.

혹은,

(이상은 Stanford 대학교 통계학과의 Art Owen 교수가 인터넷에 올려놓은 책 원고의 제2장(Simple Monte Carlo)을 크게 인용하였다.)

Wonnacott & Wonnacott(1985)의 Introductory Statistics(4th ed.)에 나온 사례를 가지고 직접 몬테 카를로 시뮬레이션을 수행해서 모집단의 평균()과 분산()을 추정해보자.

미국의 미들타운(Middletown)이라는 도시에 살고 있는 18세부터 24세까지의 젊은이 100명에 대해 그들이 희망하는 가족의 크기를 추정해보자. 다음 표는 실제 조사 결과를 보여준다.

                                         모집단 분포
                                                                                        상대빈도
x 빈도 p(x) 일련번호
0

1

2

3

4

5

6

7

2

6

49

22

15

3

2

1

.02

.06

.49

.22

.15

.03

.02

.01

01-02

03-08

09-57

58-79

80-94

95-97

98-99

100

N = 100 1.00

크기가 5명인 표본을 뽑아서 모수를 추정해보자. 난수표(table of random digits)를 이용해서 100 이하의 수를 무작위로 뽑았더니, 77, 94, 30, 05, 39이다. 그것을 일련번호로 삼아서 그에 해당되는 희망 자녀수를 위의 표에서 찾아보면, 3, 4, 2, 1, 2이다.

일련번호 희망 자녀수 X
77

94

30

05

39

3

4

2

1

2

이제 동일한 방법으로 5명의 표본()을 반복해서 뽑는다. 표본을 뽑을 때마다 평균()을 계산한다. 예컨대 이렇게 1천번을 반복하면 우리는 1,000개()의 를 얻게된다. 여기서 의 의미가 이중적이 됨에 유의할 필요가 있다. 은 개별 표본(5)의 크기가 아니라 표본의 갯수(1,000)이면서 동시에 평균()들로 구성된 표본(그것이 바로 표집분포를 구성한다)의 크기(1,000)이다. 아래 공식처럼 1,000개 의 평균을 계산하면 의 추정치()를 얻는다.

그런 다음 분산 은 아래 식을 가지고 추정할 수 있다.

오늘날 난수표와 손을 사용해서 몬테카를로 시뮬레이션을 하는 경우는 없을 것이다. Random.org에 가면 손쉽게 원하는 난수(random digits)를 얻을 수 있고, SPSS와 같은 통계 패키지도 몬테카를로 시뮬레이션 기능을 제공하고 있다. 자, 몬테카를로에 대해서는 이 정도로 학습하고 다음에는 MCMC(Markov Chain Monte Carlo)에 대해 알아봐야겠다.

참고문헌

Owen, Art. 2009-2013. Chapter 1-2. 책 초고.

Wonnacott, Ronald J. & Thomas H. Wonnacott. 1985. Introductory Statistics, 4th ed. John Wiley & Sons.

수학 공부의 즐거움

intro_math_sociology

1974년 대학교 1학년 2학기에 대학 수학 과목을 수강했다. 행렬과 벡터, 미적분을 배워야 한다는 학과장 교수님의 강제적 요구에 따라 정치외교학과 학생임에도 어쩔 수 없이 그 과목을 들어야 했다. 나중에 국제정치 이론 과목을 수강하면서 보니 게임이론을 이해하는데 행렬(matrix)에 관한 지식이 반드시 필요했다.

그리고 40년이 넘게 흘렀다. 다시 수학 공부를 한다. 남이 시켜서 하는 것이 아니고 새로운 세상의 문법을 이해하겠다는 순전히 자발적인 동기에 의해서이다.

조금 어렵고 낯설기는 하지만 그런대로 할만 하다. 새로운 분야를 시작하면 누구나 어려움을 겪기 마련이다. 다행히 어렵다는 느낌보다는 재밌다는 느낌이 더욱 강하다.

공부하는 데 세상이 참으로 편리해 졌다. 웹사이트와 유튜브를 뒤지면 온갖 학습 자료가 나오니 못할 공부가 없다.

미국에서 사용되는 수리 사회학(mathematical sociology) 교재를 보니(사진 참조) 내가 재직 중인 학과에도 수리 사회학 과목을 개설하면 어떨까 하는 생각이 든다. 우리 학생들이 배우기에도 별로 어렵지 않을 것 같다. 3학년 과목으로 개설하면 어떨까.

수학이나 통계학 과목은 특히 담당 교수의 역할이 큰 것 같다. 배우는 데 있어 어차피 다소간의 고통은 피할 수 없겠지만 좋은 선생을 만나면 고통이 최소화되고 즐거움이 커진다. 결국 누가 그 과목을 담당하는가가 문제이겠다. (2016/03/17)

(Bayes 학습)(8) 마르코프 연쇄-(3)

이전에 올린 마르코프 연쇄에 관한 글에서 ‘정칙 마르코프 연쇄(regular Markov chains)’에 대해 언급했다. 널리 사용되는 마르코프 연쇄 유형에는 세 가지가 있다. 그 중 하나가 정칙 마르코프 연쇄이고, 다른 두 가지는 ‘에르고딕(ergodic) 마르코프 연쇄’‘흡수(absorbing) 마르코프 연쇄’이다.

알기 쉽게 설명하면, 시간의 흐름에 따라 어떤 객체(물체, 사람, 정신, 기체, 동물, 국가, 기업 등)가 한 상태(state)에서 다른 상태(state)로 이전할 때, 새로운 상태가 바로 직전의 상태에만 의존하면, 우리는 그러한 현상이 마르코프 연쇄의 모형을 따른다고 규정할 수 있다.

그런데 마르코프 연쇄 방식의 상태 이전(state transition)에 대해 흥미 있는 두 가지 가능성을 상상해 볼 수 있다. 하나는 가능한 모든 상태들의 공간(즉, 상태 공간, state space)에서 어느 상태로부터 다른 모든 상태로의 이전이 가능한(단 한 번의 이전에 그렇게 되지는 않더라도) 경우가 있을 것이고, 다른 하나는 일단 어느 상태에 들어가면 그 상태에서 다시는 빠져나오지 못하는 경우가 있을 것이다. 전자가 에르고딕 마르코프 연쇄(ergodic Markov chains)이고, 후자가 흡수 마르코프 연쇄(absorbing Markov chains)이다.

이전 글에서 소개한 정칙 마르코프 연쇄는 에르고딕 마르코프 연쇄의 부분집합이다. 추이행렬(transition matrix)의 거듭제곱이 오직 양의 원소들(positive elements)만 가질 때 그러한 마르코프 연쇄를 정칙 마르코프 연쇄라고 부른다.

상태의 수가 유한할(finite) 때, 다음 두 가지 조건을 충족하면 마르코프 연쇄는 에르고딕(ergodic)하다.

  1. 마르코프 연쇄가 기약적(irreducible)이어야 한다. 마르코프 연쇄가 기약적이려면 상태 공간에 흡수 상태(absorbing state)가 없어야 한다. 흡수 상태란 그 상태에 들어가면 빠져나올 수 없는 상태를 말한다. 흡수 상태가 없으면 더 이상 줄일 수 없다(irreducible)고 표현한다. 한 상태에서 어떤 다른 상태로 언젠가 갈 수 있으며, 그 경우 그 상태들이 하나의 집단을 이루고 있는 것으로 간주될 수 있기 때문이다.  기약적(irreducible) 마르코프 연쇄는 수학 기호를 사용하여 다음과 같이 표현할 수 있을 것이다.

즉, 모든  쌍(pair)에 대하여 마르코프 연쇄가, 초기상태(에서 궁극적으로() 어떤 상태(에 도달할 확률이 양이 되는 경우 이를 기약적(irreducible)이라고 말한다. 상태 공간에 흡수 상태가 하나라도 있으면 당연히 기약적이 될 수 없을 것이다.

  1. 기약적인 마르코프 연쇄(irreducible Markov chain)가 비주기적(aperiodic)이어야 한다. 어느 상태에서 일정한 주기(period)로 그 상태로 돌아가면 주기적(periodic)이라고 부르고, 같은 상태로 돌아오는 모든 시간(주기)들의 최대공약수(gcd)가 1뿐이면 공약수가 없으니 비주기적(aperiodic)이라고 부른다. 이를 아래와 같이 수학적으로 표현할 수 있을 것이다.

즉, 만약 모든 에 대하여, 초기 상태가 일 때 다시 에 도달할 확률이 양수이고, 거기에 해당되는 모든 시간의 최대공약수(gcd)가 1이면(즉, 그 시간들의 배열이 1의 배수, 2의 배수, 3의 배수….중 1의 배수에만 모두 포함되면) , 마르코프 연쇄가 비주기적(aperiodic)이라고 한다.

에르고딕 (마르코프 연쇄) 정리(Ergodic Markov Chains Theorem)는 다음과 같다. 에르고딕 마르코프 연쇄에 대해서 가 성립하는 유일한 확률 벡터 가 존재하며, 는 엄격하게 양수이다(정칙 마르코프 연쇄에서 보았던 정상상태의 공식이다). 를 충족하는 어떤 행 벡터(row vector)도 의 배수이다. 를 충족하는 어느 열 벡터(column vector) 도 상수 벡터(constant vector)이다.

에르고딕성(ergodicity)은 여러 학문 분야에서 분석적 잠재력이 크게 평가되고 있다. 년 전에는 일군의 통계물리학자들이 이 개념을 원용해서 우리나라에서 주요 성씨들의 분포를 에르고딕 분포와 비에르고딕 분포로 분류하기도 했다. 그들은 김해 김씨처럼 전국에 퍼져 있는 성씨는 에르고딕 분포라고 분류하였으며, 학성(울산) 김씨처럼 특정 지역에 집중되어 있는 성씨는 비에르고딕 분포로 분류하였다(참고: Matchmaker, Matchmaker, Make Me a Match, 2014)

흡수 마르코프 연쇄도 에르고딕 마르코프 연쇄 못지 않게 널리 응용된다. 한번 들어가면 빠져 나오지 못하는 상태를 흡수 상태(absorbing state)라고 하며, 마르코프 연쇄가 하나 이상의 흡수 상태를 포함하고, 유한한 수의 단계를 거쳐 비흡수 상태에서 흡수상태로 갈 수 있으면 흡수 마르코프 연쇄(absorbing Markov chains)이다. 마르코프 연쇄의 흡수 상태를 행렬로 표현하면, 그 상태에 대응하는 행이 주대각선(main diagonal)의 값이 1이고, 다른 모든 값이 0이다.

그런데 흡수상태(absorbing state)와 정상상태(stationary state)를 혼동하지 않아야 할 것이다. 흡수상태란 빠져나올 수 없는 상태를 말하는 것이지, 정상상태처럼 추이행렬의 거듭제곱이 극한 행렬(limiting matrix)에 근사함(approach)을 함축하지는 않는다.

그렇다고 흡수 마르코프 연쇄에 극한 행렬이 없는 것은 아니다. 만약 가 흡수 마르코프 연쇄의 추이행렬이고, 가 표준적인 형식을 갖추고 있다면(in standard form), 다음과 같은 조건을 만족하는 극한 행렬  가 존재한다. 수식으로 표현하면,

흡수 마르코프 연쇄의 추이행렬은 다음과 같은 표준형(standard form)으로 표시된다.

standard_form

Abs.는 흡수 상태, NA는 비흡수 상태를 나타낸다. 모든 흡수 상태를 모든 비흡수 상태들보다 앞에 위치시킨다. 행렬을 4분하면, 좌상의 제1사분면이 단위행렬(Identity Matrix)이고 우상의 제2사분면은 모두 0으로 채워지며, 좌하의 제3사분면의 sub-matrix를 R, 우하의 제4사분면의 sub-matrix를 Q로 표시한다.  예컨대,

여기서 좌상의 제1사분면은 단위행렬 이며, 제2사분면은 에서 보듯이 모두 0으로 채워지고, 제3사분면의 은 R, 제4사분면의 은 Q이다.

이 R과 Q가 중요하다. 그것들로부터 극한행렬 을 구할 수 있다. 위에서 보듯이

standard_form

이다. 위의 사례를 가지고 극한행렬을 계산해 보면, 다음과 같이 나올 것이다.

공식을 적용하지 않고도 표준형의 추이행렬

를 거듭제곱해가면, 아마도  혹은  정도에서는 동일한 극한행렬을 얻을 것이다.

1986년 사회연결망 이론가인 John Skvoretz는 Thomas Fararo와 함께 사회연결망에서 지배 위계(dominance hierarchies)의 형성을 모델링했다. (1986년 나는 University of South Carolina 대학원 사회학과에서 Skvoretz 교수로부터 사회이론 수업을 들었다. 그는 저명한 수리사회학자였다.) 그들의 주장은 다음과 같다.

i가 k를 공격했는데, j가 옆에서 그것을 목격했다. 처음에는 세 사람 사이에 지배 관계가 없었다. i가 k를 지배할 확률이 이고, i가 j를 지배할 확률이 이며, j가 k를 지배할 확률도 라면, 장기적으로 세 사람 사이에는 지배적인 관계가 되던지, 아니면 상호 견제하는 관계라는 두 가지의 흡수 상태에 도달하게 될 것이다. 그리고 각각의 흡수 상태에 도달할 확률은 와 에 달려 있다. (자세한 내용은 Fararo, T.J. and J. Skvoretz. 1986. “E-State Structuralism: A Theoretical Method.” American Sociological Review 51: 591-602을 참조).

이제 베이즈 추론에 사용되는 MCMC (Markov Chain Monte Carlo) 시뮬레이션을 이해하는데 필요한 마르코프 연쇄에 관한 기초 지식을 충분히 얻었다고 판단된다. 다음에는 몬테 카를로 방법(Monte Carlo Methods)에 관해 알아봐야겠다.

<참고 문헌>

Grinstead, Charles M. & J. Laurie Snell. 1997. Introduction to Probability, 2nd revised ed. American Mathematical Society. Chapter 11. (마르코프 연쇄에 관해 체계적인 이해를 도와주는 아주 좋은 문헌임. 책 전체가 pdf 파일로 공개되어 있음)

Fararo, T.J. and J. Skvoretz. 1986. “E-State Structuralism: A Theoretical Method.” American Sociological Review 51: 591-602

마르코프 연쇄에 관해 두 사람의 유튜브 강의가 아주 유용했다.

PatrickJMT   Markov Cahins (Part 1~9)

Brandon Foltz의 Finite Math의 마르코프 연쇄에 관한 강의 여러 편. 

눈과 아이들

SAMSUNG CSC
필암뜰에서 눈사람 만드는 아이들

필암에는 겨울에 눈이 많이 내린다. 하지만 날이 포근하기 때문에 금방 녹아버린다. 그래서 필암에서 눈을 즐기려면 제법 운이 좋아야 한다. 어제 마을에 학생들이 행운과 함께 체험학습을 왔다. 아침에 눈이 많이 내려 필암뜰에서 하늘이 주는 혜택을 마음껏 누릴 수 있었다. 눈싸움을 하고, 눈사람도 만들고, 눈위를 걷기도 하면서. 농촌에 사는 아이들에게 주어지는 최고의 혜택은 자연과 더불어 실컷 지낼 수 있다는 점일 게다. 사실 어느 지역의 아이들에게도 자연은 가까이에 있어야 하겠지만 말이다. 필암뜰이 더 많은 아이들에게 자연과 교감을 나눌 수 있는 공간이 되었으면 좋겠다.

컴퓨터 프로그래밍을 익혀야 하는 이유

python스크린샷 몇 년 전부터 내가 일하는 학과의 커리큘럼에 컴퓨터 프로그래밍 과목을 넣고 학생들이 의무적으로 그 과목을 수강하도록 조치했다. 동료 교수들 중 어떤 분은 그러한 조치에 반대했다. 사회과학 전공 학생들이 프로그래밍까지 배워야할 이유가 없고, 더구나 프로그래밍을 할 줄 몰라도 컴퓨터를 사용하는 데 전혀 지장이 없는 시대에 컴퓨터 과학 전공자가 아닌 사람이 프로그래밍을 배울 필요가 없다는 이유에서였다.

그러나 내 생각은 달랐다. 학생들이 살아갈 세상에서 프로그래밍 언어는 영어 이상으로 중요한 언어이다. 인문사회과학 전공자들이 거의 모든 분야에서 개발자, 공학자, 프로그래머들과 함께 일해야 하기 때문이다.

컴퓨터 기술기반의 사회에서 프로그래밍 언어는 공용어이다. 프로그래밍 문맹자가 가질 수 있는 직업은 많지 않을 것이다. 내 학생들을 프로그래밍 문맹자로 만들 수는 없지 않는가.

학과의 모든 학생들이 2학년 1학기 때 파이썬(Python)이라는 언어를 배운다. 그런데 프로그래밍 수업 담당 교수의 말이 한 학기 수업으로는 학생들이 기초 정도밖에 배우지 못한다고 해서 올해부터는 수업 기간을 1년으로 늘렸다. 그래서 한 학기는 기초, 한 학기는 응용 수준을 배울 수 있도록 했다.

요즘 막내와 함께 통계학과 프로그래밍(파이썬)을 공부하면서 우리 학생들에게 프로그래밍 언어를 배우게 한 것이 예상하지 못했던 다른 의미에서 잘한 조치였음을 확인하고 있다. 프로그래밍을 하려면 프로그래밍하려는 문제나 지식이 논리적으로 아주 정확하게 표현되어야 한다. 문제나 지식이 명쾌하게 정의되어 있지 않으면 그것을 컴퓨터 언어로 번역할(즉, 코딩할) 수 없는 것이다.

사회학은 소프트(soft)한 과학이다. 사회적 불평등, 범죄, 사회적 갈등, 협력 등 사회학이 다루는 사회 문제에 하나의 정답만이 존재하는 경우는 거의 없다. 그렇다고 불명료한 문제의식이나 엉성한 논리가 허용되는 것은 아니다. 그런데 현실적으로 사회학 전공 학생은 물론이고 전공 학자가 지닌 사회학 지식이 명료하지 않은 경우가 적지 않다. 사회학 주제를 가지고 하는 컴퓨터 프로그래밍 훈련은 학생들로 하여금 사회학 전공 지식은 물론이고 지식 자체를 명료하게 갖는 습관을 가져다 주지 않을까 기대된다.

(Bayes 학습)(8)대학에서 성공적으로 공부하려면….

앞 포스팅에서 학습한 마르코프 연쇄의 정상 상태를 현실 문제에 적용해 보자.

대학 신입생들은 대체로 두 가지 이유로 전공을 선택한다. 평소의 관심 혹은 수능 성적이다.

대학 입학 후 첫 학기가 끝났을 때 신입생들의 전공 관심 정도는 어떻게 될까? 어떤 요인이 주로 영향을 미칠까?

먼저 대학에 들어올 때의 전공 관심 정도와 처음 듣는 전공 과목 담당 교수의 교수 능력의 영향을 살펴보자. 학원 배치표에 따라 전공을 선택하는 학생들이 많은 우리 나라의 현실을 볼 때 학과 신입생들이 지닌 전공 관심의 비율은   정도가 되지 않을까? 전공에 관심을 가진 학생이 20%, 그렇지 않은 학생이 80%.

그런데 첫 전공 수업에서 교수 능력이 뛰어난 교수를 만났을 경우 전공수업의 효과는 다음과 같은 행렬로 나타낼 수 있을 것이다.

즉, 전공에 대해 관심 있는 학생이 수업을 듣고 전공에 대해 더욱 관심을 갖게 될 학률이 0.8, 전공에 대해 관심 있는 학생이 실망하여 전공에 대한 관심을 잃을 확률이 0.2, 그리고 전공에 대해 관심이 없는 학생이 전공에 관심을 가질 확률이 0.6, 전공에 대해 관심이 없는 학생이 계속 전공에 관심이 없을 확률이 0.4. 그 정도면 아주 잘 가르치는 교수(교수 1이라고 하자)가 아닐까?

반면에  수업을 잘 지도하지 못하는 교수(교수 2라고 하자)가 첫 전공 수업을 가르쳤을 경우, 그 추이행렬은,

 정도가 되지 않을까?

교수 1과 교수 2가 첫 전공 수업을 가르친 후 얼마 지나면 정상 상태(steady state)에 도달할 것이다. 지난 포스팅에서 나온 공식 를 이용해서 정상 행렬을 구해보면, 교수 1의 정상 행렬은 가 될 것이고, 교수 2의 정상 행렬은 이 될 것이다. 교수 1의 수업을 들은 학생들의 경우 75%가 전공에 대해 관심을 갖게 되고, 교수 2의 수업을 들은 학생들은  33%가 전공에 대해 관심을 갖게 될 것으로 예상된다. 교수의 영향이 무척 크다. 그리고 흥미 있게도 대학에 들어오면서 신입생들이 얼마나 전공에 관심에 가지고 있는가는 정상 상태에 영향을 미치지 못한다.

학생들 자신의 태도도 중요한 결정요인일 수 있을 것이다. 어떤 연유로 학과를 선택했든, 개방적인 자세를 가진 학생들은 첫 전공 수업을 듣고 전공에 관심을 갖게 될 것이고, 비개방적인 자세를 가진 학생들은 첫 전공 수업을 듣고도 전공에 관심을 갖지 않을 것이다. 그러한 학생들의 자세는 전공에 대한 관심 수준을 결정하는데 얼마나 영향을 미칠까?

전공에 대한 학생들의 개방적 태도를 추이행렬로 다음과 같이 표현해 볼 수 있지 않을까?

, , ,

첫번째 추이행렬은 아주 비개방적인 태도를 지닌 학생의 경우로, 수업을 듣고 전공에 대해 무관심에서 관심으로 전환될 확률이 10%밖에 되지 않는다. 두번째 추이행렬은 그 전환 가능성이 20%, 세번째 추이행렬은 40%, 그 다음은 60%, 마지막은 전환 가능성이 80%이다. 아래 행(row)의 숫자가 커질수록 점점 개방적이 됨을 의미한다. 마지막 두 추이행렬은 아주 개방적인 학생들일 것이다.

그런데 이 추이행렬을 가진 학생들이 동일한 교수의 전공수업을 수강했다고 가정하고 그들의 정상행렬을 계산해 보면 각각 다음과 같다.

,

입학 초기에 전공에 대한 관심이 어떤 상태인가에 관계없이, 전공에 대해 개방적인 태도를 지닌 학생의 전공에 대한 관심 비율(학문에 대한 관심 중 전공에 대한 관심이 차지하는 비율: 전공 대 비전공으로만 단순화시켜서 표현함)이 최대 80%나 되며, 전공에 대해 비개방적인 태도를 지닌 학생의 전공에 대해 관심 비율은 33%에 불과하다.

전공에 대한 관심은 전공 성적과 높은 상관관계를 갖고 있다. 다시 말해 신입생이 전공에 대해 얼마나 개방적인 태도를 갖고 있는가가 결국 전공에서의 학업성취에 커다란 영향을 미칠 것으로 추정된다.

물론 앞에서 살펴본 것처럼 전공 첫 수업을 어떤 교수가 가르치는가도 중요한 결정요인일 것이다. 여기서 교수 사례는 분석단위가 학과이고, 학생 사례는 분석단위가 개별 학생이다. 이점 때문에 다소 혼란스러울 수 있을 것이다.

이 예상들은 실증적인 조사 자료 없이 마르코프 연쇄 모형을 이용하여 수학적으로 도출되었다. 실제 조사를 해보면 예상과 많이 다를까? 사회과학적 추론에 있어 마르코프 연쇄의 잠재성이 아주 커보인다.

봄이 오는 뜰

SAMSUNG CSC
장미 잎 순

산책하는데 바람이 차갑다. 그래도 영낙없이 봄이 온다.

뜰의 꽃나무 가지에서 봄의 영웅적인 귀환을 느낀다. 미세한 눈으로 세상을 바라보는 사람에게 주어지는 혜택이다. 그 미세함을 담아내는데 카메라마저도 힘겨워한다.

행복이란 무엇일까요? 만족감이나 기쁨은 삶의 어떤 부분에서 나오는 것일까요? 가난해도 행복할 수 있을까요? 부자가 되면 행복할 가능성이 높아질까요? 의미있는 삶, 보람있는 삶이란 어떤 삶을 말하는 걸까요? 어려운 이웃 돕기, 공동체 봉사, 예술적 성취, 학문적 성취….또 무엇이 있을까요? 가족과 화목하고, 친구나 이웃과 잘 지내고….부부가 서로에게 화내지 않고….

참, 아파도 행복할 수 있을까요? 일이나 직장이 없어도 행복할 수 있을까요? 대부분의 사람이 일자리를 구할 수 없는 세상이 온다면 어떻게 될까요? 대다수의 사람들이 직업이 없다면 기업은 어떻게 되지요? 인공지능이 고도로 발달하면 기업은 시장에서 무엇을 가지고 다른 기업들과 경쟁하게 될까요? 아이디어, 품질, 서비스에서 기업들 사이에 차별화가 가능할까요? 소비자는 어떤 기준으로 제품을 선택하게 될까요?….

1시간 남짓 산책하는 동안 아내에게 너무 많은 질문을 퍼부었나보다. 머리가 아프단다.

내가 커피 원두를 갈고 정성들여서 내린 커피를 마시는 아내의 얼굴에 만족감이 읽혀진다. 아내에게는 그것이 행복한 순간이가보다. 물론 내게도 그렇다.

그렇게 보면 행복이란 분명히 특별한 게 아니다. (2016/03/13)

(Bayes 학습)(7)마르코프 연쇄-(2)

광고 후 3주일째 Brand A의 오렌지 쥬스 시장의 점유율은 어떻게 될까? 아래 식에서 보는 것처럼 86.96%이다.

시장 점유율이 여전히 증가하고 있으나 첫 두 주만큼 인상적이지는 않다. 광고효과가 동일하다고 가정하면 광고 후 4주부터 10주째까지 Brand A의 오렌지 쥬스 시장의 점유율은 각각 아래와 같이 예상된다.

Brand A의 시장점유율은 광고 후 5주차에 87.50%(반올림한 결과)에 도달한 이후 10주차까지 미세한 증가가 있으나 반올림하면 여전히 87.50%이다! 즉, Brand A의 시장점유율은 광고 후 5주차에 거의 불변상태에 도달할 것으로 예상된다(이는 대단히 흥미 있는 현상이다). 따라서 Brand A의 시장점유율은 광고 후 초반의 급속한 증가에도 불구하고 그 증가 속도가 빠르게 감소되되기 때문에 결코 100%에 도달하지 못할 것으로 판단된다.

이 사례는 마르코프 연쇄에 있어 정상 상태(steady state, stationary state, invariant state)가 존재함을 보여준다. 마르코프 연쇄에서 정상 상태에 도달하는 과정을 정상 상태에 수렴한다(convergence)고 표현한다.

그렇다면 모든 마르코프 연쇄가 정상 상태의 특성을 갖고 있는가? 그것은 아니다. 추이행렬(transition matrix)이 정칙(regular)인 마르코프 연쇄(그것을 정칙 마르코프 연쇄, regular Markov chains라고 부른다) 같이 특정한 유형의 마르코프 연쇄만이 그러한 속성을 갖고 있다. 어떤 추이행렬의 거듭제곱한 결과가 오직 양의 원소(only positive entries)만을 지닌 행렬일 때 그 추이행렬은 정칙이다.

정칙 마르코프 연쇄는 다음과 같은 속성을 갖는다.

(1)   (는 정상 행렬, 는 추이행렬)   이 공식으로 정상 행렬(stationary matrix)을 구할 수 있다.

(2) 초기 행렬  에 어떤 값이 주어지든 상태 행렬들(state matrices) 는 정상 행렬 에 수렴된다.

(3)추이행렬의 거듭제곱  는 하나의 극한 행렬(limiting matrix) 에 수렴한다. 의 각 행(row)은 정상 행렬 와 같다.

 공식을 이용해서 위 광고의 정상 행렬을 구해보자.

이 식을 과 에 관해서 풀면 다음 두 식을 얻는다.

 —–(1)

 —–(2)

그리고  —–(3)

(1)식과 (2)식 중 하나와 (3)식을 가지면 과 를 구할 수 있다. (1)과 (3)을 가지고 풀자.

(3)의 양변에서 를 빼면, 

이 것을 (1)에 대입하면,

양변에서 를 더하고 0.9를 우변으로 옮기면,

양변을 0.8로 나누면,

 이 된다. 이 값을 (3)에 대입하면, 이 구해진다. 이 값들로 행렬을 구하면,  이다. 이를 소수로 전환하면 이다.

위에서 일일히 행렬 계산을 통해서 구했던 정상 행렬이 공식을 사용해서 훨씬 쉽게 구해졌다.

정상 행렬(stationary matrix). 정상 상태(stationary state), 정상 분포(stationary distribution)은 베이즈 추론 과정의 MCMC (Markov Chain Monte Carlo) 시뮬레이션에 적용된다. 다음 글에서 마르코프 연쇄에 대해 조금만 더 알아보자.

책에 관한 열 가지 지혜: 아이들에게

library-100616524-primary.idge
University of California, Berkeley, DOE Library 서가. 수백만 권의 책이 꽂힌 서가에 앉아 있다보면 무엇보다 겸손해진다.

아이들에게 책에 관한 지혜를 들려주고 싶다. 그 지혜를 실천에 옮기는가는 온전히 그들 자신에게 달려 있다.

첫째, 세상의 진리는 오직 책에 담겨 있다. 인류 최고의 스승, 최고의 지혜는 오직 책을 통해서 만날 수 있다. 노자, 석가모니, 예수, 무함마드, 소크라테스, 피타고라스….이순신, 아인쉬타인 등등. 책을 통하지 않고 만날 수 있는 현자를 한 명이라도 말해 보거라. 현자의 지혜는 스스로 글을 써서 남겼거나, 누군가가 책에 남겨 놓았다. 그렇지 않은 지혜는 모두 잊혀졌다. 책에 대해서 다른 소리를 하는 사람을 상대하지 말라. 그는 둘 중의 하나이다. 세상을 모르는 자거나 너를 속이려는 자이다. 진리를 영화나, 게임, 강연, 혹은 인터넷으로 얻을 수 있다는 주장은 엉터리이거나 거짓말이다.

둘째, 책의 형식에 구애받지 말라. 그것이 양피지든, 대나무든, 종이든, e-book이든 무슨 상관이냐? 시대적 기술 여건에 맞는 형식이 있을 뿐이다. 형식은 책을 읽지 않을 핑계가 될 수 없다.

셋째, 어떤 저자도 완전히 믿지 말고 어떤 저자에게도 기죽지 말라. 저자들, 특히 뛰어난 천재들은 친절하지도 착하지도 않다. 재미삼아 독자를 희롱하기도 하고 속이기도 한다. 항상 숲 전체를 보면서 나무를 대하라. 그러면 길을 잃지(속지) 않을 것이다. 세상의 모든 것을 아는 사람은 없다. 천재는 뽐내기를 좋아한다. 자신의 천재성을 인정받고 싶어하는 것이다. 그리고 천재라고 반드시 전달력이 뛰어난 것도 아니다. 게다가 자신이 무슨 말을 하고 있는 지 모르는 저자들도 수두룩하다. 비평가나 해설자에게 의지하려고 하지도 말라. 비평이나 해설은 책 좋아하는 사람들이 밥먹고 살기 위해서 하는 직업적 활동일 뿐이다. 저자가 책을 통해서 무슨 말을 하려고 했는가를 판단하는 유일한 사람은 바로 너 자신임을 잊지 말라.

넷째, 환경을 고르지 말라. 시간과 장소를 가리지 말고 책을 읽어라. 책에 몰입하면 주위에 무슨 일이 벌어져도 알 수 없게 된다. 훈련하면 그것이 가능하다. 얘들아, 이점에 대해서는 나를 믿어라.

ph_doe
University of California, Berkeley DOE library reference 열람실. 이런 환경에서 책 읽기를 기대하지 말라.

다섯째, 어떤 책이든 하루에 읽는 것을 목표로 하라. 대부분의 책은 하루에 읽을 수 없다. 그러나 하루에 다 읽기를 목표로 삼으라. 그러면 놀라운 집중력이 생길 것이다. 인류 최고의 현자를 만나 대화를 나누는데 그 정도의 자세를 갖추지 않고는 결코 지혜를 얻을 수 없다. 현실에도 그렇지 않겠는가? 아인쉬타인, 달라이 라마, 혹은 프란치스코 교황을 실제로 만났다고 생각해 보거라. 책을 하루에 다 읽지 못하는 사람은 일주일을 줘도 다 읽지 못하고, 한 달, 아니 일년을 줘도 다 읽지 못한다. 잘못된 책 읽기를 하기 때문이다. 반대로 독서 방법이 올바르면 헐거운 책은 몇 시간에도 다 읽을 수 있다.

여섯째, 책 읽는 프로가 되어라. 손에 쥔 책을 어떻게 요리할 것인가를 기획하라. 인류 최고의 스승을 만나는데 그 정도 준비없이 되겠는가? 시간 계획, 대화 기획(읽는 순서), 정리 계획이 기본이다.

일곱째, 맘에 드는 책만을 읽지 말라. 편식하면 육신처럼 영혼도 영양실조에 걸린다. 맘에 들지 않은 책일수록 더 정성껏 읽어라.

여덟째, 지식을 자랑하기 위해 책을 읽지 말라. 우리가 평생 읽어봐야 도서관의 한 귀퉁이에 꽂힌 책들도 다 읽지 못한다. 내가 다니던 대학원 도서관의 본관은 책장의 길이만 84km였다. 아마도 300만권의 책은 그곳에 있었으리라. 그런데 더 놀라운 점은 그곳에는 32개의 도서관이 있고 책은 1천만권에 달한다는 사실이다. 미국 의회도서관과 하버드에는 그보다 더 많은 책이 있다. 책 몇 권 읽고 아는 척하지 말라. 그것은 바보나 하는 짓이다.

UCB-University-Library
University of California, Berkeley Main Library인 DOE Library의 정면. 저 문을 들어갈 때마다 마치 교회 문을 들어가듯이 경건해졌다. 인류의 스승들이 모두 저기에 모여 있지 않는가.

아홉째, 독서는 네 인생에 있어 어떤 보장도 해주지 않는다. 하지만 책을 읽지 않고는 어느 분야의 리더도 될 수 없다. 독서가 행복을 가져다 주지도 않고, 출세를 보장해 주지도 않는다. 그러나 책을 읽지 않고는 행복하거나 존경받는 리더가 될 수는 없다. 때로 천한 영혼이 지배자가 되기도 하지만, 그것은 그가 운이 좋았을 뿐이다. 운을 믿지 말라. 운이란 우연이다. 우연을 믿고 세상을 사는 사람처럼 어리석은 자는 없다.

열째, 밥은 굶어도 책 읽기를 건너 뛰지는 말라. 육신의 배고픔이야 밥 한 숟갈로 간단히 달래지지만 영혼의 갈증은 쉽게 해소되지 않는다. 영혼은 오직 진리를 먹고 살기 때문이다. 진리는 쉽게 섭취할 수 없다. 그런데 매일 진리를 먹지 않으면 영혼이 메마른다. 육신이 음식으로 영양분을 섭취하듯이 영혼은 책을 통해서 영양분을 섭취한다. 결코 손에서 책을 놓지 마라.