모델
: 특징을 입력 데이터로 하여 예측값을 만들어내는 것
하이퍼파라미터
: 학습 방법과 속도, 얼마나 복잡한 모델로 만들 것인지를 결정
< 머신러닝의 학습 >
< 모델 학습과 예측 순서 >
학습 데이터 행 개수= Ntr개
테스트 데이터의 행 개수= Nte개
특징의 열 개수= Nf개
검증
: 학습 데이터 전체로 학습시키면 모델을 평가할 데이터가 사라져버리므로 일부 데이터를 평가용 데이터로 분류해두는 식으로 모델을 평가하는 것
홀드아웃
: 일부 데이터를 검증용으로 나누는 방법
→ 모델의 학습이나 평가에 사용할 수 있는 데이터가 그만큼 줄어듦
→ 교차 검증 (보통 홀드아웃보다 교차 검증 실시)
< 교차 검증 순서 >
< 모델 구축부터 평가까지의 사이클 >
위 내용을 반영하며 반영하여 사이클을 반복하고 검증에서의 평가를 참고하여 더 좋은 모델을 찾아야
검증에서의 평가뿐만 아니라, 예측값을 제출함으로써 public leaderboard의 점수도 참고할 수 있음
※ public leaderboard의 점수에 지나치게 의지하면 leaderboard에 과적합됨→ private leaderboard 순위 하락
< 교차 검증으로 모델을 학습시키고 평가한 뒤 테스트 데이터를 예측하는방법>
<예측값의 평균을 구하는 방법 vs 학습 데이터 전체로 모델을 학습시키는 방법>
예측값의 평균을 구하는 방법 장단점
학습 데이터 전체로 모델을 학습시키는 방법 장단점
: 학습 데이터의 랜덤함 노이즈까지 과하게 학습되어 학습 데이터에서는 점수가 좋지만 그 외의 데이터에서는 점수가 좋지 않은 현상
↔ 과소적합
학습 데이터의 점수 ↔ 검증 데이터의 점수,
문제x, 그 차이를 바탕으로 모델이 과적합인지 과소적합인지를 확인하고 하이퍼파라미터 조정에 참고
검증 데이터의 점수 ↔ 테스트 데이터의 점수,
문제o, 데이터의 분포가 다르고 테스트 데이터의 행 개수가 적다는 등의 특별한 이유가 아니면 검증이 제대로 이루어지지 않았을 가능성 높음
: 학습 모델이 복잡할 때 제약(벌칙)을 부과하는 것
대부분의 모델에는 정규화항이 포함, 정규화 강도를 지정하는 하이퍼파라미터 조정을 거치면 일정 수준으로 모델의 복잡도가 줄어들어 과적합 억제
: GBDT와 신경망 등의 라이브러리에 있는 학습 시 검증 데이터의 점수를 모니터링하다가 일정 시간 동안 점수가 오르지 않으면 중간에 학습을 자동중단하는 기능(과적합 방지)
: 같은 종류의 모델을 여러 개 병렬로 구축하고, 이들 예측값의 평균 또는 최빈값을 이용해 예측
랜덤 포레스트
: 같은 종류의 모델을 직렬 조합하고, 학습을 통해 예측값을 보정하면서 순서대로 하나씩 모델을 학습시킴
GBDT
< 표 형태의 정형 데이터를 다루는 경진 대회에서 사용하는 모델 >
결정 트리에 기반을 두는 모델
: GBDT, 랜덤 포레스트, 익스트림 랜덤 트리, RGF
(결정 트리로 학습하고 예측할 때 하나의 결정 트리만으로는 충분한 예측이 어려우므로 여러 개를 조합하지만, 그 조합의 구조나 학습 알고리즘은 각각 다름)
< 경진대회에서는 다음과 같은 관점에서 모델 선택 >
ex) 지도 학습 모델로서 자주 소개되는 모델 중 하나인 서포트 벡터 머신(SVM)은 모델 성능과 계산 속도가 떨어지므로 자주 사용X
| AWS (0) | 2024.07.17 |
|---|---|
| [데이터가 뛰어노는 AI 놀이터, 캐글] ch.6 모델 튜닝-6.3 편중된 클래스 분포의 대응 (1) | 2024.04.15 |
| [데이터가 뛰어노는 AI 놀이터, 캐글] ch.5 모델 평가-5.3 시계열 데이터의 검증 방법 (1) | 2024.04.15 |
| [데이터가 뛰어노는 AI 놀이터, 캐글] ch.3 특징 생성-3.5 범주형 변수 변환 (1) | 2024.04.15 |