1.60
, 1.05
는 각각 으로 1차원의 가설 공간!💡 그렇다면 linear regression으로 충분할까?
1. Transform the data
2. Use a different hypothesis class (e.g. non-linear functions)
⇒
Polynomial regression
데이터에 고차원의 다항식을 적용
E.g.,
즉, x와 y 사이의 관계는 x에서 n차 다항식으로 모델링
이 주어짐
우리는 d+1개의 파라미터(θ)가 필요
💡 Data에 가장 적합한 fit은 무엇일까? Order-9 fit이 가장 좋은걸까?
Order-9 fit
기계 학습(machine learning)에서 학습 데이터를 과하게 학습(overfitting)하는 것
모든 머신 러닝 알고리즘에서 매우 중요한 문제 ❗
우리는 training data는 완벽하게 예측하지만, 새로운 data로는 잘 일반화되지 않는 함수 (hypothesis)를 찾을 수 있음
ex) 위에서 본 order-9 fit
기계 학습의 핵심은 training data
로부터 model
을 학습하고, 그 model을 바탕으로 Unseen data
즉, test data
를 예측하는 것
만약, 파라미터의 수가 많다면 모든 data points를 기억(memorizes)하지만, 다른 모든 곳에서는 wild!!
📌 Another overfitting example
degree
가 높을수록, 자유도가 높아지고, training data를 과적합(overfitting)할 수 있는 capacity도 높아짐!📌 Typical overfitting plot
💡 참고
딥러닝에서는 다름! 데이터가 많아도 너무 많고, 모델 사이즈를 키워도 성능 좋아짐!
💡 그럼 overfitting이 발생했다는 걸 어떻게 알고 예방할 수 있을까?
1. Cross-validation (다음 챕터)
2. Lager data
empirical loss
(경험적 손실?)과 expected loss
(기대 손실)의 차이가 커짐3. 쓸데없는 가설(hypotheses) 버리기
4. Regularization (정규화)
Data augmentation
, Early stopping
, ...일반적으로 과적합을 방지하거나 최적화에 도움이 되는 방법
특히 최적화를 돕거나 과적합을 방지하기 위해 training optimization objective에 additional terms (추가 항 사용)
⇒ Shrinkage
in statics
Idea
: 비용 함수(cost function)를 변경하여 가설(hypothesis)의 복잡성에 패널티 부여
: cost function
: 정답 값 (label)
: 예측한 값
λ
: 제약 조건
클수록 전체가 작아짐!
: Regularization term
를 minimalize하려고 하면 memorize하게 됨! 때문에 Regularization term
을 두고 있음
📌 Norm
norm
의 개념이 활용Lp norm
출처 : https://ekamperi.github.io/machine%20learning/2019/10/19/norms-in-machine-learning.html
L1 norm
: 벡터의 요소에 대한 절댓값의 합, Manhattan norm
L2 norm
: 각 원소들의 제곱의 합을 제곱근으로 이상치에 민감, Euclidean norm
📌 Lasso regression
⇐ L1 regularization
L1 loss
에 regulartization term
을 붙인 것L1 regularization
을 사용하면 해당 feature의 weight를 0으로 만듦📌 Ridge regression
⇐ L2 regularization
L2 loss
에 regulartization term
을 붙인 것Lasso regression
과 다르게 불필요한 feature의 weight를 0에 가깝게 만들 뿐, 0으로 만들진 않음cross-validation
⭐ 출처
https://sooho-kim.tistory.com/85
https://junklee.tistory.com/29