[BoostCourse] 2. 최적화
https://www.boostcourse.org/ai111
Introduction
Gradient Descent
- 편미분을 통해 loss function의 local minimum을 찾는 과정
Important Concepts
-
Generalization
- 일반화 성능을 높이는 것이 목적
- 일반화 성능: how well the learned model will behave on unseen data
- generalization gap: training error와 test error의 차이
- 이 network의 학습 데이터의 성능과 비슷하게 나올 것이다
- Under-fitting vs Over-fitting
-
Cross validation
- train data와 validation data를 나눠서 학습
- 학습에 사용되지 않은 validation data를 얼마나 잘 예측하는지
- 최적의 hyperparameter 찾을 때 이용 -> 이후 모든 데이터를 학습에 사용
- test data는 cross validation에 사용하지 않음 (학습에 절 대 사용되지 않음!!)
-
Bias-variance tradeoff
- variance: 입력을 넣었을 때 출력이 얼마나 일관적으로 나오는지
- 낮을수록 일관적 -> overfitting
- bias: 모델을 통해 얻은 예측값과 실제값의 차이의 평균
- 클수록 예측값과 정답 간의 차이가 큼 -> underfitting
- cost를 minimize 해야 함
- cost = $E[(t-\hat{f})²]$
- cost는 bias², variance, noise로 구성되어 있기 때문에 어느 하나가 작아지면 다른 하나가 커지는 trade-off 관계
- variance: 입력을 넣었을 때 출력이 얼마나 일관적으로 나오는지
- Bootstrapping
- any test or metric that uses random sampling with replacement
- 학습데이터 중 몇 개만 활용한 모델을 여러개 만들 때, 모델들이 만들어낸 예측값들의 consistence를 보고 전체적인 모델의 성능 예측
- Bagging and Boosting
- Bagging (Bootstrapping aggregating)
- 여러개의 모델을 bootstrapping하여 결과 평균
- Boosting
- 예측을 잘 못한 학습 데이터에 대해 잘 동작하는 모델 생성
- weak learner 여러 개 -> 하나의 strong learner
- Bagging (Bootstrapping aggregating)