사이트맵  |  Contact Us
 
홈 > SAS Tech & Tip > SAS 고수의 팁
[통계]Deep Learning_신경망05 2020.02.29
강아미 312 0
http://www.mysas.co.kr/SAS_tiptech/a_all.asp?b_no=11304&gotopage=1&con=subject&keyword=&cmd=content&bd_no=33&gubun=

Description

1. 과적합 정의

2. 과적합 방지 방법

- 정규화

- L1 정규화

 - L2 정규화

- Drop Out

-------------------------------------------------------------------------

 

과적합은 학습시킨 데이터에서의 결과가 학습시에는 사용하지 않은 실제 모델이 사용할 데이터의 결과보다 더 좋은 경우를 말합니다.

(학습시 사용되지 않은 데이터에 적용했을 때에는 성능이 떨어지고, 복합한 모델이 학습 시에는 더 좋은 결과를 보여주지만 예측시에 예측율이 떨어지는 결과를 보여주는 것.)

 

신경망에서의 과적합은 많은 층을 가질수록 데이터에 지나치게 과적합하는 경향이 있습니다.

 

과적합을 방지하기 위해서는?

1. 정규화(regularization)

2. Drop Out  

 

> 1. 정규화 : L1 정규화, L2 정규화

  • ​정규화

큰 가중치 값들을 불리하게 하는 부가적인 항을 추가해 최소화하는 목적 함수를 수정하는 것을 의미합니다.

목적함수를 Error + λf(θ)가 되게 바꿉니다. 

여기서 θ가 커지면 f(θ)가 커지며, λ​는 정형화의 강도를 나타냅니다.

λ​값이 크면 모델이 학습 데이터에 대해 좋은 성능을 내는 파라미터 값을 찾는 것보다 θ​를 가능한 한 작게 유지하는 것을 우선시 합니다.  

 

  •  ​L1 정규화

신경망의 모든 페널티의 가중치 w를 0으로 줄이는 것입니다.

 

L1 정규화를 LASSO(Least Absolute Shrinkage and Selection Operator)라고도 알려져 있습니다.

 

페널티의 크기는 특정 값보다 작자는 제약이 있습니다. 

그래서 값이 작은 가중치는 0으로 줄어듭니다.

 

L1 정규화를 통해서 과적합도 방지되며, 변수 선택 작업 또한 이루어집니다.

 

여기서 페널티의 크기는 하이퍼파리이터 (람다)에 의해 결정됩니다.

 

+OLS(ordinary least squre)_최소제곱법

OLS는 회귀에서 계수 또는 가중치들은 최소제곱 오차 범위를 사용해 추정합니다.

 

계수 또는 가중치 벡터 B는 (Y-XB)​T​(Y-XB)를 최소화해 추정할 수 있습니다. 

Y는 종속변수, X는 k+1개의 열로 이뤄진 행렬로, k개의 열은 독립변수이고 나머지 하나의 열은 절편 값을 나타냅니다.

실제 종속 변수의 값과 예측된 값들의 차이가 오차 또는 잔차의 벡터입니다. 

L1 정규화는 제약 추정 값이며, 가중치 벡터 B는 절대 가중치의 합의 특정값보다 작거나 같다는 제약 조건에 따라 추정됩니다.

 

L1 정규화가 신경망에 적용하면, 

(Y-XB)​T​(Y-XB)를 최소화시키는 함수를 (Y-XB)​T​(Y-XB)+λ||B||​1​로 수정합니다.

여기서 ||B||는 절대 가중치의 합을 나타냅니다. 

λ(정규화 상수)=0이면 ​L1 정규화는 일반적인 최소제곱 추정치로 감소됩니다.

 

신경망에서 L1 X는 입력값, Y는 결과 값이나 종속변수, ​B는 매개변수, F는 B를 구하기 위한 최적화된 목적함수입니다.

F(B; X,Y) + λ​||w||로 수정할 수 있습니다. 

여기서 w는 절편 값을 제외한 가중치를 나타냅니다. 경사법을 고려하면 패널티 항인 

λ*sign(w)를 추가해야 합니다.

 

L1정규화가 작을수록 0값을 갖는 가중치가 많은 경향이 있습니다. 

그래서 경사값을 업데이트할수록 가중치는 0에 가까워집니다.

 


 

 

  • L2 정규화​

​L2 정규화는 리지 ridge회귀로 알려져 있습니다.

신경망에서 모든 가중치의 제곱 크기로 오차 함수를 증가함으로써 구현할 수 있습니다.

신경망에서 모든 가중치 w에 대해, 1/2*λ​*w​2​를 오차 함수에 추가합니다.

L2 정형화는 최고점인 가중치 벡터를 매우 불리하게 하고 분산된 가중치 벡터들을 선호하는 직관적인 해석을 내포합니다. 

L2정형화를 사용하면 경사하강법을 갱신하는 동안 모든 가중치가 선형적으로 0으로 감소합니다.

그래서, L2정형화를 가중치 감쇠 (weight decay)라고도 합니다.

 


 

 

 

 

>2. Drop Out

 

과적합을 막기 위한 방법으로, 심층 신경망(Deep Neural Network, DNN)에서 과적합을 막는데 가장 선호되는 방법 중 하나입니다.

 

학습 중, Drop Out은 어떤 확률 p(하이퍼파라미터)로 뉴런의 활성 상태를 유지하거나 0으로 설정합니다.

쉽게 설명하자면 입력값이나 은닉 뉴런들을 확률적으로 제거하는 것입니다.

 


 

 

일부 뉴런이 학습 단계에서 완전히 제거되는게 아니라 학습 중 특정 단계에서만 제거된다는 것으로, 

특정 정보가 없을 때도 망을 정확하게 만들고, 망이 뉴런의 어느 하나에 의존적이 되는 것을 방지하는 장점이 있습니다.

 

학습시에는 뉴런들이 무작위로 제거되지만, 테스트시에는 일부 뉴런들을 제거한 모델들을 기반으로 예측해 평균을 내는 것이 어렵다 그래서 각 가중치들이 포함될 확률 1-p를 기반으로 하나의 신경망의 가중치를 확정해 평균값을 구하는 것이 좋습니다.


 

 

 

 

 
 
휴대폰 번호
휴대폰 인증번호
 
 SAS Ceritified Advanced Programmer 덤프 풀이 57-59
 [통계]Deep Learning_신경망04