머신러닝을 공부하다 보면 대부분의 내용이 예측 성능을 높이는 데 집중되어 있다는 것을 느끼게 됨
하지만 실제 데이터 분석이나 의료 데이터 같은 분야에서는 단순히 잘 맞추는 것보다 어떤 요인이 결과에 영향을 미치는지를 이해하는 것이 더 중요할 때가 많음
Stanford의 Causal Machine Learning 강의를 보면서 머신러닝과 인과추론이 어떻게 연결되는지 정리해보고 싶어 이 글을 작성하게 됨
머신러닝의 핵심 목적은 새로운 데이터에 대한 예측 성능을 최대화하는 것임
이를 위해 머신러닝은 매우 유연한 함수 형태를 사용하는데 예를 들어 딥러닝이나 랜덤포레스트 같은 모델은 데이터의 복잡한 패턴을 학습하는 데 매우 강력함
하지만 모델이 지나치게 복잡해지면 과적합(overfitting) 문제가 발생하게 되고 이를 방지하기 위해 머신러닝에서는 정규화(regularization) 를 사용함
대표적인 방법으로는 다음과 같은 것들이 있음
L1 Regularization
모델의 가중치에 절댓값 패널티(|w|) 를 추가하는 정규화 방법
불필요한 가중치를 0으로 만들어 변수 선택 효과가 있음
그래서 특징 선택(feature selection)에 유리함
L2 Regularization
가중치에 제곱 패널티(w²) 를 추가하는 정규화 방법
가중치를 완전히 0으로 만들기보다는 전체적으로 작게 만듦
모델이 특정 변수에 과도하게 의존하는 것을 방지함
Dropout
학습할 때 일부 뉴런을 랜덤하게 비활성화시키는 방법
매 학습마다 다른 네트워크처럼 작동해서
뉴런 간 과도한 의존(co-adaptation)을 방지하고 과적합을 줄임
Early Stopping
학습을 계속하다 보면 train 성능은 좋아지지만 validation 성능이 나빠지는 시점이 생김
그 시점 전에 학습을 멈춰 과적합을 방지하는 방법
그리고 정규화의 강도는 보통 Cross Validation을 통해 데이터 기반으로 결정되고 이러한 접근 방식 덕분에 머신러닝은 이미지 인식,자연어 처리,추천 시스템 같은 분야에서 매우 높은 성능을 보이고 있음
하지만 중요한 점은 머신러닝이 예측 정확도에 초점을 맞추고 있다는 것임
전통적인 계량경제학의 목표는 계수의 의미를 해석하는 것임
예를 들어 다음과 같은 모델을 생각해 보면
여기서 우리가 알고 싶은 것은 치료(Treatment)의 효과인 가 실제로 어떤 의미를 가지는지를 해석하는 것이 중요함
하지만 머신러닝 모델은 매우 복잡한 구조,수많은 파라미터, 데이터 기반 튜닝을 사용하기 때문에 계수 해석이 거의 불가능함
예를 들어 딥러닝 모델이 질병 발생 확률 = 0.83 이라고 예측했다고 하더라도 왜 그런 결과가 나왔는지를 설명하기는 어려움
따라서 머신러닝은 보통 Prediction Tool로 사용되고 Causal Inference에는 바로 적용하기 어려움
인과추론에서 가장 기본적인 개념은 Average Treatment Effect (ATE)임
ATE는 다음과 같이 정의됨
여기서
문제는 같은 사람에 대해 두 가지 결과를 동시에 관측할 수 없다는 것인데 이를 Fundamental Problem of Causal Inference 라고 함
RCT에서는 치료가 무작위(random) 로 배정되기 때문에 ATE는 다음과 같이 계산할 수 있음
하지만 현실에서는 대부분 의료 데이터, 경제 데이터, 사용자 행동 데이터처럼 관찰 데이터(Observational Data) 를 사용하기 때문에 Confounding 문제가 발생한다.
관찰 데이터에서는 교란 변수(confounder) 가 존재함
예를 들어 운동 → 건강 을 분석한다고 해도 실제로는 건강한 사람 → 운동일 수도 있음
그러므로 와 같은 구조가 발생함
이 경우 단순 비교로는 인과 효과를 정확히 추정할 수 없음
이를 해결하기 위한 대표적인 방법이 AIPW (Augmented Inverse Propensity Weighting) 임
이 방법은 두 가지 모델을 동시에 사용함
이 두 가지를 결합하면 Double Robust Estimator가 됨
Double Robust는 두 모델 중 하나만 정확해도 추정이 일관성을 가지며 또한 다음과 같은 통계적 성질을 가짐
따라서 머신러닝을 사용하면서도 통계적 추론이 가능함
머신러닝 모델을 사용할 때 중요한 문제는 Overfitting임
같은 데이터를 사용해 모델을 학습하고 같은 데이터로 효과를 추정하면 편향이 발생할 수 있으며 이를 해결하는 방법이 Cross-Fitting임
방법은 다음과 같음
ATE는 평균 효과만 알려주지만 실제로 중요한 질문은 누구에게 치료가 효과적인가임
이를 Conditional Average Treatment Effect (CATE) 라고 함
CATE를 추정하는 대표적인 머신러닝 방법이 Causal Forest이며 기본 아이디어는 다음과 같음
Causal Forest는 다음과 같이 해석할 수 있는데 Adaptive Nearest Neighbor Estimator 또한 확장된 방법으로 Local Linear Forest 같은 방법도 존재함
Causal Machine Learning의 궁극적인 목표는 단순히 효과를 추정하는 것이 아니라 어떤 정책을 선택해야 하는가 를 결정하는 것임
예를 들어
이 문제를 Policy Learning이라고 하며 정책을 라고 하면 목표는 즉 Expected Welfare를 최대화하는 것임
이를 위해 다음과 같은 방법들이 사용됨
IPW Loss (Inverse Probability Weighting Loss)
처치(treatment)를 받을 확률(propensity score) 의 역수를 이용해 가중치를 주는 방법
특정 처치를 받을 확률이 낮은 데이터에 더 큰 가중치를 부여함
이렇게 해서 처치 배정의 편향(selection bias) 을 보정하려는 목적
Doubly Robust Loss
두 가지 모델을 동시에 사용하는 방법
Propensity model (처치 받을 확률 모델), Outcome model (결과 예측 모델)
두 모델 중 하나만 제대로 맞아도 추정이 비교적 안정적으로 유지됨
머신러닝은 예측 성능을 극대화하는 도구이고 인과추론은 개입의 효과를 추정하는 방법론임
최근 연구에서는 Machine Learning + Causal Inference 를 결합하여 아래 3가지를 추정하는 Causal Machine Learning이 활발히 연구되고 있음
개념을 잘 정리해주셔서 저도 이해하는 데에 큰 도움을 받았습니다~~!! 👏🏻