728x90
반응형
1. 목적
간단한 회귀 문제 (regression problem)을 통해 몇 가지 중요한 개념들을 이해하도록 한다.
2. 내용
- sin(2πx) 함수에 랜덤 노이즈를 추가하여 예시 데이터를 생성함.
- x와 위의 함수에 집어넣을 때 나오는 값은 t로 하고 길이는 N의 행렬을 만듬.
이 때 x는 0부터 1까지 uniform distribution으로 생성함. - 목표하는 바는 훈련데이터셋으로 새로운 입력값 x_het에 대해 t_het을 예측하는 것임.
이를 위해 다항함수 (polynomial function)을 적용함. 이러한 형태의 모델을 선형 모델 (linear model)이라함.
- w의 계수값은 오차 함수 (error function)의 값을 최소화 시키는 방법으로 결정될 수 있다. 오차 함수란 예측값과 실제값 간의 차이를 측정하는 함수이다. 여기선 오차값의 제곱을 합산하는 것 (sum-of-squares error)을 사용한다.
- 아직은 M을 결정해야하는 문제가 있는데 이것은 모델 비교 (model comparison) 또는 모델 선택 (model selection)의 개념의 예이다. 예시에서는 M이 낮은 값일 때는 예측값과 실제값 간의 오차가 큰 것으로 나타나지만 M이 증가할 수록 훈련데이터를 훌륭히 예측하지만 전체적인 sin(2πx) 에서는 동떨어지게됨. 이러한 현상을 과적합 (over-fitting)이라고 함.
- 이를 막기위해 테스트 셋 (test set)으로 예측함수의 성능을 평가함.
- 모델의 복잡도에 따른 과적합 문제는 훈련데이터의 양이 증가하면 감소할 수도 있음. 즉, 데이터량이 많으면 많을수록 더 복잡한 모델이 가능하다는 것임. 대략적인 경험적인 관계로는 조정가능한 변수들 (adaptive parameters) 수를 훈련 데이터량의 배수 (say 5 or 10) 가 되서는 안된다는 것임. 하지만, 반드시 그런 것은 아니므로 나중에 좀 더 다루겠음.
- 과적합을 해결하는 방식 중에 흔히 사용되는 것은 규칙화 (regularization)이 있음. 이것은 오차함수에 페널티 항 (penalty term)을 넣어서 큰 변수가 되는 것을 막는 기법임. 통계학 문학에서는 수축 (shrinkage)방법이라고 알려져 있음. 아래 수식은 ridge regression이라고 하는 방식이며 신경망에서는 weight decay라고 알려져 있음.
- 위의 수식에서 ||w||^2는 weight들의 제곱값의 합을 의미함. 그리고 λ (lambda)는 앞의 SSE에 대비해 얼만큼 상대적으로 ridge부분이 중요한지를 나타냄. 여기서 w0는 빠져있는데 이것은 챕터 5에서 다루겠음.
- 이외에도 training set에서 파라미터를 조정하기 위해 validation set (혹은 hold-out set)을 만들어서 lambda나 모델 복잡도 (M)을 결정할 수도 있음. 하지만, 이런 경우 귀중한 훈련데이터의 낭비로 이어지기 쉬움. 따라서, 좀 더 정교한 방법을 추구해야함. [추신 : 이건 데이터량이 적으면 그런 것이고 많으면 그리 큰 문제는 안됨]
728x90
반응형
'DeepLearning > Pattern recognition and Machine learning' 카테고리의 다른 글
[PRML] 1.2.3 Bayesian probabilities (베이지안 확률들) (0) | 2023.11.07 |
---|---|
[PRML] 1.2.2 Expectations and covariances (기대값과 공분산) (0) | 2023.11.06 |
[PRML] 1.2.1 Probability densities (확률 밀도) (0) | 2023.11.03 |
[PRML] 1.2 Probability theory (확률 이론) (1) | 2023.10.29 |
[PRML] 1. introduction (0) | 2023.10.04 |