- 최적화를 위해 cost function을 각 individual weight(parameter)로 미분함
![]()
- Learning algorithm





smoothness term == weight를 작게 만든다 == smooth하게 만든다
+람다가 클수록, w²에 강한 weight을 줘서 더 작아짐
🚨적당한 람다를 찾는 것이 중요
- 정규화 term을 추가한 것


- bias(편향): 고려된 class에서 좋은 가설(hypotheses)가 없을 때 발생
- variance(분산): 너무 많은 가설이 있을 때 발생
- trade-off(절충):
- 더 표현력 있는(expressive) 가설을 선택하면 (==복잡한 모델을 선택하면) 큰 분산/ 작은 편향

- 1-norm으로 만든 L1 정규화 term 사용 => Lasso 회귀
- 2-norm으로 만든 L2 정규화 term 사용 => Ridge 회귀
1. L1: 마름모 꼴의 형태로, 가중치가 어느 방향으로 변해도 절댓값의 합이 일정하다는 것을 나타냄
2. L2: 원의 형태로, 가중치가 같은 크기로 변화할 때 비용이 일하다는 것을 나타냄 (모든 방향으로 균등한 저항을 받음) (=가중치들을 고르게 줄이는 안정된 성능)
교차 검증: 초기 훈련 데이터를 -> 여러 개의 mini train-test로 분할하여 모델을 조정(tune)하는 것
Why?

training error는 m차 다항식이 커질수록(==복잡해질수록) 감소
but test error는 m차가 커질수록 처음에는 감소했다가 증가하게 됨
=> cross-validation의 필요성
- validation(유효성 검사) set에서 좋은 가설(모델)을 찾기
- train과 validation으로 쓰이지 않은 test set에서 편향되지 않은 결과 얻어내기
1) 훈련 및 검증 set: 올바른 예측 변수를 찾는 데에만 사용
2) test set: 알고리즘의 예측 오류를 확인하는데에만 사용
=> 이 과정을 여러번 반복하여, 결과의 평균을 내어 오차 추정치를 제공함
1. 다항식(polynomial)의 각 차수(order) d에 대해:
(a) 다음 절차를 m번 반복:
1) training set에서 i번째 instance를 제외 시킴 -> validation set으로 사용
2) 다른 모든 instance는 가장 좋은 W(파라미터)를 찾기 위해 사용
3) 남은 instance를 예측하는 데 발생하는 오류를 측정(비용함수 ;J)
4) J = 대부분 편향되지 않은 실제 예측 오류를 나타냄
(b) 예측 오류의 평균을 계산함
2. 가장 낮은 평균 추정 오류를 내는 차수(d)를 선택함
leave-one-out cross-validation ex
- 전체 dataset D에서 train과 valid를 나누어서 train error와 validation error를 계산함 => 차수를 늘려가면서 반복 ~~
- d(차수)가 증가할 수록, train error는 감소하지만 일정 d(==여기서는 2)d을 넘어가면 validation error는 증가함 -> overfitting 문제
- 따라서, 최적의 d는 2이다
![]()
![]()
