개요
지도 학습 (Supervised Learning)은 훈련 데이터(Training Data)로부터 하나의 함수를 유추해내기 위한 기계 학습(Machine Learning)의 한 방법이다. 훈련 데이터는 일반적으로 입력 객체에 대한 속성을 벡터 형태로 포함하고 있으며 각각의 벡터에 대해 원하는 결과가 무엇인지 표시되어 있다. 이렇게 유추된 함수 중 연속적인 값을 출력하는 것을 회귀분석(Regression)이라 하고 주어진 입력 벡터가 어떤 종류의 값인지 표식하는 것을 분류(Classification)라 한다. 지도 학습기(Supervised Learner)가 하는 작업은 훈련 데이터로부터 주어진 데이터에 대해 예측하고자 하는 값을 올바로 추측해내는 것이다. 이 목표를 달성하기 위해서는 학습기가 "알맞은" 방법을 통하여 기존의 훈련 데이터로부터 나타나지 않던 상황까지도 일반화하여 처리할 수 있어야 한다. 사람과 동물에 대응하는 심리학으로는 개념 학습(Concept Learning)을 예로 들 수 있다.
주어진 입력, 정답으로 구성된 벡터를 바탕으로 다른 입력값의 정답을 유추하는 함수 F를 찾는 과정을 말한다.
용어
- 훈련 데이터로부터 하나의 함수가 유추되고 나면 해당 함수에 대한 평가를 통해 파라미터를 최적화한다. 이러한 평가를 위해 교차 검증(Cross-Validation)이 이용되며 이를 위해 검증 집합(Validation Set) 을 다음의 3가지로 나눈다.
- Training Data: 데이터 학습을 위해 사용되는 데이터
- Held-Out Data (a.k.a Validation Set): hyperparameters 수정과 같이 가설 F의 수정을 위해 사용되는 데이터
- Test Data : 최종적으로 모델의 정확도를 평가하기 위해서 사용되는 데이터
- Features: (attributes, values) 로 구성된 입력 벡터이다.
- Hyperparameters: 데이터에 의해서 결졍되는 변수가 아닌, 경험적 혹은 외부의 요인에 의하여 정해지는 변수들을 말한다. 하이퍼 매개 변수는 학습 프로세스 자체를 관리하는 모델을 학습하기 위해 선택한 조정 가능한 매개 변수이다. 에를 들면, 에러율이나 노드의 개수와 같은 것들을 들 수 있다. 이러한 값은 일반적으로 학습 프로세스 중 일관되게 유지됩니다.
- Experimentation cycle: 모델의 trainin set과 최선으로 일치하는 가설 F를 세운뒤, F를 평가하고 Hyperparameters를 조정하는 하나의 사이클을 말한다.
- Evaluation: 정확히 맞춘 개수를 따져서 머신의 정확도를 따지는 것을 말한다.
- Overfitting: training 데이터에 너무 맞춰져서 test data에서 일반화를 보장하지 못하는 경우를 말한다. 예를 들자면 Hypothesis space라는 개념을 들수 있다. 9개의 포인터를 예측하는 polynomial function을 regression하는 문제를 생각해보자. 여기서 polynomial function의 degree가 9이하일 경우 에러는 점차 줄어들지만, test set 에서의 에러는 오히려 degree가 증가할 수록 감소하다 증가하는 경향을 보인다. 그 이유는 9차함수가 overfitting되어서 test set을 정확하게 표현하지 못하기 때문이다. 딥러닝에서도 노드의 개수가 너무너무 많으면, overfitting되는 문제가 발생하기도 한다.
활용 예
- 스팸 필터
- Digit Recognition