AI/Deep Learning

[Deep Learning] 모델 최적화를 위한 중요한 개념들

sangwonYoon 2023. 3. 21. 14:50

Generalization

관측하지 못한 데이터가 입력으로 주어졌을 때, 모델이 정확하게 동작하는 능력을 말한다.

 

Cross-validation

일반적인 경우, 아래 그림과 같이 고정된 데이터 셋을 통해 모델을 검증한다.

이러한 경우, 모델이 해당 test set에 대해 과적합될 수 있다.

이러한 문제를 해결하기 위해, test set을 하나로 고정하는 것이 아닌, 모든 데이터 셋을 test set으로 활용하여 교차 검증을 진행한다.

아래는 교차 검증에서 가장 널리 사용되는 기법인 k-fold cross validation이다.

Bias & Variance

Bias(편향)

실제 값과 모델의 출력 값이 얼마나 차이가 나는지를 의미한다.

Variance(분산)

비슷한 입력 값을 넣었을 때, 출력 값이 얼마나 일관적이게 나오는지를 의미한다.

분산이 지나치게 크면, 과적합을 야기할 수 있다.

 

Bias and Variance Tradeoff

  • 모델이 복잡해질수록, 편향은 작아지고 분산은 커지게 된다. (over-fitting)
  • 모델이 단순해질수록, 편향은 커지고 분산은 작아지게 된다. (under-fitting)

Bootstrapping

기존의 데이터 셋에서 중복을 허용한 임의 추출을 통해 여러 개의 부분 집합을 만들어 낸다.

Bagging (Bootstrap Aggregating)

  • Bootstrapping을 사용해서 모델의 성능을 향상시키는 방법 중 하나이다.
  • Bagging의 가장 대표적인 알고리즘인 Random Forest는 의사 결정 트리를 여러 개 만들어, 각 트리의 결과를 취합해 다수결로 최종 결과를 도출한다.
  • 이 때, 각 트리는 Bootstrap을 통해 만들어진 데이터의 부분 집합을 기반으로 만들어진다.

Boosting

  • Weak Learner들을 결합해서 Strong Learner로 만드는 방법이다.
  • 각각의 모델은 이전 모델의 오차를 보완하기 위해 학습된다.

'AI > Deep Learning' 카테고리의 다른 글

[Deep Learning] LSTM을 직접 구현해보자!  (0) 2023.03.29
[Deep Learning] RNN의 구조  (2) 2023.03.24
[Deep Learning] modern CNN의 특징  (0) 2023.03.24
[Deep Learning] Regularization  (0) 2023.03.21
[Deep Learning] 최적화 기법  (0) 2023.03.21