일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- lazy propagation
- pytorch
- 문자열
- 미래는_현재와_과거로
- back propagation
- tensorflow
- Overfitting
- 분할 정복
- 자바스크립트
- 우선 순위 큐
- DP
- 크루스칼
- object detection
- NEXT
- 가끔은 말로
- 회고록
- 조합론
- 2023
- 알고리즘
- dropout
- 가끔은_말로
- 세그먼트 트리
- 백트래킹
- c++
- 이분 탐색
- 플로이드 와샬
- 다익스트라
- dfs
- 너비 우선 탐색
- BFS
- Today
- Total
목록Overfitting (5)
Doby's Lab

Batch Normalization Batch Normalization는 모델이 복잡할 때, 정확히는 Layer가 깊어지면서 가지는 복잡도가 높을 때 일어나는 Overfitting을 해결하기 위한 기법입니다. Batch Normalization이 어떻게 작동되는지 알기보다 왜 Batch Normalization이 나왔는지 먼저 알아야 합니다. Internal Covariate Shift 아래 그림과 같이 Input Data의 분포가 Layer를 거치면서 분포가 달라지는 현상을 Covariate Shift라고 합니다. Covariate란 공변량으로 연속성을 가지는 독립변수라는 의미이기 때문에 이러한 의미를 알면 이해하기 쉬울 것입니다. Shift는 말 그대로 옮겨갔다는 뜻으로 '데이터의 분포가 달라졌다'라..

Dropout Dropout이란 학습을 하면서 일부 뉴런을 일부러 끄면서 Overfitting을 방지하는 기법입니다. 뉴런들이 꺼지는 기준은 Hyperparameter인 Dropout-rate를 통해 꺼질지 말지 결정합니다. 또한, Dropout은 batch마다 켜지고 꺼지는 뉴런이 달라집니다. Overfitting 이러한 Dropout이 Overfitting 방지가 어떻게 되는지 알아봅시다. Sample마다 영향력이 강한 feature가 존재합니다. 만약 이러한 feature가 없다면 다른 feature들이 더 영향을 주게 됩니다. 결론적으로 correlation이 강한 feature에 과하게 학습되는 걸 방지하며 최대한 균등하게 영향력을 가져가려 합니다. Ensemble 또한, 학습마다 Dropout..

Regularization Overfitting 문제를 해결하는 데에 있어서 여러 기법들이 있습니다. 오늘은 L1, L2 Regularization에 대해 알아봅시다. 이 두 기법은 모델이 복잡할 때 일어나는 Overfitting을 해결하기 위한 기법입니다. 이 기법을 통해 가중치들이 작아지면서 모델이 아래 그림과 같이 일반성을 가질 수 있도록 합니다. MSE (Mean Squared Error) 들어가기 전에 일반적으로 Cost Function을 많이 쓰이는 MSE에 대해 알아봅시다. MSE란 평균 제곱 오차라는 뜻으로 예측 값과 실제 값의 차이를 제곱하여 이를 모두 평균화한 것을 의미합니다. $$ MSE = \frac{1}{N}\sum_{i=1}^{N}(\hat{y_i}-y_i)^{2} $$ MSE(..

Image Augmentation Image Augmentation(이미지 증강)이란 Overfitting을 막는 방법 중 하나입니다. 더 디테일하게 말하자면 데이터셋의 크기가 작으면 train_set에 대해 모델이 학습할 수 있는 게 적습니다. 그렇기에 모델이 작은 train_set에 대해 최적화되게 학습을 하면서 Overfitting이 나는 현상에 대한 해결책입니다. 즉, Overfitting이 나는 이유가 '데이터셋의 크기가 작아서 그렇구나'라는 의심을 가지고서 Image Augmentation을 사용해야겠다는 판단을 할 수 있는 게 중요하다고 시작하기 전에 앞서 말하고 싶습니다. Overfitting이 일어나는 이유와 이를 대처하는 방법은 항상 여러 가지가 있으니까요. (Regularization..

Normalization Normalization이란 정규화로 특정 feature의 scale을 0에서 1로 새롭게 scaling 하는 기법을 의미합니다. (개념에 대해 정리한 글) https://draw-code-boy.tistory.com/438 Standardization(표준화)와 Normalization(정규화)의 차이 공부를 하다 보면 Data Preprocessing을 할 일이 많은데 책에서는 정규화를 한다 하지만 StandardScaler를 통해 Data Scaling을 하는 경우가 종종 있습니다. 언어가 혼용되는 것인지 잘못 알고 있는 건지 정리 draw-code-boy.tistory.com 이 작업이 데이터셋에서 feature 간 scale이 다르기 때문에 이를 같게 하기 위해 쓰이는 ..