* 머신러닝의 목표
모집단을 판단/예측할 수 있는 모델을 만드는 것 > 표본 데이터를 기반으로 일반화된 모델을 만드는 것
표본 데이터를 기반으로 훈련된 모델로 모집단을 판단/예측할 때, 일반화(Generalizetion)와 최적화(Optimization)라는 중요한 이슈가 있다.
일반화 : 모델이 이전에 학습한 적 없는 데이터에서 얼마나 잘 수행되는지를 의미, 검증 단계
최적화 : 훈련 데이터에서 최고의 성능을 내는 모델을 조정하는 과정, 학습 단계
모델이 너무 최적화되면, 훈련 데이터만 너무 잘 학습해서 훈련 데이터에선 높은 정확도를 보이겠지만 신규 데이터에는 정확도가 떨어진다. 반대로 모델이 너무 일반화되면, 훈련 데이터에 대해 학습이 충분하지 않거나 데이터가 부족해 훈련 데이터조차 정확도가 떨어진다. 최적화된 모델과 일반화된 모델 간에 격차를 최소화하는 모델을 만드는 것이 머신러닝의 과제이다.
과대적합: 모델이 너무 최적화된 상태
과소적합: 모델이 너무 일반화된 상태.
* 과대적함(Overfitting)
학습용 데이터셋에 모델이 지나치게 학습 및 최적화되어 새로운 데이터를 예측하지 못하는 현상.
일반화의 오류. 모델의 복잡도가 높은 상태.
이 현상을 어떻게 줄일지, 과대적합을 해결하는 과정이 더 중요함.
* 과소적합(Underfitting)
모델의 학습이 충분하지 않아, 발생하는 학습의 오류.
새로운 데이터도 충분히 설명하지 못하는 상황 발생.
최적화의 오류. 모델의 복잡도가 지나치게 낮은 상태.
* 과대적합 피하기
1. 학습 데이터 추가 > 새로운 데이터를 추가하는 것은 비용이 많이 든다. 때문에 가지고 있는 데이터를 효율적으로 사용할 수 있는 교차 검증(Cross validation) 기법이 존재.
2. 학습 데이터의 모델 노출 횟수 낮추기
3. 모델의 복잡도 낮추기
* 과소적합 피하기
1. 학습 시간을 늘리기:딥러닝에서 사용
2. 모델의 복잡도 늘리기
3. 모델을 새로 구축(잘못된 알고리즘 선택, 하이퍼파라미터 설정이 잘못됨)
* 결론
과대적합과 과소적합 사이의 격차 최소화.
최적화와 일반화라는 가치에서 적절한 균형을 찾도록 학습되어야함.
'프로젝트 > 코드프레소 체험단' 카테고리의 다른 글
파이썬으로 시작하는 머신러닝 - 완강후기 (0) | 2022.01.13 |
---|---|
파이썬으로 시작하는 머신러닝 - 데이터전처리 (0) | 2022.01.13 |
파이썬으로 시작하는 머신러닝 - K 최근접 이웃 알고리즘(KNN 모델) (0) | 2022.01.11 |
파이썬으로 시작하는 머신러닝 - 머신러닝의 주요 프로세스 (0) | 2022.01.09 |
파이썬으로 시작하는 머신러닝 - 머신러닝의 분류 (0) | 2022.01.09 |