1부 딥러닝의 기초
4장 머신 러닝의 기본 요소
4.5 보편적인 머신 러닝 작업 흐름
문제 정의와 데이터셋 수집
입력 데이터와 출력 데이터 확인
성공 지표 선택
정확도일지 정밀도일지 재현율일지 등 성공의 지표를 잘 생각해 선택해야 함.
성공의 지표가 모델의 최적화할 손실 함수를 선택하는 기준이 됨.
클래스 분포가 균일한 분류 문제 : 정확도 / ROC / AUC가 일반적
클래스가 균일하지 않은 문제 : 정밀도 / 재현율이 일반적
랭킹 문제나 다중 레이블 문제 : 평균 정밀도 사용 가능
캐글에서 다양한 문제들과 측정 지표들을 볼 수 있음.
평가 방법 선택
- 홀드아웃 검증 세트 분리
데이터가 풍부할 때 사용 - K-겹 교차 검증
홀드아웃 검증을 사용하기에 샘플의 수가 너무 적을 때 사용 - 반복 K-겹 교차 검증
데이터가 적고 매우 정확한 모델 평가가 필요할 때 사용
데이터 준비
- 텐서로 구성된 데이터
- 텐서에 있는 값은 일반적으로 작은 값으로 스케일 조정 ([-1, 1] 또는 [0, 1]
- 특성마다 범위가 다르면 정규화해야 함.
- 특성 공학을 수행할 수 있음. (특히 데이터가 적을 때)
기본보다 나은 모델 훈련하기
통계적 검정력 달성하기
즉, 아주 단순한 모델보다 낭느 수준의 작은 모델을 개발하기
모델을 만들기 위한 3가지 선택
- 마지막 층의 활성화 함수
- 손실 함수
- 최적화 설정
모델에 맞는 마지막 층의 활성화 함수와 손실 함수 선택
문제 유형 | 마지막 층의 활성화 함수 | 손실 함수 |
이진 분류 | 시그모이드 | binary_crossentropy |
단일 레이블 다중 분류 | 소프트맥스 | categorical_crossentropy |
다중 레이블 다중 분류 | 시그모이드 | binary_crossentropy |
임의 값에 대한 회귀 | 없음 | mse |
0과 1 사이 값에 대한 회귀 | 시그모이드 | mse 또는 binary_crossentropy |
몸집 키우기: 과대적합 모델 구축
1. 층 추가
2. 층 크기 키우기
3. 더 많은 에포크 동안 훈련
훈련, 검증 지표, 훈련 손실, 검증 손실을 모니터링 시, 검증 데이터에서 모델 성능이 감소하기 시작했을 때 과대적합에 도달한 것
모델 규제와 하이퍼파라미터 튜닝
반복적으로 모델을 수정하고 훈련하고 검증 데이터에서 평가 (이때 테스트 데이터를 사용하지 않음.)
그리고 다시 수정하고 가능한 좋은 모델을 얻을 때까지 반복
적용해 볼 것들
- 드롭아웃 추가
- 층을 추가하거나 제거해서 다른 구조를 시도
- L1이나 L2 또는 두 가지 모두 추가
- 최적의 설정을 찾기 위해 하이퍼파라미터를 바꾸어 시도 (층의 유닛 수나 옵티마이저의 학습률 등)
- 선택적으로 특성 공학을 시도 (새로운 특성을 추가하거나 유용하지 않을 것 같은 특성을 제거)
'MLOps 프로젝트 > 도서 '케라스 창시자에게 배우는 딥러닝'' 카테고리의 다른 글
2부 5.2 소규모 데이터셋에서 밑바닥부터 컨브넷 훈련하기 (0) | 2021.09.14 |
---|---|
2부 5.1 합성곱 신경망 소개 (0) | 2021.09.01 |
1부 4.4 과대적합과 과소적합 (0) | 2021.08.31 |
1부 4.3 데이터 전처리, 특성 공학, 특성 학습 (0) | 2021.08.31 |
1부 4.2 머신 러닝 모델 평가 (0) | 2021.08.30 |