Posts List

[빅분기] PART4. 빅데이터 결과 해석 - 분석모형 평가 및 개선 - 분석모형 개선 (출제빈도 : 하)

               * 본문은 이기적에서 발행한 빅데이터분석기사 수험서를 공부하면서 작성된 글입니다. 시험 대비한 공부로, 암기가 필요한 부분을 요약/정리합니다.

PART4. 빅데이터 결과 해석

1. 분석모형 평가 및 개선

1-2. 분석모형 개선

1) 과대적합 방지

- 훈련 시에는 성능이 높지만 테스트데이터에는 낮은 성능을 보여주는 현상
- 모델을 더욱 일반화 하여(복잡도를 낮추어) 방지 가능

* 모델의 낮은 복잡도

- 훈련데이터를 더 많이 획득할 수 없다면 정규화, 드롭아웃 등을 활용한 적절한 복잡도를 가지도록 해야함
- 학습되는 가중치를 조정하는 것이 아닌 하이퍼파라미터(학습률, 뉴런 수 등)에 제약을 가하는 것 임

* 가중치 감소  ※ 관련글 : [머신러닝/딥러닝] Linear model for regression 

- 하이퍼파라미터가 아니라 가중치에 패널티를 부과하여 가중치의 절대값을 작게 만드는 방법
  규제 = 과대적합이 되지 않도록 모델을 강제로 제한하는 의미

L2 규제 : 손실함수에서 가중치에 대한 2-norm의 제곱을 더한 패널티를 부과 
   - 손실함수를 최소화 해야하는데 가중치의 2-norm의 제곱을 최소화 해야함으로 규제가 걸림
   - 규제의 강도(λ)를 크게하면 가중치는 0에 가까워짐
   - 회귀모델에 L2 규제를 적용한 것이 Ridge 모델임
L1 규제 : L2 규제가 2-norm의 제곱을 규제한다면 L1 규제는 1-norm을 규제함 (제곱X)
   - 회귀모델에 L1규제를 적용한 것이 Lasso 모델임

* 편향-분산 트레이드 오프

- 과소적합(underfitting)과 과대적합(overfitting)은 동시에 잡을 수 없음
- 과소적합은 편향(bias)이 큰 것이고, 과대적합은 분산(variance)가 큰 것임
- 즉 편향과 분산은 trade-off 관계에 있음
- 적절한 편향과 분산을 갖게 모델의 복잡성을 선택해야 함

2) 매개변수 최적화  ※ 관련글 : [머신러닝/딥러닝] Optimization for deep learning

- 신경망 학습의 목표는 손실 함수의 값이 최소가 되는 매개변수를 찾는 것
- 매개변수의 최적값을 찾는 과정을 매개변수 최적화라고 함

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

- 무작위 샘플을 1개 뽑아서 매개변수를 update 하는 방식 (=mini-batch gradient decent)
- 전체데이터를 선택하는 일반적인 batch 경사 하강법에 비해 계산이 단순해짐
- 다만 최소값까지 가는데 지그재그로 이동하고, 매개변수가 방향에 따라 기울기를 갖는 비등방성일 경우 비효율적
- 단점을 보완하려면 ① 수렴방향을 잘 찾게하거나 ② 수렴속도(step size, learning rate)를 적절히 해야함

* 모멘텀(Momentum)

- SGD단점(속도)을 보완하기 위해 ① 수렴방향에 집중한 것으로, 수렴 방향에 관성을 부과한 것
- 손실함수의 noise에 강건하고 SGD보다 빠르게 해를 찾아갈 수 있음

* AdaGrad (Adaptive Gradient)

- AdaGrad는 ② 수렴속도를 제어한 것. 즉, 학습률(learning rate)를 adaptive하게 조정하면서 학습함
- 처음에는 크게 학습하다가 최적점에 가까울수록 점차 줄여나가며 학습시킴

* Adam(Adaptive moment Estimation)

- momentum을 이용해 방향을 잘 결정하면서 learning rate(step size)를 adaptive하게 하는 원리
- 즉, Momentum + AdaGrad의 결합. 가장 뛰어난 매개변수 학습법으로 알려져 있음 (가장 대중적)

* 하이퍼파라미터(=초매개변수) 최적화

① 학습률(Learning Rate) : 기울기 방향으로 얼마나(step size) 빠르게 이동할 것인지 결정
미니배치(Mini-Batch) 크기 : 전체 데이터 학습은 비효율적임으로 일정 크기(batch)로 나누어 병렬 연산
   ※ 크기가 작을 수록 더 많은 가중치 업데이트를 할 수 있음
③ 반복 훈련(Epoch) 횟수 : 전체 훈련데이터 셋이 1번 통과시키면 1 Epoch. 학습 조기 종료를 결정하는 변수
④ 이터레이션(Iteration) 
 - 하나의 미니배치는 1 iteration으로 학슴됨
 - 전체 데이터를 학습하려면 미니배치 개수만큼 학습해야함 (=미니배치개수 = interation 개수)
⑤ 은닉층(Hidden layer) 개수
 - ANN에서 은닉층이 많을 수록 훈련데이터에 최적화됨 (복잡해짐)
 - 모든 은닉층의 노드 수를 동일하게 유지하는 것이 효과적으로 알려져 있음
 - 첫 번째 은닉층의 뉴런 개수가 입력층에 있는 뉴런 개수보다 큰 것이 효과적으로 알려져 있음

3) 분석모형 융합  ※ 관련글 : [데이터마이닝] 앙상블

- 분석 성능 향상을 위해 구축된 여러 모형을 결합, 융합

* 앙상블 학습

- 여러가지 분석 예측모형들을 만들고 예측모형들을 결합하여 최종적인 하나의 예측모형을 만드는 방법

① 장점 : 과적합된 모형들을 합쳤을 때 균형적인 결과를 얻음. 변동성 및 과적합의 여지가 줄어듦
② 종류 : 배깅, 부스팅, 스태킹
 - 보팅 : 서로 다른 모델들의 결과를 투표(다수결) 혹은 평균을 취해 최종 예측값을 선정하는 것
 - 배깅 : 랜덤 샘플링(Bootstrap) 한 모델을 결합해 의사결정(Aggregating)하는 방법
 - 부스팅 : 이전에 학습된 약분류기의 결과에 따라 다음 분류기 학습데이터의 샘플 가중치를 조정하는 방법
 - 스태킹 : 동일한 트레이닝 데이터로 다수의 모델을 만들고, 각 모델의 예측값을 학습하는 모델을 추가하는 것

* 결합분석모형

- 두 종류 이상의 결과변수를 동시에 분석할 수 있는 방법. 결과 변수 간 유의성, 관련성 설명할 수 있음

4) 최종모형 선정

- 최종모형 선정을 위해 분석모형 평가지표들을 활용, 구축된 부문별 여러 모형을 비교하여 선택

* 회귀모형에 대한 주요 성능평가지표 - (생략) 관련글 : [빅분기] 분석모형 평가

① SSE(Sum Squared Error)
② 결정계수 R-square
③ MAE(Mean Absolute Error)
④ MAPE(Mean Absolute Percentage Error)

* 분류모형에 대한 주요 성능평가지표

① 특이도(Specificity) - TN / (TN+FP)
② 정밀도(Precision) - TP / (TP+FP)
③ 재현율(Recall0 - TP / (TP+FN)
④ 정확도(Accuracy) - (TP+TN) / (TP+TN+FP+FN)

* 비지도학습 모형에 대한 주요 성능평가지표

① 군집분석 : 군집간 거리, 군집의 지름, 군집의 분산을 고려
연관분석 : 연관규칙에서 지지도와 신뢰도가 모두 최소한도보다 높은지를 평가. 
   ※ 일반적으로 최소 지지도를 정한 뒤 이에 대한 이하를 버리고 그 중 신뢰도가 높은 결과를 가져옴

댓글 쓰기

0 댓글