일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 데이터 엔지니어링
- Overfitting
- 데이터
- codingtest
- 머신러닝
- 웹크롤링
- 딥러닝
- TF-IDF
- 협업 필터링
- 프로그래머스
- 알고리즘
- 분산 시스템
- 웹스크래핑
- 추천 시스템
- wordcloud
- 부스트캠프
- 파이썬
- Tensor
- 백준
- Python
- 시각화
- 추천시스템
- coursera
- Cosine-similarity
- selenium
- SGD
- 코테
- 코딩테스트
- pytorch
- recommendation system
- Today
- Total
개발자식
[딥러닝] 딥러닝 모델 최적화 이론_Weight Regularization 본문
Regularization
: 학습에서 발생하는 에러 말고, 평가를 위한 테스트상에서 발생하는 에러(generalization error)를 줄이기 위하여 학습 알고리즘을 수정하는 기법
기존의 Gradient Descent 계산 시 y축에 위치해 있던 Cost Function은 Training data에 대해 모델이 발생시키는 Error 값의 지표이다. 이는 Training data만 고려되어 Gradient Descent를 적용하면 Overfitting에 빠질 수 있다.
모델이 복잡해질수록 (Overfitting에 빠질수록) 어떤 현상이 일어나는지 보면
- 모델이 복잡해질수록 모델 속에 숨어있는 세타들은 개수가 많아지고 절대값이 커지는 경향이 있다.
-> 모델이 복잡해질수록 그 값이 커지는 세타에 대한 함수를 기존의 Cost function에 더하여 Trade-off 관계 속에서 최적 값을 찾아낸다.
Weight Decay(가중치 감퇴/감소) 기법
L1 regularization (L1 정규화)
- 가중치의 절대값의 합에 비례하여 가중치에 패널티를 준다.
- 관련성이 없거나 매우 낮은 특성 (정답에 영향을 주지 않는)의 가중치를 정확히 0으로 유도하여, 모델에서 해당 특성을 배제하는 데 도움이 된다. (==Feature selection 효과)
L2 regularization (L2 정규화)
- 가중치의 제곱의 합에 비례하여 가중치에 패널티를 준다.
- 큰 값을 가진 가중치를 더욱 제약하는 효과가 있다.
L1은 그림과 같이 주로 마름모의 꼭짓점에 위치한다. (다른 가중치는 0이 됨)
ElasticNet : L1 L2 두 개의 장점을 섞음, 가중치의 절댓값의 합(L1)과 제곱합(L2)을 동시에 제약 조건으로 가지는 모형
Regularization Rate (정규화율, Lambda)
- 스칼라 값
- 정규화 함수의 상대적 중요도를 지정
- 세타의 수가 아주 많은 신경망은 정규화율을 아주 작게 주기도 한다.
- 람다 값이 너무 높은 경우: 모델은 단순해지지만 데이터가 과소적합해질 위험이 있음
=> 모델이 학습 데이터에 대해 충분히 학습하지 못할 수 있음 - 람다 값이 너무 낮은 경우: 모델은 더 복잡해지고 데이터가 과적합해질 위험이 있음
=> 모델이 학습 데이터의 특수성을 너무 많이 학습하게 되어 새로운 데이터로 일반화하지 못함
'AI > Deep Learning' 카테고리의 다른 글
[딥러닝] Batch Normalization (0) | 2022.05.01 |
---|---|
[딥러닝] Avoiding Overfitting - Dropout (0) | 2022.05.01 |
[딥러닝] 딥러닝 모델 최적화 이론_Batch (0) | 2022.05.01 |
[딥러닝] 딥러닝 모델 최적화 이론_가중치 초기화 (0) | 2022.05.01 |
[딥러닝] 딥러닝 , 논리회로 (0) | 2022.05.01 |