
Covariate란?
covariate라는 이름은 말 그대로 보면 co- + variate에서 옴.
- variate: 값이 변하는 변수, 특히 통계에서 random variable(확률변수) 또는 관측 변수 를 가리킴
- co-: 함께, 같이, 공동으로
따라서 covariate는 직역하면 “다른 변수와 함께 변하는 변수” 정도임.
통계에서 dependent variable (종속변수, variate)에 영향을 주는 요인에는
independent variable (독립변수)와 covariate (공변량) 이 있음.
- 독립변수 (independent variable) :
- 독립변수는 종속변수에 영향을 주는 다양한 요인(변수)들 중에서, 관계를 궁극적으로 밝혀내고자 하는 요인(변수)를 의미.
실험자가 관심을 가지고 있는 변수.
- 독립변수는 종속변수에 영향을 주는 다양한 요인(변수)들 중에서, 관계를 궁극적으로 밝혀내고자 하는 요인(변수)를 의미.
- 잡음요인 :
- 데이터를 수집하는 동안 독립변수 외에 종속변수에 영향을 줄 수 있는 요인들을 잡음요인(잡음인자)라고 함.
- covariate (공변량)
- covairate(공변량) 은 엄밀한 의미에서 말하면 독립변수는 아님.
- 하지만, 일반적인 statistical model에서는 covariate도 predictor로 들어감.
- covariate가 우리가 관심을 가진 주된 관심 변수가 아니라는 뜻임.
- 잡음 요인 중 통제 가능하고, 연속적인 변수 ( = 잡음 요인 중 측정하여 분석에서 통제할 수 있는 연속적인 변수)로,
독립변수와 종속변수의 관계를 규명하는데 실험자가 통제하는 변수를 공변량이라고 함.- 통제는 값을 직접 조작한다는 뜻이 아니라, 분석모형에 포함하여 그 영향을 보정한다는 뜻
- 이는 통계적 통제 를 가리킴.
- covairate(공변량) 은 엄밀한 의미에서 말하면 독립변수는 아님.
즉, covariate를 통제하면,
독립변수에 의한 종속변수에서의 영향만을 정확히 규명할 수 있음.
즉, covariate(공변량)는
- 종속변수(variate) Y에 직접 관심 있는 주된 indepdent variable은 아니지만,
- Y와 함께 변하면서 Y에 영향을 줄 수 있는 변수임.
예를 들어 약물 효과를 보려는데 환자의 나이도 결과에 영향을 준다면,
나이는 관심의 중심 변수는 아니지만 결과와 함께 변하는 요인이므로 나이를 covariate라고 부를 수 있음.
Covariate Shift
Covariate Shift에서의 covariate는
실험설계에서 말하는 “통제 가능한 연속적 잡음요인”이라는 좁은 의미의 공변량을 그대로 가리키는 것은 아님.
여기서는 더 넓게,
- 종속변수 $Y$를 설명하는 input feature $X$,
- 즉 explanatory variable(설명변수)에 가까운 의미로 사용됨.
1. Covariate Shift의 의미
Covariate Shift는
선형회귀를 포함한 supervised learning(지도학습)에서,
train data와 test data 사이의 input feature $X$의 분포가 달라지는 현상을 의미함.
$$P_{\text{train}}(X) \neq P_{\text{test}}(X)$$
다만 이 경우에도 보통 다음은 같다고 가정함:
$$P_{\text{train}}(Y \mid X) = P_{\text{test}}(Y \mid X)$$
즉, 같은 $X$가 주어졌을 때 $Y$가 결정되는 방식은 같지만,
- train data에서 자주 등장하는 $X$의 영역과
- test data에서 자주 등장하는 $X$의 영역이 달라진 상황임.
2. Covariate Shift가 일으키는 문제
model은 train data의 입력 분포를 기준으로 학습됨.
- 따라서 train data에서 자주 등장한 $X$의 영역에 대해서는 잘 예측할 수 있지만,
- test data에서 중요하게 등장하는 $X$의 영역은 충분히 학습하지 못했을 수 있음.
즉, train distribution 기준의 loss는 작더라도, test distribution 기준의 loss는 커지기 쉬움:
$$
\mathbb{E}_{P_{\text{train}}(X)}[\ell(f(X),Y)]
\neq
\mathbb{E}_{P_{\text{test}}(X)}[\ell(f(X),Y)]
$$
- 특히 test data의 (X)가 train data에서 거의 관측되지 않았던 영역에 많이 나타나면,
- model은 그 영역에서 extrapolation(외삽)을 해야 하므로 prediction error가 커질 수 있음.
정리하면, Covariate Shift는 정답을 결정하는 규칙이 바뀐 문제가 아니라,
학습할 때 중요했던 입력 영역과 실제 사용할 때 중요한 입력 영역이 달라지는 문제임.
Internal Covariate Shift
Deep Learning의 Batch Normalization에서 말하는
Internal Covariate Shift의covariate도- 실험설계에서 말하는 좁은 의미의 공변량을 그대로 가리키는 것은 아님.
여기서는
- network 내부의 각 layer가 입력으로 받는 변수,
- 즉 layer input feature를 가리키는 표현으로 사용됨.
1. Internal Covariate Shift의 의미
Internal Covariate Shift는
- 학습 중 앞쪽 layer의 parameter가 계속 갱신되면서,
- 뒤쪽 hidden layer가 받는 input distribution이 계속 변하는 현상을 의미함.
즉, 일반적인 Covariate Shift가
- train data와 test data 사이의 input distribution 변화라면,
Internal Covariate Shift는
- network 내부에서 학습 중 layer input distribution이 계속 변하는 현상임.
2. Internal Covariate Shift가 문제라고 설명되는 이유
뒤쪽 layer는 자신이 받는 input distribution에 맞춰 parameter를 조정함.
- 그런데 앞쪽 layer의 parameter가 계속 바뀌면,
- 뒤쪽 layer가 받는 input distribution 자체도 계속 바뀜.
그 결과 뒤쪽 layer 입장에서는
- 고정된 입력 분포에 대해 학습하는 것이 아니라,
- 계속 움직이는 입력 분포에 적응해야 하는 상황이 됨.
이 때문에
- 학습이 느려지고,
- 더 작은 learning rate나
- 조심스러운 parameter initialization이 필요해질 수 있다고 설명됨.
Batch Normalization이 등장하게된 이유임
3. 주의할 점
다만 최근 관점에서는 Batch Normalization의 효과가
정말로 Internal Covariate Shift를 줄이기 때문인지는 논쟁이 있음.
현재는 Batch Normalization이 단순히 layer input distribution을 안정화하기 때문이라기보다,
optimization landscape를 더 smooth하게 만들어 학습을 안정화한다는 설명도 많이 사용됨.
같이보면 좋은 자료들
2024.02.23 - [.../Math] - [Math] Variable (변수)
[Math] 용어: Variable (변수) 과 Variates (변량)
Variable (변수) 과 Variates (변량)0. Variable이란 변수다른 값을 가질 수 있는 대상(Object)이나 사건(Event)의 속성을 가르킴. 통계 등에서 사용되는 용어로 애기하면,Variable이란 척도(scale)를 이용하여 측
dsaint31.tistory.com
https://dsaint31.me/mkdocs_site/ML/ch09/batch_normalization/
BME
batch normalization bn deep learning gradient exploding gradient vanishing internal covariate shift layer normalization regularization Batch Normalization Batch Normalization은 Ioffe et al.이 2015년 제안한 기법으로 Gradient Vanishing과 Exploding
dsaint31.me
'... > Math' 카테고리의 다른 글
| [Math] Algebraic Function (대수함수) (1) | 2024.02.24 |
|---|---|
| [Math] Rational function and irrational function (0) | 2024.02.24 |
| [Math] 용어: Variable (변수) 과 Variates (변량) (0) | 2024.02.23 |
| [Math] 기본 Term: Statistics (1) | 2024.02.23 |
| [Math] Random이란? (1) | 2024.02.23 |