< 목차 >
- 용어정의
- Overfitting and condition number
- Example of underfitting and overfitting
1. 용어정의
- 아래 페이지를 참고해주세요.
2. Overfitting and condition number
2021.03.29 - [인공지능/머신러닝] - 2-5. Singular Value Decomposition(SVD) 에서 언급한 조건수(Condition Number)의 개념을 이해한 상태로 overfitting 문제에 접근하면, 우선 maximum likelihood로 구한 최적의 w_ML은 아래와 같이 Moore-Penrose Pseudo inverse의 행렬로 표현된다.
이때, 앞부분의 inverse(Φ^TΦ(N x M) 차원) 이 내적되어, 결국 정사각형 (M x M) 차원 행렬로 연산되는데 Inverse를 취했을 때 ∑행렬의 특이값은 아래와 같다.
즉, 특이값 λ값이 0에 가까워질수록 inverse 행렬의 특이값인 1/λ은 반대로 엄청나게 커지게 되고 이것이 w_ML에 영향을 주어 결국 overfitting을 발생시키는 것이다.
일반적으로 차원 M이 커질수록 조건수는 1보다 커지며, 조건수 κ가 증가하는 것은 특이값 λ의 변화가 크다는 것을 의미하고, 이는 즉 모델의 가중치인 w의 변화폭을 크게 만들어 overfitting을 유도한다.
따라서, overfitting을 방지하기 위해서 다음 두 가지 방법이 제시되었다.
(1) 학습데이터수 N ≫ 가중치행렬크기 M
- 학습데이터 수 N을 모델의 가중치 행렬크기인 M보다 최소 10~15배 이상 훨씬 크게 한다.
(2) Regularization term 도입
- 아래와 같이 Hyper parameter인 λ를 (Φ^TΦ)에 더해줌으로써, 가중치의 지나친 크기변화를 제한한다.
3. Example of underfitting and overfitting
다음은 가중치행렬 M의 변화에 따른 Underfitting과 Overfitting, 그리고 조건수의 변화를 간단한 예제로 나타낸 것이다.
아래그래프는 sin(πx) 함수에 가우시안 분포를 갖는 랜덤노이즈를 포함하여 23개의 학습데이터를 생성하여 Curve fitting을 한 것으로, 빨간색 선은 sin함수의 Ground Truth이며, 연두색 선은 10번 fitting한 커브(검정색 선)의 평균을 나타낸다.
위의 예제데이터로 차수에 따른 회귀모델과 대응하는 조건수의 변화량을 보면, 가중치의 M행렬 차원이 높아질수록 아래 그래프와 같이 조건수(κ)가 선형적으로 증가하는 것을 알 수 있다.
'인공지능 > 머신러닝 이론' 카테고리의 다른 글
3-2. Discriminant Functions (0) | 2021.03.31 |
---|---|
3-1. Linear Models for Classification (0) | 2021.03.31 |
2-5. Singular Value Decomposition(SVD) (0) | 2021.03.29 |
2-4. Bias vs. Variance (0) | 2021.03.29 |
2-3. Regularized Least Squares (0) | 2021.03.29 |