빅데이터분석기사/필기

(4과목) 빅데이터 결과 해석 ②

Zoo_10th 2024. 3. 28.

1. 분석 모형 개선

1-1. 과대적합 방지

훈련시 높은 성능을 보이지만 테스트 데이터에 대해서는 낮은 성능을 보여주는 과대적합을 방지하고, 일반화된 모델을 생성하기 위해 방향을 제시한다.

1) 모델의 낮은 복잡도

훈련 데이터를 더 많이 획득할 수 없다면 정규화, 드롭아웃 등을 활용하여 적절한 복잡도를 가진 모델을 자동으로 탐색한다.

 - 학습을 하면서 지속적으로 바뀌는 가중치 매개변수가 아닌 상수값인 하이퍼파라미터(학습률, 각 층의 뉴런 수 등)는 과대적합의 위험을 줄이기 위해 제약을 가하는 규제의 양을 결정하는 인수로, 큰 값을 지정할수록 복잡도가 낮은 모델을 얻게 된다. 

 - 드롭아웃(Dropout)

  * 신경망 모델에서 은닉층의 뉴런을 임의로 삭제하면서 학습하는 방법이다. 훈련시에는 삭제할 뉴런을 선택하며 테스트 시에는 모든 뉴런에 신호를 전달 할 각 뉴런의 출력에 훈련 때 삭제한 비율을 곱하여 전달한다.

  * 적은 수의 뉴런들로 학습을 진행할 떄 시간이 오래 걸리는 단점이 있다.

2) 가중치 감소

학습 과정에서 큰 가중치에 대해서는 큰 패널티를 부과하여 가중치의 절대값을 가능한 작게 만든다. 규제란 과대적합이 되지 않도록 모델을 강제로 제한하는 의미로 L1, L2 규제가 있다.

① L2 규제

 - 손실함수에 가중치에 대한 L2 노름(norm)의 제곱을 더한 페널티를 부여하여 가중치 값을 비용함수 모델에 비해 작게 만들어 낸다.

 - 손실함수가 최소가 되는 가중치 값인 중심 점을 찾아 큰 가중치를 제한하는데 람다로 규제의 강도를 크게하면 가중치는 0에 가까워진다.

 - 회귀 모델에서 L2 규제를 적용한 것이 릿지(Ridge)모델이다.

L2 규제와 손실함수

② L1 규제

 - L1 규제는 L2 규제의 가중치 제곱을 절대값으로 바꾸는 개념으로 손실 함수에 가중치의 절대값인 L1 노름(norm)을 추가 적용하여, 희소한 특성 벡터가 되어 대부분의 특성 가중치를 0으로 만든다.

 - 회귀 모델에서 L1 규제를 적용한 것이 라쏘(Lasso) 모델이다.

1-2. 매개변수 최적화

신경망 학습의 목표는 손실 함수의 값을 최대한 낮추는 매개변수를 찾는 것으로 이러한 매개변수의 최적값을 찾는 과정을 매개변수 최적화라고 한다.

1) 확률적 경사 하강법(SGD : Stochastic Gradient Descent)

확률적 경사 하강법은 최적의 매개변수 값을 찾기 위해 매개변수에 대한 손실함수의 기울기를 이용한다. 손실함수의 기울기를 따라 조금씩 아래로 내려가다 최종적으로 손실함수가 가장 작은 지점에 도달하도록 하는 알고리즘이다.

 - 데이터 전체를 선택하는 배치 경사 하강법과 비교하면, 랜덤으로 선택한 하나의 데이터로만 계산하는 단순하고 명확한 구조가 장점이다.

  * 다만 최소 값인 (0,0)까지 지그재그로 이동, 매개변수가 방향에 따라 다른 기울기를 갖는 비등방성 함수인 경우 비효율적인 움직임을 보인다.

 - 해당 알고리즘 수식은 갱신할 가중치 매개변수인 W, dL/dw, 매개변수에 대한 손실함수의 기울기와 학습률로 설명한다.

2) 모멘텀(Momentum)

모멘텀은 운동량을 뜻한다. 미분계수가 0인 지점에서 더이상 이동하지 않는 한계점을 가진 확률적 경사 하강법에 속도 개념인 기울기 방향으로 힘을 받으면 물체가 가속되는 관성 물리 법칙을 적용한다.

 - v(속도)항에 기울기 값이 누적되고, 누적된 값이 가중치 갱신에 영향을 주면서 기울기 값으로 인해 빠른 최적점 수렴이 가능하다.

3) AdaGrad(Adaptive Gradient)

신경망학습에서 학습률이 작으면 학습시간이 길어지고 학습률이 커지면 발산하여 학습이 제대로 이루어지지 않을 수 있다. AdaGrad는 개별 매개변수에 적응 적으로 학습률을 조정하면서 학습을 진행하는 알고리즘으로 첫 부분에서는 크게 학습하다가 최적점에 가까울수록 학습률을 점차 줄여가며 조금씩 작게 학습시킨다.

 - 새로 나온 변수 h는 기존 기울기 값을 제곱하여 계속 더해준다. 매개변수를 갱신할 때 h의 제곱근을 나누어주어 모든 가중치가 이전에 갱신되었던 크기에 맞게 학습률이 조정된다.

4) Adam(Adaptive Moment Estimation)

모멘텀과 AdaGrad를 결합한 방법론으로 학습률, 일차 모멘텀 계수, 이차 모멘텀 계수의 3가지 초 매개변수들을 설정한다.

 - 최적점 탐색 경로의 전체적인 경향은 모멭넘과 같이 공이 굴러가는 듯하다 AdaGrad로 인해 갱신 강도가 조정되어 조ㅘ우 흔들림이 덜함을 볼 수 있다.

5) 초매개변수(하이퍼파라미터, HyperParameter)최적화

초매개변수란 사람이 직접 설정해주어야 하는 매개변수로 뉴런의 수, 학습률(learning rate), 배치(batch) 크기, 은닉층 개수 등이 있다.

① 학습률(Learning Rate) 

기울기(gradient) 방향으로 얼마나 빠르게 이동할지를 결정한다. 학습률이 작으면 학습 시간이 길어지고 학습률이 커지면 발산하여 학습이 제대로 이루어지지 않을 수 있다.

② 미니배치(Mini-Batch) 크기 

전체 훈련 데이터셋을 신경망에 넣게 되면 리소스가 비효율적으로 사용되고 시간이 오래 걸리므로 배치 개념을 사용하게 된다. 미니배치는 전체 학습 데이터를 주어진 배치 크기로 나눈것으로 미니배치 크기가 큰 경우 병렬연산 구조를 사용할 때 효과적일 수 있으며, 크기가 작으면 더 많은 가중치 업데이트를 할 수 있다.

③ 훈련 반복(Epoch) 횟수  

전체 훈련 데이터셋이 신경망을 통과하는 횟수로 1Epoch는 1회 학습으로 통과했다는 뜻이며 학습의 조기 종료를 결정하는 변수가 된다.

④ 이터레이션(Iteration) 

하나의 미니배치를 학습할 때 1iteration으로 1회 매개변수(파라미터) 업데이트가 진행된다. 미니배치 개수와 이터레이션 개수는 동일하다.

⑤ 은닉층(Hidden Layer) 개수

 - 은닉층 수가 많아질수록 특정 훈련 데이터에 더 최적화 시킬 수 있다.

 - 모든 은닉층들의 뉴런의 개수를 동일하게 유지하는 것이 같은 은닉층 개수에 뉴런의 개수를 가변적으로 하는 것보다 효과적이다.

 - 첫 번째 은닉층에 있는 뉴런의 개수가 입력층에 있는 뉴런의 개수보다 큰 것이 효과적인 경우가 많다.

1-3. 분석 모형의 융합 

1) 앙상블 학습 

주어진 자료를 이용하여 여러가지 분석 예측 모형들을 만들고 해당 예측 모형들을 결합하여 최종적인 하나의 예측 모형을 만드는 방법이다.

앙상블 학습은 치우침이 있는 여러 모형의 평균을 취할시 균형적인 결과(평균)를 얻을 수 있는 장점이 있으며, 또한 여러 모형의 분석 결과를 결합하면 변동성 및 과적합의 여지가 줄어든다.

① 배깅

 - 복원 추출 방법으로 데이터를 샘플링, 모델링한 후 전체 결합하여 결과를 평균하는 기법이다.

② 부스팅

 - 순서대로 모델들을 진행하는 방법으로 이전 분류기의 학습 결과에 따라 다음 분류기의 학습 데이터의 샘플 가중치(잘못 분류한 데이터와 이용하지 않은 데이터에 대한 가중치)를 조정해 학습을 진행한다.

③ 랜덤포레스트

 - 배깅을 적용한 의사결정나무로 다수의 의사결정나무를 만들고 각 나무들은 학습 데이터셋의 일부분을 추출해서 학습한다. 나무를 구성하는 변수 역시 전체 변수들의 부분집합으로 선택된다.

2) 결합분석 모형

결합분석 모형은 두 종류 이상의 결과 변수를 동시에 분석할 수 있는 방법으로 결과 변수간의 유의성, 관련성을 설명할 수 있다.

728x90

댓글