[음악]
이런 13차 다항식의 문제를
과적합이라고 합니다
지금까지 모델을 관찰 결과에
딱 들어맞도록 끼워맞췄지만
새로운 예측으로 일반화되지는 않습니다
예측이 틀리는 것보다 더 큰 문제도 있는데
회귀 강의에서 자세히 다루겠습니다
하지만 이건 어떤 기계학습 모델이나
통계 모델에서든 마주칠 수 있는 문제라는 점을 밝혀둡니다
이 경우 데이터에 모델을 맞추고는 싶지만
모델이 그 한 데이터 세트에만 딱 맞아서
다른 관찰 결과로 일반화되지 않는 상황도 원치 않습니다
다시 13차 다항식으로 돌아가보죠
이게 정말 타당할까요?
이게 데이터에 맞는 선이라고 확신하시나요?
제가 암시했듯이 아마 아닐 것입니다
잔차제곱합은 최소화할지라도
예측은 빗나가게 됩니다
왠지 여기 이 회귀곡선이 비록
13차 다항식만큼이나 잔차제곱합을 최소화하지 못하더라도
제 감으로는 나은 모델인 것 같습니다
그러니까 중요한 점은
어떤 모델 차수, 모델 복잡도가 적절하냐는 것입니다
물론 원하는 건 뛰어난 예측이죠
그게 목표입니다
하지만 미래를 미리 당겨볼 수는 없죠
그렇기에 미리 예측을 검증해서 잘했는지 알 수는 없고
결과가 나와야 비로소 알게 되는거죠
모델을 선택할 때
당장 손에 쥐고 있는 데이터만으로 결론을 내야 합니다
좋은 모델을 선택하기 위해 뭘 할 수 있을까요?
예측을 시뮬레이션해볼 수 있겠죠
데이터 세트를 가지고
몇몇 주택을 제거합니다
회색처리된 주택들입니다
잠시 없다고 가정하죠
남은 주택들로 모델에 맞출 겁니다
이 주택과 이전에 논했던 방법론을 써서
모델에 맞출 겁니다
그런 다음 예측을 하죠
여기 이 x를 지우고 물음표를 붙입니다
동그라미 친 주택을 학습한 모델로
물음표 친 주택에 대해 어떤 예측이 가능한가?
그리고 실제 수치와 비교하는데
이 주택들은 데이터 세트에 있기 때문이죠
아직 수집하지 않은 데이터 예측을
대체할 수 있습니다
물론 이런 방법은 충분한 관찰결과가
있어서 모델 설정과 예측에 적절히 할당할 수 있어야 하죠
용어 소개를 잠시 해보죠
모델 설정을 위한 주택들을 훈련 세트라고 부릅니다
예측을 위해 따로 빼놓은 주택을
테스트 세트라고 부르죠
이제 이 분석을 어떻게 할 것인지 자세히 알아보죠
먼저 훈련 오류를 살펴봅시다
테스트 데이터 세트에 있는 모든 주택을 검사합니다
빨간색을 쓰죠
훈련 세트에 포함된 모든 주택은
파란 동그라미로 표시되어 있고
훈련 오류를 정의할 때 이것들만 봅니다
특히
이 주택들에 대한 오류가 얼마나 되는지 살펴봅니다
단순히 훈련 데이터 세트의 잔차제곱합이 되는데
이걸 훈련 오류라고 부릅니다
훈련 오류는 잔차제곱합 계산과
거의 같은데 훈련 데이터 세트에 있는
주택들만 포함시키는 게 다릅니다
회귀직선, 회귀곡선, 어떤 모델이든 간에
훈련 오류를 최소화하는 모델 파라미터를
예측하는 것이 핵심이죠
이건 전에 말씀드린 잔차제곱합 최소화와
일치합니다
하지만 다시 강조하자면 훈련 데이터 세트에 있는 주택들만 본다는 게 다른 점이죠
예측 모델 파라미터 w 모자는
이렇게 구합니다
하지만 이 예측 모델 파라미터가
적절한지 어떻게 알 수 있나요?
아까 말씀드렸듯이
따로 빼놓은 관찰결과를 살펴본다고 했었죠?
이 회색 동그라미가 테스트 세트에 있는 주택들입니다
모델 설정에 사용하지 않은 주택들이죠
실제 주택 판매 가격 예측이 잘 됐는지 보겠습니다
예측을 어떻게 했지요?
예측할 때는
회귀곡선의 수치, 그러니까 곡선 상의 점을 이용했습니다
따로 빼놓은 테스트 데이터 예측에 대한 평가를 하자면
또 다시
잔차제곱합 같은 걸 계산하게 됩니다
테스트 오류라고 하는데
예측 모델 파라미터 w 모자에 테스트 데이터 세트에 있는
모든 주택의 잔차제곱합을 더합니다
이게 테스트 오류죠
테스트 오류와 훈련 오류가
모델 복잡도의 함수로 어떻게 변화하나요?
[음악]