반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ESG 채권
- 밑시딥
- 경제신문스크랩
- 안드로이드 구조
- 베스트 모델
- andoriod with kotlin
- k겹 교차검증
- 모두의 딥러닝
- gradiant descent
- 안드로이드
- 밑시딥2
- 학습 자동 중단
- 뉴로 심볼릭
- MRC
- 면접왕 이형
- 과적합
- 독서 #독서후기 #피로사회 #행동과잉 #긍정과잉
- 예측선
- 보이스피싱
- ESG
- 딥페이크
- nlp
- 선형회귀
- 코틀린
- 로지스틱 회귀법
- GPT-3
- 밑바닥부터 시작하는 딥러닝
- 면접왕이형
- 경사하강법
- 다중분류
Archives
- Today
- Total
Practice makes perfect!
[모두의 딥러닝] 13장 과적합 피하기 본문
과적합
- 모델이 학습 데이터셋 안에서는 일정 수준 이상의 예측 정확도를 보이지만, 새로운 데이터에 적용하면 잘 맞지 않는 것을 말함
- 층이 너무 많거나 변수가 복잡해서, 또는 테스트셋과 학습 셋이 중복될 때 발생
해결방법
- 학습 데이터셋과 테스트 데이터셋을 완전히 구분한 후, 학습과 테스트를 동시에 병행하며 진행
- 머신러닝의 최종 목적은 과거의 데이터를 토대로 새로운 데이터를 예측하는 것 -> 테스트셋을 만들어 정확한 평가를 병행하는 것이 중요! -학습이 깊어져서 학습셋 내부에서의 성공률은 높아져도 테스트셋에서는 효과가 없다면 과적합이 일어나고 있는 것. 학습을 진행해도 테스트 결과가 더 이상 좋아지지 않는 지점에서 학습을 멈춰야 함.
# 학습 셋과 테스트 셋의 구분
테스트 셋을 30%로 설정
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=seed)
k겹 교차검증
- 머신러닝 작업에 있어 알고리즘을 충분히 테스트했어도 데이터가 충분하지 않으면 좋은 결과를 내기 어렵다.
- k겹 교차검증을 통해 데이터셋을 여러 개로 나눠 하나씩 테스트셋으로 사용하고 나머지를 모두 합해 학습셋으로 사용한다.
- 이를 통해 갖고있는 데이터의 100%를 테스트셋으로 사용할 수 있다.
데이터를 원하는 숫자만큼 쪼개 각각 학습셋과 테스트셋으로 사용할 수 있게 하는 StratifiedKFold()
from sklearn.model_selection import StratifiedKFold
# 10개의 파일로 쪼갬
n_fold = 10 skf = StratifiedKFold(n_splits=n_fold, shuffle=True, random_state=seed)
반응형
'Study > 딥러닝' 카테고리의 다른 글
[밑시딥2] 2장 자연어와 단어의 분산 표현 (0) | 2021.09.25 |
---|---|
[모두의 딥러닝] 14장 베스트 모델 만들기 (0) | 2021.05.30 |
[모두의 딥러닝] 12장 다중 분류 문제 해결하기 (0) | 2021.05.29 |
[모두의 딥러닝] 11장 데이터 다루기 (0) | 2021.05.29 |
[모두의 딥러닝] 10장 모델 설계하기 (0) | 2021.04.17 |
Comments