본문 바로가기
풀어쓰는 강의노트

데이터마이닝 이야기 1: 과적합(Overfitting)에 대하여

by ibislab 2007. 7. 16.

데이터마이닝에서 주로 사용하는 기법 중에 기계학습(Machine Learning)이 있습니다. 기계학습은 과거의 데이터를 활용한 학습(Learning) 과정을 거쳐서, 미래의 사례에 대하여 분류, 추청, 예측 등을 하는 방법을 의미합니다. 이러한 기계학습에서 종종 발생하는 문제 중에 하나가 과적합(Overfitting) 입니다. 이 글에서는 이 과적합에 대해서 몇 자 적어봅니다.

기계학습에서 학습 시에 사용하는 데이터 집합을 훈련 데이터 집합(Training Data Set)이라고 합니다. 기계학습 알고리즘에서는 이 훈련 데이터 집합이 세상의 전부인 꼴입니다. 기계학습 알고리즘은 자신에서 주어진 훈련 데이터 집합에 담겨진 패턴이나 관계를 찾아내기 위해서 최대한 노력을 합니다. 그래서, 이 데이터 집합에 담겨진 패턴을 찾아냅니다. 그러면, 이러한 패턴들을 추후에 발생하는 데이터 집합에 적용했을 때도 잘 맞을까요?

답은 잘 맞을 수도, 그렇지 않을 수도 있다는 것입니다. 그 이유는 과연 훈련 데이터 집합이 우리가 관심있는 전체 모집단을 대표할 수 있느냐와 밀접한 관계가 있습니다.
훈련 데이터 집합에는 전체 모집단이 가지고 있는 패턴들을 가지고 있을 수 있습니다. 또, 일부 누락할 수도 있겠지요. 하지만 다른 문제는 전체 모집단은 가지고 있지 않고, 훈련 데이터 집합만 가지고 있는 특징까지도 기계학습 알고리즘이 학습을 한다는 것 입니다. 즉, 너무 열심히 학습을 해서, 불필요한 것까지 배워버린 것이지요. 이러한 현상을 과적합(Overfitting)이라고 부릅니다.

자, 관련된 비유를 하나 들어보지요.
비유의 제목은 "갈라파고스 제도의 가마우지" 입니다.
참고로 갈라파고스 제도는 에콰도르 서쪽 1000 Km 지점에 위치한 "생태계의 보고"라고 합니다.

 
갈라파고스 제도에 사는 가마우지는 "다윈의 진화론"에 영감을 주었다고 전해집니다.

가마우지는 아래 그림과 같이 생겼는데, 물고기 사냥의 명수라고 합니다. 실제로 중국 계림 리강에서는 가마우지를 이용한 낚시를 하기도 한다고 합니다.
가마우지의 사냥법은 '그림자 사냥'이라고 부릅니다. 즉, 수면에 가만히 떠서 날개를 활짝 펼치는 동작으로 사냥을 시작합니다. 그러면 물 속에 그림자가 생기고, 물고기들은 그늘진 곳을 좋아하는 성질을 가지고 있어서, 그 그림자 속에 몰려듭니다. 가마우지는 바로 그 순간을 노려 잠수해서 물고기를 잡습니다.

 


 

그럼 갈라파고스 제도의 가마우지가 어떻게 다윈의 진화론에 영감을 주었고, 과적합
(Overfitting)과 무슨 상관이 있을까요?

1882년 당시 24세의 젊은 다윈은 영국 해군성이 세계 탐험을 위해 파견한 탐험대의 일원으로 남아메리카 대륙의 내륙과 해안 일대를 누비게 됩니다. 찰스 다윈이 "모든 종은 변하지 않으며, 개개의 종은 하나 하나 신이 창조한 것"이라는 창조론에 의문을 품게 한 것이 이 갈라파고스 제도의 가마우지라고 합니다.

아마존강 하구에서 강줄기를 따라 멋진 비행 솜씨를 자랑하던 가마우지들을 관찰하던 다윈에게 내륙으로부터 불과 600마일 떨어진 갈라파고스에 날개가 작아지고 깃털이 자라지 않아 나는 능력을 아주 잃어버린 가마우지의 변종의 만난 것은 일종의 충격이었던 것이지요. 이러한 통찰력을 바탕으로 25년간에 걸친 대륙의 가마우지와 갈라파고지 제도의 가마우지 사이에 생긴 변화의 과정을 역추적한 끝에 진화론을 담은 "종의 기원"을 발표하여 세계를 충격에 빠뜨리게 되지요.


<갈라파고스 밀물 가마우지>

그러면 갈라파고스 군도의 가마우지는 왜 날 수 없게 되었을까요? 갈라파고스 군도는 사시 사철 먹이가 풍부하고, 적이 없는 풍요한 환경으로 날아다닐 필요가 없었던 것이지요. 이러한 환경에 빠르게 적응한 갈라파고스 군도의 가마우지는 어떻게 되었을까요? 찰스 다윈의 비글호가 갈라파고스 군도에 도착한 이래 인간의 출입이 잦아지면서 야생 쥐, 고양이 등의 출현으로 파국에 직면했다고 합니다.

주어진 환경에 너무 잘 적응하며, 조금만 환경 변화도 감담할 수 없는 현상을 과적합(Overfitting)이라고 부르면 될 것 같습니다.
우리도 지금 환경에 너무 잘 적응해서, 조금만 환경 변화도 감당할 수 없게 되어버린 과적합(Overfitting)의 우를 범하고 있지는 않는지 항상 성찰해보는 것이 필요할 것 같습니다.


2007.07.16

김종우 올림.