2020. 1. 9. 21:50ㆍ필요/AIOT
안녕하세요,,
Model Validation을 배우기 전 Model Capacity, Overfitting에 대해 알아보겠습니다.
Model Capacity는 차수를 말하는데 이는 몇 차 함수로 Model을 나타낼지 정하는 것입니다.
너무 많은 Capacity(=Parameters)를 쓰게되면 연산량이 많고, Overfitting 될 수 있습니다.
Overfitting 된 모델은 학습시킨 데이터와 굉장히 잘 맞는 모델(과적합)입니다.
문제는 모델 만들 때 쓴 데이터에만 잘맞는다는 것입니다.
우리는 일반화된 모델(모델 생성에 사용되지 않은 데이터에 잘 맞는)을 원합니다
그래서 Overfitting 되지 않는 모델을 원하는 것입니다.
Model Validation은 경사 하강법으로 만들어진 모델 여러 가지를 비교하는 것입니다.
Overfitting은 학습 데이터에만 적합하기에 실무에 적절하지 않다고 했죠.
Training Error(MSE)는 학습시킨 데이터(Training Data)에 Model을 적용하여 확인한 실제값과 예측값의 차이입니다.
Capacity를 늘려 Overfitting 될수록 MSE는 작아집니다. 하지만 이(MSE)는 생성(학습)과 평가에 같은 데이터를 사용합니다.
예를 들자면 2020 3월 모의고사로 공부한뒤 2020 3월 모의고사를 시험봐서 평가받는 것입니다. 당연히 잘 보겠지만 6월, 9월 모의고사를 잘 볼진 알 수 없습니다. 과거의 데이터로 학습, 평가했기에 미래의 데이터엔 안 맞을 수 있는 것입니다.
이를 방지하기위해 Testing Error 를 사용합니다. 원리는 과거 데이터 일부를 빼놓고 '미래 데이터'라고 가정하는 것입니다. 데이터의 크기에 따라 Training Data : Testing Data를 8:2 나 7:3등의 비율로 구성합니다.
Training Data : Testing Data를 뽑는 비율도 Hyperparameter이고 랜덤하게 뽑아야 합니다.
이렇게 Testing Data를 사용하면 학습시킨 데이터와 평가 때 쓰이는 데이터를 나눌 수 있습니다.
여기서 더 나아가 우연찮은 과적합을 차단하고, 실무에 쓰이는 데이터까지 확장해 Data를 세 부류로 나누는 것이 Validation Approach입니다
일반적으로 Validation Approach정도 데이터 분류가 이뤄진다고 합니다.
그밖에 Cross Validation(교차 검증)도 Overfitting을 방지하기 위해 쓰입니다.
Validation(데이터 분화)을 한 번만 하면 특정 데이터만 최적화될 수도 있습니다. 그렇기에 Training Data와 Validation Data를 계속 변경하면서 모델을 평가하는 방법입니다.
이렇게 Model Validation을 알아봤습니다. 어떻게 데이터를 나눠 모델을 구성할지 정하는 것도 Hyperparameter이지요.
다음 시간엔 Regression Analysis (회귀분석)을 알아보겠습니다~
'필요 > AIOT' 카테고리의 다른 글
[AIOT 융합기술 리더 양성과정] AIOT개요 및 기초 환경 설정 (0) | 2020.12.29 |
---|---|
[AIOT 융합기술 리더 양성과정] AIOT를 위한 아키텍처 설계 (0) | 2020.12.29 |
머신러닝 & 딥러닝 #1_4 Gradient Descent 실습 (0) | 2020.01.02 |
머신러닝 & 딥러닝 #1_4 Gradient Descent (2) | 2020.01.01 |
머신러닝&딥러닝 #1_3 Machine Learning (0) | 2019.12.29 |