🐣python
머신 러닝(Machine Learning)-2
category
🐣python
URL
date
Feb 8, 2023
slug
machine-learning-2
author
status
Public
tags
Playdata_deep-learning & machine-learning
summary
모델최적화(과적합,분산-편향 트레이드오프,교차검증)
type
Post
thumbnail
updatedAt
Mar 2, 2023 03:00 AM
머신러닝 이슈 : 최적화 vs 일반화
- 머신러닝의 근본적 이슈
- 최적화
- 가능한 훈련데이터에서의 최고의 성능을 얻으려고 모델을 조정하는 과정(머신러닝의 학습)
- 일반화
- 훈련된 모델이 학습한 적 없는 데이터에서 얼마나 잘 수행되는지 판별
- 모델의 일반화 성능 추정 방법(과대 적합 여부 판단)
1) 교차 검증
2) 학습 곡선
과대적합, 과소적합
- 모델의 적합성과 일반화오차
- 훈련 데이터를 이용하여 학습한 모델이 아직 얻지 못한 데이터(검증 데이터)에 대한 결과값을 얼마나 정확하게 예측할 수 있는지 판단하기 위해 필요한 개념
- 적합도 : 가지고 있는 데이터(훈련 데이터)에 대해 모델을 적용했을 때 들어맞는 정도
- 예측 정확도 : 아직 얻지 못한 데이터(검증 데이터)에 대해 모델을 적용했을 때 들어맞는 정도
- 일반화오차 : 아직 얻지 못한 데이터에 대한 예측 오차
※ 훈련데이터(트레이닝 데이터) : 파라미터 추정에 사용하는 데이터
※ 테스트 데이터 : 일반화오차를 평가하기 위해 파라미터 추정에 사용하지 않고 남겨둔 데이터, 파라미터 추정에 사용하지 않은 테스트 데이터로 모델의 성능을 평가하는 것으로 일반화 오차를 어느 정도 평가할 수 있다.
과대적합(과적합)
- 모델의 적합도는 높은데, 예측 정확도가 낮아지는 경우
- 가지고 있는 훈련 데이터에 지나치게 적합한 모델을 만들면 발생
- 결과적으로 특정 데이터셋에만 적합하고 알려지지 않은 데이터에 대한 예측력은 낮아짐
- 모델이 고분산됨, 모델이 모든 특징을 세밀하게 설명할 수 있을만큼 모델 유연성이 충분하지만 훈련데이터의 잡음까지 반여
- 과대적합의 예

- 과대적합의 원인과 해결 방안

과소적합
- 훈련 모델이 너무 단순하여 훈련 데이터의 특징을 잘 학습하지 못한 상태
- 데이터의 특성에 대한 설명력이 낮고 다른 데이터 예측에 대한 신뢰성이 낮음
- 훈련 데이터 및 검증 데이터셋 모두 큰 오차를 보임
- 모델의 유연성이 충분하지 않다
- 과소적합의 예

- 과소적합의 원인과 해결 방안 : high-bias 극복

학습 곡선을 통한 과적합 판단
- 데이터세트의 크기를 다르게 하여(점점 증가시킴) 각 훈련세트 및 검증 세트의 성능을 시각화

- 전형적인 과소적합 모델
- 두 곡선이 수평한 구간을 만들고 꽤 높은 오차(1.5~2.0)에서 매우 가까이 근접

- 훈련 데이터의 오차가 선형 회귀 모델보다 훨씬 낮음(약1.0)
- 두 곡선 사이에 공간이 있음(훈련 오차와 검증 오차의 차가 크다) 즉, 훈련 데이터에서의 모델 성능이 검증 데이터에서보다 훨씬 낫다는 뜻이고, 이는 과대적합 모델의 특징, 더 큰 훈련세트를 사용하면 두 곡선이 점점 가까워짐(과적합의 개선)
과적합 vs 편향 - 분산 트레이드오프
- 일반화 오차 = 분산 + + 노이즈
- 편향
- 일반화 오차 중 잘못된 가정으로 인해 생긴 오차
- 데이터 또는 학습 모델이 정답으로부터 얼마나 특정 방향으로 치우쳐있는가 의미
- 학습 모델의 예측값이 정답과 멀리 치우친 경향이 있을때 고편향되어 있다고 함(과소적함)
- 분산
- 훈련 데이터셋에 내재된 작은 변동에 의해 발생하는 오차
- 데이터 또는 학습 모델이 얼마나 넓은 범위에 걸쳐 분포되어 있는가 의미
- 높은 분산값은 학습 모델에서 예측값이 넓게 흩어져 있어 변동성이 높을 떄를 말하며 과대 적합되는 경향이 있다.
- 편향-분산 트레이드오프
- 지도학습 알고리즘이 훈련 데이터셋의 범위를 넘어 지나치게 일반화하는 것을 예방하기 위해 두 종류의 오차(편향,분산)을 최소화할 떄 겪는 문제
- 이상적인 모델 복잡도는 과적합되지 않으며 특성 설명력이 충분
편향-분산 트레이
KFold 실습