[DL-Basic 정리][Neural Network 최적화] Optimization 관련 주요 용어

mincheol2·2022년 2월 7일
0

DeepLearningBasic

목록 보기
2/7

이 글은 부스트캠프 AI Tech 3기 강의를 듣고 정리한 글입니다.

Optimization

이 글에서는 최적화Optimization에 관련된 용어들의 주요 concept을 알아보도록 하자.

Generalization

모델이 test data에도 얼마나 잘 적용되는지 보여주는 일반화 성능으로 그래프의
Generalization gap이 일반화성능의 척도가 된다.

단 Generalization이 잘됐다고 항상 좋은 것은 아니다.(train 성능이 않 좋은 경우)


Underfitting vs Overfitting

Underfitting : 그냥 학습이 안된 상태(train -> bad / test -> bad)
Overfitting : train은 학습이 잘되었으나, test에 적용이 잘안되는 상태
                    (train -> good / test -> bad)


Cross-validation(= K-fold validation)

학습데이터에서 일정 비율을 나누어 학습에서 쓰이는 test로 사용하는 방법으로 n개의 partition이 있을 때, n-1번의 학습을 하게 된다.

단, test data는 학습에 절대 활용하지 않는다.
일반적으로 최적의 하이퍼 파라미터set을 찾기위해 사용 후, 전체 학습데이터를 사용하여 파라미터를 학습한다.


Bias and Variance

Bias : 비슷한 입력을 받았을 때 출력의 평균이 한쪽으로 편향됨을 의미
Varience : 비슷한 입력을 받았을 때 출력이 얼마나 퍼졌는가를 의미

재미있는 것은 BiasVarience 사이에 Tradeoff 가 있다는 점이다.
cost functionBias, Varience, Noise 3개의 항으로 나누어질 수 있는데(Noise는 있다고 가정시)
식을 보면 Noise를 제외하면 cost function에 대해서 Bias, Variencetrade off관계인 것 을 볼 수 있다.


Bootstrapping

신발끈을 들어서 하늘을 날자!

Bootstrapping은 고정된 학습 데이터를 sub sampling을 통해 여러개의 샘플을 통해
여러개의 모델을 만들어 뭔가 해보겠다 라는 의미이다.

BaggingBoosting의 기초 개념이다.


Bagging vs Boosting

Bagging (Bootstrapping aggregating)

단어에서 알 수 있듯이 Bootstrapping 으로 나온 모델들을 aggregating 하는 것이다.
이 때 aggregating 은 모델들의 결과를 voting이나 averaging 하여 최종 결과를 낸다.
앙상블 기법이기도 하다.

Boosting

Boosting은 처음에 간단한 모델(weak learners) 을 만들어 예측한 결과에서 틀린 것들에 가중치를 두어(혹은 틀린것에 대해서만) 모델을 만들고, 여기서 또 틀린 것들에 가중치를 두어 모델을 만들고, . . . . 하는 것 이다.
Sequential 하게 weak learners 들을 결합하여 strong mdel을 만드는 과정이다.

Bagging vs Boosting

profile
옹오옹오오오옹ㅇㅇ

0개의 댓글