일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리스트와 차이점
- index()
- append()
- 불리안
- 그룹 # 그룹 해체 # 단축키 #figma #Figma
- Java Script # == # === # difference # 차이
- 1일차
- del()
- input()
- null # undefined
- 파이썬
- 귀도 반 로섬
- 합집합
- Python
- insert()
- 변수
- 변할 수 있는
- 정보를 담을 수 있는 그릇
- 입출력
- 성적 입력받기
- a=1
- 조지 불
- pop()
- html
- 차집합
- 부스트캠프
- 조건문 큰 수부터 입력받아야하는 이유
- 딥러닝
- 변수와 입출력
- false
- Today
- Total
I about me
[Deep learning] Overfitting 본문
본 글은 https://iai.postech.ac.kr/teaching/deep-learning/ 해당 페이지를 보고 공부한 것을 정리한 내용입니다
Polynomial Regression(다항회귀)
- 데이터를 표현함에 있어 선형이 아닌 곡선으로 나타나는 경우에 사용하는 회귀
- 회귀모델의 차수(degree)를 조절함으로써 데이터에 대한 적합성을 조정할 수 있음
아래 <표>에서 d는 차수를 뜻하므로
d = 1이라면,
d = 2이라면,
d = n이라면,
d = 1 | d = 2 | d = 3 |
d = 4 | d = 5 | d = 6 |
d = 7 | d = 8 | d = 9 |
Errors on Train and Test Datasets
다항회귀 모델의 차수(degree)를 변화시키면서
- --- : Train 데이터에 대한 잔차 제곱합 (RSS)
- --- : Test 데이터에 대한 잔차 제곱합 (RSS)
[그래프 해석]
- 차수가 1 이하인 경우, RSS가 자체가 높은 것을 볼 수 있음
- 데이터의 패턴을 충분히 학습하지 못했음 (undertfitting)
- 차수가 2에서 6까지인 경우, RSS가 자체가 높은 것
- 데이터의 패턴을 잘 학습했음
- 차수가 7 이상인 경우, RSS가 급격히 증가함
- Test (new) 데이터에 대한 예측 성능↓ (overfitting)
Overfitting Problem
- 모델이 훈련 데이터에서 예외적으로 잘 수행되었지만 테스트 데이터를 예측할 수 없는 상황을 경험한 적이 있나요?
- 데이터 과학 전문가들이 가장 흔히 마주치는 문제 중 하나는 과적합을 피하는 것입니다.
→ train data는 성능이 좋으나, test(새로운) data에 대해서는 성능이 낮다
Issue with Rich Representation
// 풍부한 표현: 모델이 매우 복잡하거나 많은 매개변수를 가지고 있어 데이터를 세밀하게 학습할 수 있는 능력
→ 근데 이렇게 좋은 것에 문제가 있을 수 있다? 그것은 바로!
- input data point에서는 오류가 낮지만, 그 주변(nearby)에서는 오류가 높음 (d = 9일 때, 2에 대한 값 생각)
- train 데이터에서는 오류가 낮지만, test 데이터에서는 오류가 높음
Generalization Error
- Fundamental problem: we are optimizing parameters to solve
// 즉, 우리는 훈련 데이터에서 가능한 낮은 오류를 내기 위해 매개변수를 조정하는 것이 근복적인 문제 해결 방법이라며 이런식으로 최적하기 바쁩니다. - But what we really care about is loss of prediction on new data (x, y)
– also called generalization error
// 그러나, 우리는 새로운 데이터가 왔을 때 prediction을 잘하는 것이 중요합니다. 이를 일반화 오류라고 합니다. - Divide data into training set, and validation (testing) set
// 그래서 우리는 데이터를 훈련 세트와 검증(테스트) 세트로 나누어야 합니다.
Regularization (Shrinkage Methods)
// 정규화
- 많은 특징을 사용할 경우, 예측 함수가 매우 표현력이 높아집니다.(모델 복잡성 증가)
그러므로- 덜 표현력이 높은 함수를 선택한다.
(ex) 낮은 차수의 다항식, 더 적은 RBF 중심, 더 큰 RBF 대여폭)
? RBF: 입력 데이터의 거리에 따라 값을 반환하는 함수
- 매개변수의 크기를 작게 유지한다.
- 정규화(Shrinkage): 큰 매개변수 θ에 페널티를 부여하여 매개변수 값을 축소
- λ: 정규화 매개변수로, 낮은 손실과 작은 θ 값 사이의 균형을 맞추기
- λ 값 ↑ , 정규화 효과가 강화되어 모델의 복잡성이 줄어듦
- 덜 표현력이 높은 함수를 선택한다.
Different Regularization Techniques
= 아예 훈련 데이터의 크기를 완전 늘려 다양한 패턴을 학습시켜 Overfitting을 줄이는 방법
- Big data
- Data augmentation (데이터 증강)
- Early stopping (조기 종료) // 검증 데이터에서의 성능이 나빠지는 것을 관찰하면 훈련을 즉시 중단하는 기법
'AI > Deep Learning' 카테고리의 다른 글
[Deep learning] DP → Backpropagation (0) | 2024.06.25 |
---|---|
[Deep learning] Perceptron (0) | 2024.06.25 |
[Deep learning] Machine Learning (0) | 2024.05.30 |
[Deep learning] Gradient Descent (0) | 2024.05.22 |
[Deep learning] Optimization (0) | 2024.05.02 |