컴퓨터공학에서 사용하는 회귀(Regression, 回歸) 라는 용어에 대해
JakeSeo @jakeseo@hackers.pub
회귀 (回歸): 한 바퀴 돌아 제자리로 돌아오거나 돌아감.
컴퓨터공학쪽에서 회귀(Regression)라는 단어는 보통 두가지 맥락 속에서 사용된다.
- Machine Learning
- Software Testing
Machine Learning 맥락에서의 회귀
- 이 맥락에서는 회귀(Regression) 라는 단어 자체가 가진 본래의 의미에서 관계의 근사와 예측의 의미로 확장된다.
- 여기서 회귀는 주로 변수들 간의 관계를 수학적으로 근사하고 결과 값을 예측하는 방법을 의미한다.
- 독립 변수와 종속 변수 간의 관계를 수학적으로 모델링하여 종속 변수 값을 예측하거나 설명하는 분석 기법을 가리키는 용어로 사용된다.
- 집값 예측을 예로 들면, 입력 변수(ex. 지리적 요인, 면적)에 따라 결과 변수(ex. 가격)을 예측하는 경우, 이를 회귀 모델을 구성한다고 표현할 수 있다.
회귀가 예측과 가까운 뜻을 가지게 된데는 역사적 맥락이 있다고 한다. 현대 통계학의 선구자 중 한명인 프랜시스 골턴은 "부모의 키가 극단적일 때 자식의 키는 부모의 키보다 평균에 더 가까운 키로 회귀한다(regression toward the mean)"는 사실을 발견했고, 이후 사람들은 회귀를 평균으로 되돌아가는 현상뿐 아니라, "변수 간의 관계를 수학적으로 모델링하여 값을 예측하는 기법"을 말할 때 썼다고 한다.
Software Testing 맥락에서의 회귀
- 원래의 회귀(Regression)의 의미 즉, 되돌아감의 의미로 사용된다.
- 소프트웨어가 버그가 있던 시절로 돌아가는지를 검증하는 테스트를 이야기한다.
- 개발이 앞으로 나아가야 하는데, 수정 후 예전 버그가 다시 등장했다면, "뒤로 회귀했다(regressed)" 라고 표현할 수 있다.