shurain

Harmless stuff is for the weak.

Generalization

Jan 31, 15

기계학습에서 일반화generalization는 주어진 데이터로부터 주어지지 않은 데이터를 모델링 할 수 있는 능력을 일컫는다. 항상 데이터는 한정적이고 학습을 위해서는 필연적으로 가정이 들어가기 때문에 너무 심하게 주어진 데이터에만 적합한 모델을 만드는 일이 생길 수 있다. 이를 과적합overfitting이라 부른다.

![creativity-overfitting](https://farm8.staticflickr.com/7458/16380664766_d448b6907b.jpg) [Knowledge-Experience-Overfitting](http://blog.sciencenet.cn/blog-554179-818533.html)

이런 과적합을 막기 위한 여러 방법이 있는데, 그중 하나가 교차타당화cross validation이다. 즉, 모델을 만드는 데 사용한 데이터 외에 검증을 위한 데이터를 따로 두고, 이를 사용해서 정말 모델이 일반화를 하는지 확인하는 것이다.

현실의 맥락에서 생각해보면 우리가 일상에서 겪는 여러 경험으로부터 일반화된 결론을 도출하는 것은 이런 모델의 생성과 크게 다르지 않다. 그렇기에 몇 개 되지 않는 일화로 일반화를 하면 과적합의 위험이 있는 것도 마찬가지이다. 아쉽게도 우리는 쉽게 교차타당화를 적용하기 어려운데, 한 번 본 데이터로부터 크게 영향을 받기 때문이다.1 모델의 과적합 여부를 확인하는 가장 손쉬운 방법은 모델을 사용하여 예측하는 것인데, 이때 사후 확신 편향hindsight bias을 피할 수 있도록 데이터에 전혀 노출되지 않은 상태로 예측한 뒤 이를 확인해야만 한다.