머신러닝에서도 공짜 점심은 없다! NFL(NoFreeLunch)

'공짜 점심은 없다'라는 말은 경제학에서 유명한 명언으로 세계적인 경제학자 밀턴 프리드먼이 주장했던 내용이다.

이 말은 누군가가 공짜로 점심을 제의한다하더라도 그 대가로 자신은 그 시간동안 할 수 있었던 다른 일. 결국 어떠한 기회비용을 분명히 치른다는 것이다.

 

만약 1시간에 10만원을 버는 사람이 전화를 받느라 1시간을 쓴다면 그 사이 10만원을 잃게 된다. 하지만 그렇지 않은 사람은 1시간에 대한 기회비용이 없기 때문에 그에 대한 비용이 발생하지 않는다.

 

이렇듯 경제학자들은 사람마다 기회비용이 다르다고생각하고 위렌버핏과 한 끼 점심에 수억원을 투자하는 이유도 이와 같은 이치로 볼 수 있다.

 

그런데 이러한 개념은 머신러닝에서도 마찬가지이다.

1996년 데이비드 월퍼트(david wolperts)는 The Lack of A Priori Distinctions Between Learning Algorithms 이라는 논문에서 데이터에 관해 어떤 가정도 하지 않으면 한 모델을 다른 모델보다 선호할 근거가 없음을 보였다.

 

즉 어느 한 task에 최적화된 머신러닝 모델을 다른 task에 적용한다고 한들 제대로 task 수행하기를 바라는 것은 공짜 점심을 바라는 것과 같다는 말이다.

 

이는 결국 어떠한 task를 해결하기 위해서 어떤 모델이 좋을지는 결국 시도해봐야 알 수 있다는 것이다.

 

 

머신러닝은 학습용 데이터셋에서 종속변수와 독립변수의 관계를 분석하고 이를 기반으로 모델을 만드는 것이므로 철저하게 학습용  데이터셋에 종속된다. 따라서 항상 해결하려는 문제를 정확하게 정의하고 그에 최적화된 머신러닝을 적용해야한다.