수학은 언어다, 다만 조금 특이한

데이터 사이언스에서의 수학은 엄밀한 수학이 아니라 긴 문장을 짧게 표현한 것에 불과해
데이터 사이언스는 수식이 의미하는 바를 직관적으로 이해하는 자세 필요해
경제학에서 수학 기반 연구가 주류로 자리 잡은 이유는 수학이 효율적인 의사소통 수단이기 때문

고등학교 때 수학이 가장 자신 있는 과목이자 가장 좋아하는 과목이었다. 당연히 대학교에 진학해도 수학을 좋아할 줄 알았지만, 대학 시절부터 수학은 싫어하는 과목으로 바뀌었다. 수학 성적이 박사 입학에 중요한 요소였기 때문에 수학 수업을 들었지만, 수년간 대학원에서 공부한 후에도 여전히 수학을 좋아하지 않는다(많은 사람들이 믿지 않지만). 단지 수수께끼를 풀 때 사용하는 수학을 좋아했다는 사실을 깨달았다.

고등학교 교과서와 시험에 나오는 문제는 대부분 주어진 상황에서 답을 찾는 문제다. 하지만 대학에서 처음 만난 수학은 0+0=0같은 정리를 증명하는 것이었다. 아니 잠깐만, 0+0=0? 뻔한 거 아닌가? 예를 들어 나도 사과를 먹지 않았고, 동생도 사과를 먹지 않았다. 그러면 아무도 사과를 먹지 않은 거잖아. 이렇게 간단한 개념에 수학적 증명이 왜 필요한 거지?

데이터 사이언스를 가르치면서 교과서에 나오는 수식은 긴 문장을 짧은 형태로 축소한 것이라고 항상 주장한다. 학생들에게 “수학에 쫄지 마라. 수학은 그저 언어일 뿐이다”라고 강조하지만, 학생들은 공감이 안 되는 듯 의아해한다. 0+0=0같은 대학 1학년 기초 수학 교과서에 나오는 증명을 보여주면, 비로소 학생들은 여기서 배우는 수학은 언어임을 이해하게 된다. 추가로 짧은 예시를 들어 자세히 설명해 보겠다.

1 + 1 = 3 Text on Black Chalkboard
사진=Pexel

수학은 문장을 짧게 표현하는 수단에 불과해

수학이 언어라는 주장을 시작하기 전에, 수학은 언어의 학문적 정의에서처럼 실제로는 언어가 아니라는 점을 분명히 하겠다. 예를 들어 수학의 정리와 따름정리의 구조는 문단과 그 문단을 뒷받침하는 예시로 대체하려는 것이 아니다. 물론 둘 다 논리적 사고를 구축하는 데 사용된다는 점에서 어느 정도 유사성이 있지만, 수학과 언어를 일대일로 비교하려는 것은 아니다.

여전히 수학이 언어라고 주장하지만, 그 주장은 특정 맥락에서만 유효하다. 다른 학문과 마찬가지로 내 전공 분야는 수학으로 노트와 논문을 작성한다. 수학자들이 보기에 데이터 사이언스가 수학을 사용한다는 주장에 당황할 수도 있지만, 거의 모든 STEM 전공자들은 대부분 수식으로 가득 찬 교과서로 수업을 받는다. 수학 전공자와 비수학 전공자의 차이점은 비수학 교과서에 나오는 수식의 의미가 다르다는 점이다. 예를 들어 y=f(a,b,c)를 보고, 수학과 데이터 사이언스에서 읽는 방식이 다르다. 데이터 사이언스에서는 “y의 설명 변수로 a, b, c가 있고 비선형 회귀 형태인 f 모양을 하고 있다”라고 읽지만, 수학에서는 “y는 a, b, c의 함수이다”라고 읽는다.

내가 만든 데이터 사이언스 강의 노트는 보통 3시간짜리 수업의 경우 10~15페이지 정도다. 너무 짧아 보일 수도 있지만, 사실 15페이지 분량의 노트를 다루려면 더 많은 시간이 필요하다. 왜? 각 페이지마다 많은 핵심 개념을 몇 가지 수식으로 압축해서 만들었거든. “y의 설명 변수로 a, b, c가 있고 비선형 회귀 형태인 f 모양을 하고 있다”라는 문장처럼 방정식을 ‘간단한 말’로 설명한다. 그 외에도 학생들이 방정식의 실제 의미를 충분히 이해할 수 있도록 방정식의 실생활 예시를 많이 들고, 추가로 방정식에 작은 변형이 생기면 어떻게 대처할지 설명하는 데도 많은 시간이 걸려, 이를 다 설명하려면 3시간도 부족하다.

그럼 y=f(a,b,c)를 표현하는 예시를 보자. 영수, 옥순, 광수가 함께 조별 과제를 하는데, 이들이 과제를 균등하게 분담했는지 모른다. 만약 과제가 어떻게 분담됐는지 안다고 해보자. 그럼 어떻게 하면 긴 문장을 간단하게 표현할 수 있을까?

y=f(a,b,c)에 모든 것이 담겨있다. 과제를 어떻게 분담했는지에 따라 함수 f가 결정된다. 예를 들어 y의 범위가 시험 점수처럼 0~100이 아니라, 합격과 불합격처럼 0/1인 경우 함수 f를 다르게 정의해야 한다. 0/1을 나타내기 위해 머신 러닝이나 유사한 계산 통계에서는 로지스틱 또는 프로빗 회귀를 주로 사용한다.

내가 과제 문제를 해설할 때, 보통 수식은 건너뛰고 영수, 옥순, 광수에 대해 길게 얘기한다. 예를 들어 영수는 오후에 여자친구와 데이트가 있어서, 밤에 옥순과 광수의 자료를 정리하겠다고 했다. 밤 11시에 영수는 옥순과 광수의 자료를 합치면서, 광수가 거의 한 게 없다는 것을 알았다. 영수는 한숨을 쉬며 새벽 3시까지 혼자서 작업했고, 새벽 6시에 모든 것을 다시 만들어 과제를 끝냈다. 상황을 보면 영수가 광수보다 훨씬 많은 일을 했다는 것을 알 수 있다. 그럼 과학자들이 하듯이 긴 문장을 수식으로 바꿔보자. 도움 안 되는 광수에 비해, 영수와 옥순에게 얼마나 많은 가중치를 줘야 할까? 만약 영수의 여자 친구인 순자가 밤에 과제를 도와준다면 함수 형태를 어떻게 바꿀까? 순자가 선생님은 다르지만 같은 수업을 듣고 있고, 같은 반 친구들과 이미 같은 과제를 했다면 이건 어떻게 반영할래?

이 모든 걸 다 알고 있다면, y=f(a,b,c)는 위의 문단을 간단하게 표현할 뿐만 아니라 더 많은 변형도 가능하다. 이것이 내가 수학을 언어라고 부르는 이유고, 나는 말을 가장 효율적으로 전달한 것 뿐이다. 그래서 4개 단락 대신 y=f(a,b,c)로 표현한 것이다.

중세 유럽의 공용 언어는 라틴어, 학문에서 공용 언어는?

데이터 사이언스를 가르치는 것은 고등학교 수학과 비슷해서 재밌다. 데이터 사이언스는 뻔해 보이는 정리를 지루하게 증명하는 대신, 데이터의 숨겨진 구조를 파악하고 주어진 문제에 따라 모델을 만든다. 엄밀한 수학이랑 다른 점은 수학을 수학으로 보는 게 아니라 도구로 사용한다는 점이다. 수학자들은 내가 사용하는 수학을 모욕으로 느낄 수도 있지만, 내가 학생들에게 강조하고 싶은 부분은 “우리는 수학을 전공하는 것이 아니라 데이터 사이언스를 전공하고 있다”라는 점이다.

중세 시대에 프랑스어, 독일어, 이탈리아어가 피진어와 크리올어의 과정을 거쳐 처음 형성되었다. 두 단어에 익숙하지 않은 분들을 위해 설명하자면, 피진어는 부모와 자녀가 공통된 언어 없이 사용하는 언어를 말한다. 크리올어는 그 자녀들이 공유하는 공통 언어를 가리킨다. 부모가 공통 언어를 사용하지 않을 경우, 자녀는 종종 두 언어 중 일부만 배우게 되고 가족끼리 의사소통하기 위해 일종의 새로운 언어를 만들어낸다. 이를 “피진 과정”이라고 한다. 반면 한 마을이나 여러 마을이 공유하여 고유한 문법을 가진 또 다른 언어를 만들어내는 것을 “크리올 과정”이라고 한다.

데이터 과학자에게 수학은 라틴어가 아니라 기껏해야 프랑스어, 독일어, 이탈리아어에 불과하다. 형식은 라틴 알파벳과 같은 수학이지만, 우리가 사용하는 수학은 수학자들의 수학과는 상당히 다르다. 유럽의 주요 언어는 어떤 부분에서 거의 동일하다. 마찬가지로 데이터 사이언스, 컴퓨터 과학, 자연 과학, 심지어 경제학에서도 일부 수학 형태는 완전히 동일한 의미를 갖는다. 그러나 프랑스어가 독일어와 크게 다른 것처럼, 과학자들은 그들의 분야에 맞게 수학을 사용하기 때문에 분야 별로 수학이 조금씩 다르다.

중세 유럽의 교육을 잘 받은 지식인이라면 라틴어를 이해할 수 있었을 것이고, 서유럽을 여행하는 데 큰 어려움 없이 의사소통할 수 있었을 것이다. 아니더라도 최소한 기본적인 의사소통은 가능했을 것이다. 라틴어는 중세 유럽에서 보편적인 언어였기 때문에, 많은 과학 분야에서 수학처럼 사용되었다. 마찬가지로 대학원 교육을 잘 받은 STEM 학생이라면 수학 전문 용어를 이해할 수 있어야, 다른 분야의 연구를 이해하는 조금이라도 데 도움이 될 것이다.

이제 데이터 사이언스에서 사용되는 수학이 수학자들의 수학과는 다르다는 것을 이해했기 바란다. 그들의 수학은 마치 고대 로마에서 사용하던 라틴어인 반면, 내가 사용하는 수학은 프랑스어, 독일어, 이탈리아어를 쓰기 위한 라틴 알파벳으로 내 상황에 맞게 알파벳 체계를 차용한 것 뿐이다.

데이터 사이언스도 경제학처럼 자신만의 언어가 필요하다

수학이 많이 나오는 발표를 이해하기 어려울 때, 발표자에게 “말로 풀어서 설명해 줄 수 있나요?”라고 요청하는 경우가 많다. 이처럼 데이터 사이언스에서 수학 개념을 간단한 말로 표현할 수 있어야 한다. 하지만 y=f(a,b,c)를 온전히 표현하기에 4개의 단락은 부족할 수 있다. 4개 이상의 단락을 더 효율적으로 전달할 수 있는 방법은 뭐가 있을까? 그 방법은 크리올어처럼 자신만의 언어를 만드는 방법이고, 다른 많은 STEM 전공자들도 같은 과정을 거친다. 예를 들어 경제학에서 사회학 기반 연구 방법과 수학 기반 연구 방법 사이에 수십 년에 걸친 싸움이 있었다. 1980년대에 사회학 기반 연구 방법은 과학적 논리를 구축하기에 부족하다는 평가가 많아 결국 이 싸움에서 졌다. 즉, 경제학에서 수학은 4단락보다 더 뛰어난 의사 소통 수단으로 인정받은 것이다. 이제 사회학 계열의 경제학은 몇몇 영국 대학에서만 찾아볼 수 있고, 다른 학교에서는 역사학이나 사회학 전공에서 볼 수 있다. 심지어 주류 경제학자들은 이들을 경제학자로 취급하지 않는다.

데이터 사이언스 분야도 비슷한 방식으로 발전하고 있다. 한때 사람들은 데이터 사이언스에서 컴퓨터 프로그래밍이 필요하다는 이유로 소프트웨어 엔지니어가 데이터 과학자라고 생각했다. 하지만 그 생각이 틀렸다는 것을 깨닫고, 지금은 아무도 그렇게 생각하지 않는다. 소프트웨어 엔지니어는 웹사이트, 데이터베이스, 하드웨어 모니터링 시스템을 위한 프로그래밍 기술을 갖춘 엔지니어다. 반면 데이터 과학자는 프로그래밍을 하긴 하지만, 웹사이트나 데이터베이스에 관한 것이 아니다. 데이터에서 숨겨진 패턴을 찾고, 그 패턴을 설명하는 변수로 모델을 만들고, 모델 기반 패턴 분석을 통해 사용자 행동을 예측하는 일을 한다.

하지만 재밌는 점은 y=f(a,b,c)를 두고 다른 데이터 과학자와 이야기할 때, “y는 a, b, c의 함수야”와 같은 방식으로 이해하길 바란다. 왜냐하면 간단하게 한 마디 할 것을 4단락으로 설명하고 싶지 않기 때문이다. 많은 데이터 과학자가 상대방이 간결한 표현으로 이해하기를 바라는 것은 통용되는 의견이다. 수학을 전공하지 않은 사람에 대해 벽을 쌓는 것 아니냐는 속물 같은 생각으로 들릴 수 있지만, 데이터 과학자가 수학을 일종의 언어로 사용하고 있음을 보여주는 좋은 예시라고 생각한다. 일본인 관광객이 일본어 가이드를 찾는 것처럼 우리끼리 같은 언어를 사용하길 바랄 뿐이지, 영어를 사용하는 가이드는 전혀 가치가 없다.

수학 자체에 매몰되지 말고, 수학을 언어로 표현하는 직관적 이해가 중요해

나는 몇 년 전에 학부 고학년 과정인 BSc Data Science와 비슷하지만, 어려운 수학/통계 지식이 필요 없는 MBA AI/BigData 과정을 만들었다. 데이터 사이언스는 수학 개념을 빌려 실제 사례에 제대로 적용하는 게 중요하기 때문에 MBA 과정으로 충분하다고 생각한다. 왜냐면 아무리 어려운 방정식도 4단락으로 변환할 수 있고, 그 4단락을 어떻게 직관적으로 이해하는 지가 더 중요하기 때문이다. 또한 우리는 평상시에 수학으로 대화하는 게 아니기 때문에, 수학 개념을 실생활에서 사용하려면 수식을 간단한 말로 번역해서 사용해야 한다.

예를 들어 나는 수업에서 내생성의 3가지인 측정 오차(Measurement error), 누락 변수 편향(Omitted variable bias), 동시성(Simultaneity)을 가르쳤다. BSc 학생들에게는 수학적으로 편향을 도출하게 했지만, MBA 학생들에게는 각 사례에 대해 어떤 편향이 예상되는지, 비즈니스와 밀접한 관련이 있는 실생활 사례는 무엇인지 논리를 따라가게 했다.

논리만 따라가도 충분하다고 생각한 예시로 한 MBA 학생이 회사 제조 라인에서 측정 오차로 인해 자동화 공정 속도가 느려지는 오류를 설명하고자 했다. 계량경제학을 공부한 사람이라면, 이 오차로 인해 변수의 영향력을 과소평가하는 축소 편향(Attenuation bias)이 발생한다는 사실을 안다. 제품 라인 관리자가 측정 오차와 축소 편향 사이의 연관성을 알고 있었다면, 그 오류로 인한 자동화 손실에 더 큰 관심을 가졌을 것이다.

심지어 일부 MBA 학생들은 수학적 비중이 높은 MSc 과정 학생들보다 더 좋은 모습을 보인다. 보통 수학을 많이 사용하는 과정이 우수하다고 생각하지만, 안타깝게도 많은 학생들이 데이터 사이언스 개념과 수학 개념을 일치시키지 못한다. 이는 수학에 대한 사전 교육이 부족해서가 아니라 영수, 옥순, 광수의 작업 할당 모델인 f(a,b,c)를 직관적으로 이해하지 못하기 때문이다. 직관과 논리보다는 수학에 너무 심취해있어서 발생한 결과다.

입학할 때 MSc 과정 아니면 의미 없다는 주장을 하는 학생들도 있었고, MBA는 자존심 상해서 절대 안 된다는 학생들도 있었다. MBA를 일종의 ‘모욕’으로 여겼지만 학교에 입학하고 몇 주만 공부해보면, 어려운 수학은 필요하지 않다는 것을 이해하기 시작한다. 대부분의 학생들은 학계가 아니라 산업에서 일자리를 찾으므로, 수학보다는 데이터 사이언스적 직관이 훨씬 중요하다는 것을 이해하길 바란다.

Similar Posts