경제학자들이 알아야하는 ML, DL, RL 방법론
아직까지 머신러닝, 딥러닝, 인공지능 같은 단어들이 보고서를 통과시켜주는 마법의 단어인 2류 시장 대한민국과 달리, 미국, 서유럽에서는 이런 계산과학 방법론을 다른 학문들이 어떻게 받아들여야하는지 이미 한번의 웨이브가 지나가고, 어떤 방식으로 쓰는게 합리적인지 내부 토론으로 정리가 되어 있다.
출신이 경제학이라 석사 이후로 발을 뺀지 오래되었음에도 불구하고 습관처럼 유명한 경제학자들 웹페이지에 올라온 Working paper나 기고를 훑어보는데, 오늘은 경제학에서 ML 방법론을 어떻게 받아들이고 쓰고 있는지에 대한 정리글을 소개한다.
참고로 원 글의 저자는 Stanford 경제학 교수 2명이고, 글이 외부에 공개된 시점은 2019년 3월이다. (대략 2017-2018년에 이미 논의가 정리되었었다고 봐도 된다.) – 글 링크
(Source: ART19.com)
Model-based vs. Algorithmic Approach
기존의 통계 모델링을 하는 사람들이 대체로 Model-based 접근을 하는 반면, 계산과학을 하는 사람들(중 일부)은/는 모델을 못 정하고 시작해도 Algorithm이 데이터 속의 관계를 찾아내줄 수 있다는 관점을 갖고 데이터에 접근한다.
어느 쪽이건 실제 데이터가 갖고 있는 숨겨진 구조를 찾아내고, 그 구조를 미래 예측이나 자신의 문제를 해결하는 용도로 쓰려고 한다는 “Listen to Data”라는 최종 목적지는 동일하지만, 출발점을 어디로 두느냐가 다를 뿐이다.
그간 파비클래스 강의에서부터 여러 경로로 꾸준히 반복해왔던 말이기도 한데, 데이터의 실제 구조를 어느 정도 예측할 수 있다면, 계산비용을 과다하게 지불하면서 적절한 모델을 찾아줄 것이라는 막연한 기대를 갖고 접근할 필요없이, 알고 있는 모델을 바탕으로 데이터를 활용하면 된다.
가장 단순한 계산이 OLS 같은 선형 계산법이고, 그 외에도 데이터의 분포함수를 알고 있다면 쓸 수 있는 Maximum Likelihood Estimation (MLE), 혹은 데이터가 반드시 충족해야하는 Expectation (ex. E(x) = 1)을 활용하는 Method of Moments Estimation (MME) 등의 계산법이 있다.
데이터가 정규 분포를 따르고 있지 않으면 OLS = MLE가 깨지면서 MLE가 우월한 계산법이 되고, 데이터의 입력 변수가 2개 이상일 경우에 (Decision Theory 논리에 따르면) 일반적으로 MME가 OLS보다 우월한 계산법이다.
그런데, 데이터의 분포함수도 모르고, Expectation도 확신이 없다면?
그렇다고 데이터 속에 Endogeneity 같은, 반드시 IV 등을 이용한 데이터 전처리가 굳이 필요없는 데이터를 모았는데, 그 데이터 속에서 패턴을 찾아내야한다면? 그 관계가 선형 구조가 아닐 것이라는 매우 강한 확신이 있다면? (ex. 이미지 인식, 자연어 처리)
이 때 Algorithmic approach가 엄청난 파워를 발휘할 수 있다.
기존의 OLS, MLE, MME 등의 통계학 계산법들이 못 찾아냈던 패턴을 찾아내주니까.
통계학에서는 “Need to move away from exclusive dependence on data models, and adopt a more diverse set of tools”라는 표현으로 Algorithmic approach를 반긴다.
단, 언제 쓴다? “Listen to Data”를 해야되니까, Data의 구조상 Algorithmic approach가 필요한 경우에만!
(데이터만 있으면 무조건 Algorithmic approach 중 가장 많이 알려진 Deep Neural Net만 쓴다는 사람들에게 바치는 문장이다.)
왜 경제학계에서는 Algorithmic approach를 안 or 늦게 받아들였나?
첫째, 경제학, 특히 계량경제학 하는 사람들은 수학적인 Formal Property를 너무 좋아한다. 수학적으로 딱 떨어지는 결과, ex. consistency, efficiency, normality, 값이 없으면 그 논문은 발표 자리에 한번 나갈 기회 얻기가 힘들다. ML 쪽에서 DNN이 항상, 언제나, 무조건 Random forest보다 우월하다는 증명이 가능할까? 아직까지 된 적도 없고, Empirical test는 안 된다는 걸 보여주고, 무엇보다 어느 모델이 다른 모델보다 Universal하게 우월할 수 없다는, 데이터에 따라 적절한 모델은 달라질 수 밖에 없다는 인식은 ML 연구자들이 공통적으로 갖고 있는 인식이다. (비전문가인 국내 개발자 집단만 DNN이 무조건 제일 좋은 줄 안다.) 그러니까 더더욱 Formal Property 좋아하는 사람들이 싫어하겠지.
둘째, 결과값의 정확도를 검증하는 방법이 1차원적이기 때문이다. 통계학 방법론들은 분산을 찾고, t-test를 위시한 평균-분산 구조에서 결과값의 검증이 가능하다. 1st moment인 평균만 쓰는게 아니라, 2nd moment인 분산까지 쓰니까, 분포함수가 정규분포라면 확정적인 결론을 얻을 수 있고, 그 외의 데이터라고해도 해당 분포함수 기반의 t-test 값이 있다면 신뢰구간에 대해 높은 확신을 가질 수 있다. 반면, ML 방법론들로는 분산을 찾는다는게 수만번 비슷한 계산을 돌려서 각각 다른 1st moment가 나오는걸 보는 방법 이외에 달리 합리적으로 분산을 얻어낼 수가 없다. 그러니까 training set, test set으로 데이터를 분리한 다음, test set에서의 정확도를 쳐다보는, 신뢰구간을 구할 수 없는 계산법에 의존하는 것이다. 이쪽에서는 Beta hat을 구하는게 아니라 Y hat을 구하고, Y hat과 실제값의 차이만 본다. 상황이 이렇다보니, 결과값의 Robustness에 논문 쓰는 능력을 검증받는 경제학계에서 ML 방법론을 쓴다는 것은, 자신의 논문이 Robustness 검증을 안 했다는 걸 스스로 인정하는 꼴이 되기 때문에, ML 방법론을 알아도 쓸 수가 없는 것이다.
셋째 이후는 배경 지식이 좀 (많이) 필요한 관계로 글 마지막에 추가한다.
약간 개인 의견을 추가하면, Algorithmic approach 중 하나로 활용 가능한 Network theory를 이용해 연구를 하던 무렵 (Network은 행렬로 정리했을 때 같은 Network이어도 눈에 보이는 Representation은 얼마든지 달라질 수 있다 – Isomorphism 참조), 이런 Network이 얼마나 Robust한 설명인지를 따지려면 여러가지 경우의 수를 놓고 봐야할텐데, 모델이 완전히 달라질 것 같고, 아니면 아예 못 푸는 문제가 될 것 같은데, 과연 논문을 Publish하는게 가능하겠냐는 우려 섞인 걱정을 해준 분이 있었을 정도였다.
요즘 DNN에서 Node-Link 구조가 조금만 바뀌어도 모델이 완전히 바뀌는데, 거기다 데이터만 바뀌어도 Link값들이 크게 변하는데 과연 믿고 쓸 수 있느냐는 질문이 나오는데, 이런 질문이 1990년대 후반, 2000년대 초반에 Neural Network에 Boltzmann 스타일의 Gibbs sampling + Factor Analysis 접근이 시도되었을 때도 나왔던 질문이다. 현재까지 Boltzmann 구조보다 더 효과적인 Network의 Layer간 Link 값 계산을 정리해주는 계산법이 없으니 현재도 유효한 질문이고, 사실 Network이라는 구조 그 자체가 이런 “코에 붙이면 코걸이, 귀에 붙이면 귀걸이”라는 반박을 이겨내기 힘든 구조를 갖고 있기도 하다.
Ensemble Methods vs. Model Averaging
무조건 Algorithmic approach를 피했던 것은 아니고, 실제로 Algorithmic approach라고 생각하는 계산법들을 경제학계에서 이용한 사례도 많다. 대표적인 경우가 ML에서 쓰는 Ensemble 모델과 경제학에서 흔히 쓰는 Model Averaging 방법이다.
예를 들어, Random Forest, Neural Network, LASSO를 결합하는 Stacking 계열의 Ensemble을 진행한다고 생각해보자. 이걸 Model Averaging이 익숙한 계량경제학의 관점으로 다시 표현하면,
$latex (\hat{p}^{RF}, \hat{p}^{NN}, \hat{p}^{LASSO}) = \underset{p^{RF},p^{NN}, p^{LASSO}} {\text{arg min}} \sum_{i=1}^{N^{test}} (Y_i – p^{RF} \hat{Y}_i^{RF} – p^{NN} \hat{Y}_i^{NN} – p^{LASSO} \hat{Y}_i^{LASSO})^2 \\ \\ \text{subject to } p^{RF} + p^{NN} + p^{LASSO} = 1, \text{ and } p^{RF}, p^{NN}, p^{LASSO} \geq 0 $
이라고 쓸 수 있다.
원래의 Y값을 가장 잘 설명하는 모델을 찾고 싶은데, 3개 모델의 가중치 합계가 1이 된다는 조건 (& 양수 조건) 아래, 셋 중 어떤 모델을 써서 오차를 최소화하는지에 맞춘 최적화 계산을 하는 것이다.
(아마 일반 유저들이 활용하는 Stacking Library도 위의 방식으로 최적화 계산이 돌아가고 있을 것이다.)
단순히 위의 3개 ML 계산법 뿐만 아니라, MLE, MME, OLS 등등의 통계학 계산법을 활용할 수도 있고, 어떤 계산법이건 합리적이라고 판단되는 계산법들을 모아서 Model Averaging을 하고 있으면, Ensemble과 이론적으로, 실제로도 동일한 계산이 된다.
단, 합리적이라고 판단할 수 있는 계산이 경제학에서는 Bias-Variance trade off를 놓고 볼 때, Bias가 없는 쪽만 따지는게 아니라, Confidence interval (또는 Inference)도 중요하게 생각하는 반면, ML에서는 분산 값 자체가 없으니까 철저하게 Out-of-sample performance, 즉 Bias가 없는 쪽에만 집중한다.
그래서 Stacking 또는 Model Averaging에 넣는 후보 계산법들도 달라질 수 있고, 결과값의 Inference에 대한 요구치도 다르다.
독자들의 이해를 돕기 위해 약간의 개인 견해를 덧붙이면, 선거 여론조사 여러개를 평균해서 가장 실제에 가까운 값을 찾는다고 했을 때, ML 방법론을 쓰는 사람들은 1,000명이건, 500명이건, 10,000명이건, 몇 명에게 물었건 상관없이 평균값 = 실제값으로 일단 가정하고, 그 값 근처에 있는 여론조사를 우선 갖다 쓰고, 틀렸으면 다른 여론조사로 갈아 끼운다는 관점이라고 볼 수 있다. 반면 경제학 방법론을 쓰는 사람들은 500명이면 분산이 너무 크기 때문에, 분산이 큰 경우에는 가중치를 낮게 주고, 분산이 작은 경우에 가중치를 높게 준 다음 가중 평균을 해서 기대값을 구하고, 그 때 +- x.y% 라는 신뢰구간을 꼭 붙여야된다고 생각하는 것이다.
어차피 신뢰구간 그거 누가보는거냐고 생각할 수도 있고, 신뢰구간이 +- 20% 이렇게 터무니없게 나오면, 아무리 여러 여론조사를 모아서 평균값을 썼다고해도, 그 숫자를 누가 믿고 선거 결과 예측에 쓰냐는 반박을 할 수도 있다.
파비클래스 수업 시간에도 항상 강조하는 내용이지만, Ensemble / Stacking / Model Averaging 그 어떤 단어를 쓰건 상관없이, 기본 모델 N개를 결합할 때는 계산의 오차 (Bias)가 작은 경우만 집중할게 아니라, 믿을 수 있냐 (Variance)는 질문에 답이 나오는 모델들을 결합해야 된다고 지적한다. 이름을 어떻게 붙여서 어느 학문에서 쓰고 있건 상관없이, 수학적인 Property는 어차피 같은데, 결과값을 내가 쓸 수 있느냐 없느냐가 바로 “Listen to Data”를 제대로 했는지 아닌지에 따라 결정되기 때문이다. 모델의 Variance가 크다는 말은 Listen to Data를 하지 않은 모델이라는 뜻이니까. (혹은 너무 샘플 데이터만 곧이곧대로 믿었다는 이야기니까.)
Decision Tree vs. Regression Tree
ML 계산법을 처음 보는 사람들은 Decision Tree라는게 Regression보다 압도적으로 우월한 계산 아니냐는 질문을 하는 경우가 종종 있다. 근데, 기본형 Tree도, 확장버전인 Random Forest도 모두 UC Berkeley 통계학자가 1984년, 2001년에 쓴 논문에 정리되어 있는 계산법들이다. 정리되기 오래 전부터 이미 다들 알고 있는 계산법이기도 했고.
위에서 보듯이, Regression에 기반한 모델을 여러개 Regression으로 구분하도록 구간별 평균값을 다르게 잡는게 Regression tree의 시작점이다.
역시 파비클래스 강의에서 계속 설명해왔던 내용인데, 여러 구간에 나눠서 Regression하는게 의미가 있는 경우(ex. 약에 반응하는 몸무게 구간이 여러개 나뉘어 있다는 가정)에만 Tree 계열의 모델이 의미가 있다. 예를 들어, c보다 작은 구간에서는 Regression이 별로 효과가 없는 반면, c보다 큰 구간에서는 Regression으로 특정 변수간 유의미한 관계가 두드러지게 나타날 수 있다.
Decision Tree라고 외부에 알려진 모델은 Y와 Y평균값 차이를 1개 변수에 한정해서 여러 스텝으로 반복하고, 구간을 나눌 때 0/1 형태로 구분하는 Step function을 Kernel로 활용하는 Regression Tree의 특수형태 중 하나다. 일반적으로 Regression Tree라는 명칭은 1 -> N개 변수에 대응할 수 있는 일반형 Tree 모델을 오랫동안 통계학에서 불러왔던 명칭이다. (참고로 이 모델을 중첩형으로 쌓으면 Neural Network가 된다)
위의 식에 Alpha값이라는 모델별 가중치에서 보듯이, Random Forest란 그런 여러 Tree 모델들에 각각 얼마만큼의 가중치를 배분해주느냐, 그래서 Stacking을 어떻게 하느냐는 계산이다. 차이가 있다면, Tree가 진화하는 구조 속에 데이터에서 알려주는대로 가중치를 나눠 배분하면서 구간을 쪼개가기 때문에, 좀 더 복잡한 구조를 가진 데이터일 경우에 적합한 모델을 얻을 가능성이 높아진다.
이해도를 높이기 위해 복잡한 구조를 가진 데이터의 예시를 하나만 들어보자. 몸무게 특정 구간 A, B, C, D, E 그룹 중 B와 D 그룹에서만 반응하는 약물이라고 생각하면, A, C, E 그룹과 데이터가 혼재된 상태에서의 Regression보다 구간을 여럿으로 쪼갤 수 있는 Tree가 더 효율적인 계산이고, 그런 구조가 단순히 몸무게 하나에서만 나타나는게 아니라, 키, 팔 길이, 다리 길이 등등의 다양한 신체 구성 요소의 범위에 제각각으로 영향을 받는다면, 이걸 Regression 하나로 찾아낸다는 것은 데이터 구조에 맞지 않는 계산이다. Tree로 모델을 만들고, 다양한 샘플에서 비슷하게 계속 맞아들어갈 수 있는 모델을 찾겠다면, Decision Tree 하나만 찾고 끝나는게 아니라, Random Forest를 이용해 여러 모델을 Model averaging하는게 적절한 계산법이다.
결론이 팔 길이 40cm – 45cm, 다리 길이 80cm – 85cm, 키 175cm – 180cm 구간과 각 값이 20%씩 더 뛴 구간에서만 약물이 효과가 있고, 그 외에 나머지 구간에서는 아예 효과가 없다면? 각 값이 10% 작은 구간과 10% 큰 구간에서는 아무런 효과가 없었다면? 일반적인 Regression은 그 약물이 그다지 효과가 없다고 결론 내리겠지만, Regression을 Tree를 이용해 구간으로 나눠보면 위의 특정 2개 구간에서만 두드러진 효과가 있음을 좀 더 쉽게 찾아낼 수 있다.
이런 구간별 효과는 Monotonic increase/decrease를 가정하는 기존 Regression 모델로 풀어내는데 한계가 있으니, 구간을 하나하나 다 뒤져보겠다는 관점에서 Algorithmic approach를 통해 (More specifically, Tree 모델을 통해) 그런 구간을 찾아낼 수 있도록 컴퓨터에 의존하는 것이다. (다만 Monotonic이 깨지는 경우가 그렇게 일반적이지는 않다. 팔 길이가 40cm, 50cm, 60cm +-1cm 인 구간에서만 효과가 있고, 나머지 팔 길이에서는 효과가 없는 약물이 과연 얼마나 될까?)
Neural Network vs. Factor Analysis
K개의 변수 X가 있다고 가정해보자. 그 중 실제로 숨겨진 변수 (Latent / Unobserved variable)인 Z는 총 K_1개가 있다고 하면,
Sigmoid 함수를 Kernel, 또는 (ML쪽 용어로) Activation Function으로 쓴다고 했을 때, 첫번째 Hidden Layer를 바로 위의 식으로 정리할 수 있다.
위에서 Beta는 ML에서 이야기하는 가중치이고, g(.)는 Activation function, K는 입력하는 변수의 숫자, K_1은 Node의 숫자, Z는 숨겨진 변수, epsilon은 회귀분석에서 말하는 오차항이다.
같은 논리로 Hidden Layer 1에서 Hidden Layer 2로 가는 식을 세울 수도 있다.
이런 식이 반복되는 구조가 Neural Network로 알려진 계산법인데, 파비클래스에서 설명해왔던대로, Activation Function을 단순 선형 함수로 쓰는 경우는 Linear Factor Analysis이고, 비선형 함수를 쓰는 경우는 Non-linear Factor Analysis이다. Factor Analysis와 동치인 이유는 Hidden Layer라고 부르는 곳에 있는 Node가 모두 숨겨진 변수 (Latent / Unobserved variable)이라는, 전형적인 Factor Analysis 계산의 결과값이기 때문이다. 숨겨진 변수를 정확하게 특정할 수 없기 때문에, FA 계산은 많은 경우에 “코에 걸면 코걸이, 귀에 걸면 귀걸이”라는 비난을 받는다. 글 앞 부분에 Network 모델이 가진 한계를 지적하던 부분과 일맥 상통한다.
정규분포의 합과 차는 정규분포이기 때문에, 입력 데이터가 정규분포인 경우에 출력값도 정규분포라고 가정한다면, 단순한 Linear Factor Analysis로 충분한 계산이다. 말을 바꾸면, Neural Network라는 계산이 필요한 데이터 프로세스는 입,출력 데이터가 모두 정규분포가 아닌 경우에 제한된다. Non-linear Factor Analysis가 필요하다는 뜻이기 때문이다.
같은 맥락에서 Deep Neural Network가 필요한 경우는, 여러번의 Factor Analysis가 반복되어야 하는 계산인 경우인데, 위의 정규분포 -> 정규분포 구조에서는 의미가 없다. 정규분포의 합과 차는 계속해서 정규분포를 결과값으로 내보낼 것이기 때문이다. DNN이라는 계산법이, 데이터가 위상구조를 띄고 있어서 Factor를 단번에 찾아내는게 어려운 구조, 그래서 여러 번의 Factor Analysis를 반복해서 위상구조의 깊숙한 곳을 찾아가야 원하는 데이터의 숨겨진 구조를 찾아낼 수 있는 경우에만 필요한 계산법이라는 것이 바로 이런 맥락이다.
경제학에서 Algorithmic approach를 안 쓴 셋째, 넷째 이유
위의 지식이 갖춰졌으니 경제학계에서 Algorithmic approach를 왜 안 다뤘을까에 대한 이유를 추가하면,
셋째, 경제학의 많은 데이터들이 Non-linear 패턴이나 구간별 효과값이 다른 경우가 거의 없기 때문이었다. 대부분의 X -> Y 관계는 Monotonic increase/decrease 관계를 갖고 있고, 그 패턴이 Non-linear하다고해도 Log값 기준으로 변화율간 관계, 특정 구간 (Equilibrium 근처)에서의 움직임을 보고 있으면 non-linearity가 대부분 제거된 구조를 보는 경우가 대부분이다. 위에서 보듯이, 대부분의 ML 방법론들이 기존의 통계학을 “단순히 다르게” 쓰는 계산법들이라 계량경제학을 하는 사람들이 몰랐을리가 없었음에도 불구하고 이용하지 않았던 가장 궁극적인 이유다. 필요가 없었으니까. 다루는 데이터가 달라지거나, 목적이 달라지는 경우에만 눈을 돌리겠지.
넷째, 사회과학 데이터는 Endogeneity가 있는 경우가 많기 때문에, Simultaneity, Mis-specification, Measurement error 등등을 다뤄주거나, Time series에서 Endogeneity 같은 모델 구조적인 문제가 아니어도 Noise를 제거해줘야하는 경우를 먼저 고민한다. 일단 알려진 or 짐작할 수 있는 문제를 제거하지 않고 데이터 작업에 들어가면 학자 자격을 의심 받는다. 반면, Algorithm approach는 그런 데이터 전처리를 깊게 고민하지 않고도 데이터 속의 패턴을 찾아낼 수 있다는 관점에서 활용되는 계산법인데, 데이터에 Endogeneity를 비롯한 모델 구조적인 문제 및 각종 Noise를 제거하지 않고 무작정 Algorithmic approach에만 기대봐야 원하는 값을 찾을 수도 없고, 우연히 찾아낸다고 해도 우연일 뿐이지, 계속 반복적으로 쓸 수는 없는, 즉 학문적 가치, 아니 지식의 가치가 없다고 판단하기 때문이다.
실제로 경제학자들이 모인 연구소에 ML, DL, RL 같은 Algorithm approach를 IT학원처럼 코드만 주워담는게 아니라, 제대로 수학적으로 빌드해서 강의하면,
에이~ 그걸 어떻게 써~
라는 말이 먼저 나온다. Noise 데이터에서 Noise를 제거하지 않고 Pattern을 찾을 수 있다는 “Algorithm approach”가 “사기”라는걸 바로 인지했기 때문에 즉, 사회과학 데이터에는 “틀린” 접근이라는걸 바로 인지하기 때문이다. Noise가 없고, 인과 관계 및 데이터 구조에 모델 구조적인 문제가 없는 데이터, 그런 고민 자체가 필요없는 데이터, 즉 이미지 인식, 자연어 처리 등등, Algorithm approach가 맞는 데이터에만 써야하는데, 그걸 모든 영역에 다 쓸 수 있다고 주장하는 국내 몇몇 공학도들의 우물 안 개구리 같은 모습을 경제학자들이 어떤 눈으로 볼지 충분히 이해되지 않나?
나가며 – ML방법론이 하늘에서 떨어진 방법론이 아니다
이 정도면 링크 건 Summary paper의 약 1/3 정도를 다룬 것 같다. 위의 설명이 어느 정도 길잡이가 됐을테니, 이해하는 독자 분들은 나머지 부분도 링크의 논문을 직접 읽고 이해할 수 있을 것이다. SIAI의 학부 고학년 수준 과목인 Machine Learning, Deep Learning, Reinforcement Learning 등의 수업 일부에서 위의 Summary paper를 다룬다. 그 수업 전에 배우는 다른 통계학 수업에서 배우는 방법론과 위의 설명처럼 하나하나 비교하며, 언제 어떤 경우에만 ML방법론을 쓸 수 있는지를 최대한 직관적으로 이해시키는 것이 그 계산과학 수업들의 목표다. (잘못 배워 나가면 Decision Tree 변형한 모델로 주가 예측하는 변수를 자동으로 찾아낼 수 있다고 망상하는 로보 어드바이저 회사 차리고 투자 받으러 돌아다닐 수도 있다.)
그런 이해도를 갖추게되면, 시장에서 ML, DL, RL을 적용해서 뭔가 엄청난 걸 해 냈다고 주장하는 언론 홍보의 실상을 좀 더 깊이있게, 냉혹한 시선으로 파악할 수 있을 것이다. 아마 학위 과정이 끝나는 무렵이 되면, MBA건 MSc 과정이건 상관없이, 위의 이해도 없이 코드만 갖다 붙여서 만든 결과물이 왜 제대로 작동하지 않는지, 그런 결과물에 시간과 인력과 돈을 쏟아붓는 작업이 얼마나 사회적 자원의 낭비인지, 그래서 제대로 된 지식을 볼 수 있는 시야를 갖춘다는 것이 단순히 연구 작업 뿐만 아니라 기업의 의사 결정과 생존, 발전에 얼마나 결정적인 영향을 미치는지 좀 더 열린 시야로 이해할 수 있게 될 것이다.
하늘 아래 새로운 것은 없다
라는 표현이 있다. ML방법론들, 좀 더 일반화해서 Algorithmic approach라는 것들이, 모델을 기반으로 하지 않고 모델이라고 판단되는 기본 식을 정리해보겠다는, 접근 관점의 차이만 있을 뿐, 사실 방법론들은 모두 기존의 통계학을 활용하는 계산법들에 불과하다. 즉, 기존의 통계학 계산법들이 못하는 걸 해내는 마법도 아니고, 기존의 방법론들이 가진 한계를 벗어나지도 못한다. 그냥 좀 “다른 관점”일 뿐이다.
단지, (특정한 몇몇 경우에만) 모델을 기반으로 하지 않고도 모델을 찾아내는 장점을 가진 반면, 분산, 검정력 등등의 수많은 통계학 도구들을 포기하는 계산법에 불과하다.
그런 한계를 명확하게 이해하고, Listen to Data를 하기 위해 현재 내가 가진 Data의 상황, 내 작업 목적 등등을 두루두루 감안해서 적절한 계산법을 선택하는 것이 진짜 Data Science아닐까?
믿을 수 없겠지만, 저 Summary Paper는 내가 석사했던 학교의 학부 2학년 Introduction to Econometrics 라는 수업의 읽기자료 및 Problem Set이다. 석사 레벨도 아니고, 학부 졸업반도 아니고, 학부 2학년 때 이미 ML, DL, RL이라고 불리는 계산과학적 접근법을 기초 계량경제학 수업 때 (Side로) 듣고(도) 이해하고, Problem Set을 풀 수 있는 수준의 교육을 받는다.
석사 공부하던 시절 내내 그들의 교육 수준에 충격 먹었었지만, 저 논문을 학부 2학년 수업 읽기자료와 연습문제에서 보고 말로 형용할 수 없는 충격을 받았었다. 우리나라 공대에서 자칭 AI한다는 교수들 중에 저 논문으로 만든 고급 연습문제 풀이는 커녕, 논문 자체를 이해하는 비율이 한 자리 숫자가 안 될텐데…
지극히 개인적인 견해를 덧붙이면, 경제학계에서 ML, DL, RL 으로 대표되는 Algorithm approach를 안 쓴 가장 결정적인 이유 (My version of 다섯째)는, 계량경제학자들이 통계학 훈련이 잘 되어 있어서 (최소한 공대보다는 잘 되어 있어서), 통계학 훈련을 하나도 안 받고 무조건 컴퓨터 신(神)님이 모든 문제를 해결해주실 것이라고 중세 신앙적 믿음을 갖는 공학도들보다, 인간의 지성을 더 중요시했던 르네상스 시대에 조금은 더 가까운 공부를 했기 때문이 아닐까 싶다.