[목차]
빅데이터 결과 해석 - 분석 모형 평가 및 개선
<분석 모형 평가>
1. 평가지표
(1) 분석 모형 설정 및 평가 기준/방법
- 이상적인 모형에서는 낮은 편향과 낮은 분산으로 설정되어야 함
편향 (Bias) | 학습 알고리즘에서 잘못된 가정을 했을 때 발생하는 오차 |
분산 (Variance) | 훈련 데이터에 내재된 작은 변동으로 발생하는 오차 |
- 구축한 빅데이터 분석 모형의 유용성을 판단하고 서로 다른 모형들 비교하여 평가하는 과정 중요
- 구축 한 분석 모형이 실무에서 사용이 가능할 수 있을지를 판단하기 위해서는 객관적인 평가지표를 통한 평가 필요
- 빅데이터 분석 모형은 만든 것으로 끝이 아니라 기존 운영 시스템과의 연계 및 통합을 통해서 지속적으로 빅데이터 분석 모형을 개선해 나가야 함
- 구축된 모형이 임의의 모형보다 더 우수한 분류 성과를 보이는지, 고려된 모형들 중 어느 것이 가장 우수한지 등을 분석하는 과정
- 일반화의 가능성: 데이터를 확장하여 적용할 수 있는지에 대한 평가 기준. 모집단 내의 다른 데이터에 적용해도 안정적인 결과를 제공하는지를 평가
- 효율성: 적은 입력변수가 필요할수록 효율성이 높은 분석 모형으로 평가
- 예측과 분류의 정확성
[평가 방법]
- 범주형: 혼동 행렬
- 연속형: RMSE (Root Mean Squared Error; 평균 제곱근 오차)
- 분류 모형은 혼동 행렬 평가지표 사용
(2) 회귀 모형의 평가지표
1) 회귀 모형의 기본 평가지표
평가지표 | 설명 |
SSE | - 오차 제곱합(Error Sum of Square) - 예측값과 실젯값의 차이(오차) 제곱의 합 |
SST | - 전체 제곱합(Total Sum of Squares) - TSS - 실젯값과 평균값의 차이 제곱의 합 |
SSR | - 회귀 제곱합 (Regression Sum of Squares) - 예측값과 평균값의 차이 제곱의 합 |
AE | - 평균 오차 (Average Error) - 예측한 결괏값의 오류 평균 - 예측값들이 평균적으로 미달하는지 초과하는지 확인 |
MAE | - 평균 절대 오차 (Mean Absolute Error) - 평균 오차 절댓값의 평균 |
MSE | - 평균 제곱 오차 (Mean Squared Error) - SSE의 평균 |
RMSE | - 평균 제곱근 오차 (Root Mean Squared Error) - SSE 평균의 제곱근 |
MPE | - 평균백분율 오차 (Mean Percentage Error) - 예측값들이 평균적으로 미달하는지 초과하는지에 대한 백분율 |
MAPE | - 평균 절대 백분율 오차 (Mean Absolute Percentage Error) - 예측이 실젯값에서 평균적으로 벗어나는 정도를 백분율로 표현 - 절대 평균 오차(MASE)를 계산할 때 실젯값에 대한 상대적인 비율을 고려하여 계산된 값 |
2) 회귀 모형의 결정계수와 Mallow's Cp에 대한 평가지표
평가지표 | 설명 |
결정 계수 | - Coefficient of Determination - 선형 회귀 분석의 성능 검증지표로 많이 이용 - 회귀 모형이 실젯값을 얼마나 잘 나타내는지에 대한 비율 - 결정계수가 1에 가까울수록 실젯값을 잘 설명 - 독립변수의 개수가 많은 모형의 평가에는 사용 부적합 |
수정된 결정계수 | - Adjusted Coefficient of Determination - 모형에 유의하지 않은 변수의 개수가 증가하면 결정 계수도 증가하는 단점 보완 - 적절하지 않은 독립변수를 추가하는 것에 패널티를 부과한 결정계수 - 적절하지 않은 변수들을 추가할수록 수정된 결정계수의 값은 감소 - 모형에 유용한 변수들을 추가할수록 수정된 결정계수의 값 증가 - 수정된 결정계수는 결정계수보다 항상 작음 - 독립변수의 개수가 많은 모형을 평가할 때 사용 가능 |
Mallow's Cp | - 수정된 결정계수와 마찬가지로 적절하지 않은 독립변수 추가에 대한 패널티를 부과한 통계량 - Mallow's Cp가 작을수록 실젯값을 잘 설명 |
(3) 분류 모형의 평가지표
- 분류 모형의 결과를 평가하기 위해서 혼동 행렬을 이용한 평가지표와 ROC 곡선의 AUC 많이 사용
- 모형의 평가지표가 우연히 나온 결과가 아니라는 것을 Kappa 통계량을 통하여 설명 가능
- 혼동행렬 (Confusion Matrix; 정오 행렬): 분석 모델에서 구한 분류의 예측 범주와 데이터의 실제 분류 범주를 교차 표 형태로 정리한 행렬 (평가지표: 정확도, 오차 비율, 민감도, 특이도, 거짓 긍정률, 정밀도)
- ROC 곡선: 가로축(x)을 혼동 행렬의 거짓 긍정률로 두고 세로축(y)을 참 긍정률로 두어 시각화한 그래프 (그래프가 왼쪽 꼭대기에 가깝게 그려질수록 분류 성능 우수)
- 이익: 이익은 목표 범주에 속하는 개체들이 임의로 나눈 등급별로 얼마나 분포하고 있는지를 나타내는 값
- 이익도표: 계산된 이익값을 누적으로 연결한 도표 (분류 모형의 성능을 평가하기 위해서 사용되는 그래프 분석 방법)
- 향상도 곡선: 랜덤 모델과 비교했을 때, 해당 모델의 성과가 얼마나 향상되었는지를 각 등급별로 파악하는 그래프
2. 분석 모형 진단
(1) 데이터 분석 모형의 오류
- 일반화 오류: 분석 모형을 만들 때 주어진 데이터 집합의 특성을 지나치게 반영하여 발생하는 오류 (과대 적합되었다고 판단)
- 학습 오류: 주어진 데이터 집합에 부차적인 특성과 잡음이 있다는 점을 고려하여 그것의 특성을 덜 반영하도록 분석 모형을 만들어 생기는 오류 (과소 적합되었다고 판단)
(2) 분석 모형 시각화
(3) 분석 모형 진단
- 데이터 분석에서 분석 모형의 기본 가정에 대한 진단 없이 모형이 사용될 경우 그 결과가 오용될 가능성 있음
- R과 같은 분석 소프트웨어 발달로 분석 결과를 쉽게 얻을 수 있지만 선택한 분석 방법이 적절했는지에 대해서는 진단 필요
- 분석 모형에 대한 기본 가정을 만족시키지 못했지만 가설검정은 통과하는 경우가 발생할 수도 있음 > 선정한 분석 모형에 대한 진단 필요
3. 모형 평가
- 모형 평가는 과대 적합에 대해 신뢰할 만한 추정값을 구하기 위해 훈련용, 평가용 데이터를 기반으로 함
(1) 교차 검증의 종류
1) 홀드 아웃 방법
- 전체 데이터를 비복원 추출 방법을 이용하여 랜덤하게 훈련 데이터, 평가 데이터로 나눠 검증하는 기법
- 훈련 데이터: 분석 모델을 만들기 위해 사용하는 데이터 세트. 분석 모형 구축
- 검증 데이터: 훈련 데이터로 만든 모델이 잘 예측하는지 성능 평가하기 위한 데이터 세트
- 평가 데이터: 검증 데이터로 최종 모델을 선택하고 그 성능을 테스트 하기 위해 사용하는 데이터 세트. 분석 모형 평가
- 계산량이 많지 않아 모형을 쉽게 평가할 수 있으나 전체 데이터에서 평가 데이터 만큼은 학습에 사용할 수 없으므로 데이터 손실 발생
- 데이터를 어떻게 나누느냐에 따라 결과가 많이 달라질 수 있음
2) K-Fold Cross Validation
- 데이터 집합을 무작위로 동일 크기를 갖는 K개의 부분 집합으로 나누고, 그중 1개의 집합을 평가 데이터로, 나머지 (K-1)개 집합을 훈련 데이터로 선정하여 분석 모형을 평가하는 기법
- 모든 데이터를 훈련과 평가에 사용할 수 있으나, K값이 평가하면 수행 시간과 계산량도 많아짐
- K번 반복을 수행하며, 결과를 다수결 또는 평균으로 분석
- 절차: 동등 분할 → 훈련/평가 데이터 구성 → 분류기 학습 → 분류기 성능 확인
3) LOOCV (Leave-One-Out Cross Validation)
- 전체 데이터 N개에서 1개의 샘플만을 평가 데이터에 사용하고 나머지 (N-1) 개는 훈련 데이터로 사용하는 과정을 N번 반복하는 교차 검증 기법
- K-Fold 와 같은 방법 사용 (K는 전체 데이터 N, K=N)
- 가능한 한 많은 데이터를 훈련에 사용할 수 있지만, 수행 시간과 계산량 많음
- 작은 크기의 데이터에 유용
4) LpOCV (Leave-p-Out Cross Validation)
- LOOCV 에서 1개의 샘플이 아닌 p개의 샘플을 테스트에 사용하는 교차 검증 기법
- 계산 시간에 대한 부담이 매우 큼
5) 부트스트랩
- 주어진 자료에서 단순 랜덤 복원 추출 방법을 활용하여 동일한 크기의 표본을 여러 개 생성하는 샘플링 방법
- 무작위 복원추출 방법으로, 전체 데이터에서 중복을 허용하여 데이터 크기만큼 샘플을 추출하고 이를 훈련용 데이터 세트로 함
- 전체 데이터 샘플이 N개이고 부트스트랩으로 N개의 샘플을 추출하는 경우 특정 샘플이 훈련 데이터에 포함될 확률은 약 63.2%
- 한 번도 포함되지 않은 OOB (Out-Of-Bag) 데이터는 검증에 사용
4. 모수 유의성 검정
- 검정 대상인 모집단의 평균 및 분산에 따라 가설의 유의성 검정
- 모집단 (Population) : 관심의 대상이 되는 전체 그룹
- 모수 (Parameter) : 모집단을 설명하는 어떤 값
- 표본(Sample) : 모집단 분석을 위해 추출한 한 집단의 관측치
- 통계량 (Statistic) : 모집단을 설명하는 어떤 값을 표본으로부터 구한 값
(1) 모집단의 평균에 대한 유의성 검정
- 모집단 평균을 알고 있을 때 Z-검정, T-검정을 사용하여 유의성 검정
Z-검정 | - 귀무가설에서 검정 통계량의 분포를 정규분포로 근사할 수 있는 통계 검정 - 정규 분포 가정 - 추출된 표본이 동일 모집단에 속하는지 가설을 검증하기 위해 사용 |
T-검정 | - 검정하는 통계량이 귀무가설 하에서 T-분포를 따르는 통계적 가설검정 - 두 집단 간의 평균을 비교하는 모수적 통계 방법 - 표본이 정규성, 등분산성, 독립성 등을 만족할 경우 적용 |
- 분산 분석 (ANOVA; Analysis of Variance): 두 개 이상의 집단 간 비교를 수행하고자 할 때 집단 내의 분산, 총 평균과 각 집단의 평균 차이에 의해 생긴 집단 간 분산 비교로 얻은 F-분포를 이용하여 가설검정을 수행하는 방법
단일변량 분산 분석 | 일원배치 분산 분석 | 독립변수의 수: 1개 / 종속변수의 수: 1개 |
이원배치 분산 분석 | 독립변수의 수: 2개 / 종속변수의 수: 1개 | |
다원배치 분산 분석 | 독립변수의 수: 3개 이상 / 종속변수의 수: 1개 | |
다변량 분산 분석 | 다변량 분산 분석 | 1개 이상 / 종속변수의 수: 2개 이상 |
- 공분산 분석(ANCOVA): 분산 분석과 회귀분석을 결합한 모형. 독립변수가 범주형이고 종속변수가 연속형일 경우에 사용하는 분석방법
(2) 모집단의 분산에 대한 유의성 검정
1) 카이제곱 검정
- 관찰된 빈도가 기대되는 빈도와 유의미하게 다른지를 검정하기 위해 사용
- 카이제곱분포에 기초한 통계적 검정 방법
- 단일 표본의 모집단이 정규분포를 따르며 분산을 알고 있는 경우에 적용
- 두 집단 간의 동질성 검정에 활용
2) F-검정
- 두 표본의 분산에 대한 차이가 통계적으로 유의한가를 판별하는 검정 기법
- 두 모집단 분산 간의 비율에 대한 검정
5. 적합도 검정
- 표본 집단의 분포가 주어진 특정 이론을 따르고 있는지를 검정하는 기법
- 가정된 확률이 정해진 경우와 아닌 경우 (정규성 검정)로 유형 분리
- 기법: 카이제곱 검정, 샤피로-윌크 검정, K-S 검정, Q-Q Plot 등
가정된 확률 검정 | - 카이제곱 검정을 이용하여 검정 수행 |
정규성 검정 | - 샤피로-윌크 검정, 콜모고로프-스미르노프 적합성 검정 - 시각화를 통한 검정 기법: 히스토그램, Q-Q Plot |
- 일반적으로 표본의 수가 많을 경우 (200개 이상) 에는 K-S 검정 사용, 적을 경우 샤피로-윌크 검정 사용
[ Q-Q Plot]
- 대각선 참조선을 따라서 값들이 분포하게 되면 정규성 가정 만족한다고 봄
- 한쪽으로 치우치는 모습이라면 정규성 가정에 위배 되었다고 봄
- 한쪽으로 치우쳤다는 판단 기준 모호 > 결과 해석이 주관적일 수 있음 (보조용으로 사용)
<분석 모형 개선>
1. 과대 적합 방지
(1) 과대 적합
- 제한된 훈련 데이터 세트가 지나치게 특화되어 새로운 데이터에 대한 오차가 매우 커지는 현상
- 모델의 매개변수 수가 많거나 훈련 데이터 세트의 양이 부족한 경우에 발생
(2) 과대 적합 원인
- 훈련 데이터는 실제 데이터의 부분 집합이라서 실제 데이터의 모든 특성을 가지고 있지 않음 (과대 적합 등의 원인 제공)
- 실제 데이터에서 편향된 부분만을 가지고 있거나 오류가 포함된 값을 가지고 있을 경우 발생 가능
- 모델이 과도하게 복잡하거나, 변수가 지나치게 많을 때 발생 가능
(3) 과대 적합 방지 기법
- 데이터 세트 증강: 데이터 양이 적을 경우, 데이터를 변형해서 증가
- 모델의 복잡도 감소: 인공신경망의 은닉층의 수를 감소하거나 모델 수용력을 낮춰 복잡도 줄임
- 가중치 규제 적용: 개별 가중치 값을 제한하여 복잡한 모델을 좀 더 간단하게 하는 방법 (라쏘, 릿지, Elastic Net)
- 드롭 아웃: 학습 과정에서 신경망 일부를 사용하지 않는 방법
[드롭 아웃 특징]
- 신경망 학습 시에만 사용하고, 예측 시에는 미사용
- 학습 시에 인공신경망이 특정 뉴런 또는 특정 조합에 너무 의존적으로 되는 것 방지
- 서로 다른 신경망들을 앙상블하여 사용하는 것 같은 효과
[드롭 아웃 유형]
- 초기 드롭 아웃: 학습 과정에서 노드들을 p의 확률로 학습 횟수마다 임의 생략하고, 남은 노드들과 연결 선들만을 이용하여 추론 및 학습 수행 (DNN 알고리즘에 사용)
- 공간적 드롭 아웃: 합성곱 계층에서의 드롭 아웃. 특징 맵 내의 노드 전체에 대해 드롭아웃의 적용 여부 결정 (CNN 알고리즘에 사용)
- 시간적 드롭 아웃: 노드들을 생략하는 방식이 아니라 연결선 일부를 생략하는 방식 (RNN 알고리즘에 사용)
2. 매개변수 최적화
(1) 매개변수
- 주어진 데이터로부터 학습을 통해 모델 내부에서 결정되는 변수
(2) 매개변수 최적화
- 학습 모델과 실제 레이블과 차이는 손실 함수로 표현
- 학습의 목적은 오차, 손실 함수의 값을 최대한 작게 하도록 하는 매개변수를 찾는 것
- 최적화: 매개변수의 최적값을 찾는 문제를 푸는 것
(3) 매개변수 종류
- 가중치: 각 입력값에 각기 다르게 곱해지는 수치
- 편향: 하나의 뉴런에 입력된 모든 값을 다 더한 값에 더해주는 상수
(4) 매개변수 최적화 과정 및 기법
- X축에는 가중치, Y축에는 손실 값을 갖는 2차원 손실 함수 그래프를 이용하여 최적화
1) 확률적 경사 하강법
- 손실 함수의 기울기를 구하여, 그 기울기를 따라 조금씩 아래로 내려가 최종적으로는 손실 함수가 가장 작은 지점에 도달하도록 하는 알고리즘
- 기울기를 구하는데 학습 1회에 필요한 한 개의 데이터가 무작위로 선택 됨
- 손실 함수 그래프에서 지역 극소점에 갇혀 전역 극소점을 찾지 못하는 경우가 많음
- 손실 함수가 비등방성 함수일 때에서는 최적화에 있어 매우 비효율적이고 오래 걸리는 탐색 경로 보여줌
- 기울기가 줄어드는 최적점 근처에서 느리게 진행
- 모멘텀, AdaGrad, Adam은 확률적 경사 하강법의 단점을 개선
2) 모멘텀
- 기울기 방향으로 힘을 받으면 물체가 가속된다는 물리 법칙을 적용한 알고리즘
- 확률적 경사 하강법에 속도라는 개념 적용
- 기울기가 줄어들더라도 누적된 기울기 값으로 인해 빠르게 최적점으로 수렴
- 관성의 방향을 고려해 진동과 폭을 줄이는 효과
- x의 한 방향으로 일정하게 가속하고, y축 방향의 속도는 일정하지 않음
3) 네스테로프 모멘텀
- 모멘텀 방향을 미리 적용한 위치에서 기울기를 계산하는 방법
- 속도를 개선. 불필요한 계산량을 줄이고 정확도 향상
4) AdaGrad
- 손실 함수의 기울기가 큰 첫 부분에서는 크게 학습하다가, 최적점에 가까워질수록 학습률을 줄여 조금씩 적게 학습하는 방식
- 학습을 진행하면서 학습률을 점차 줄여나가는 학습률 감소 기법을 적용한 최적화 알고리즘
- 매개변수 전체의 학습률 값을 일괄적으로 낮추는 것이 아니라 각각의 매개변수에 맞는 학습률 값을 만들어주는 방식
- 최적점 탐색 경로를 보면, 최적점을 향해 매우 효율적으로 움직임
5) Adam
- 모멘텀 방식과 AdaGrad 방식의 장점을 합친 알고리즘
- 탐색 경로의 전체적인 경향은 모멘텀 방식처럼 공이 굴러가는 듯하고, AdaGrad 로 인해 갱신 강도가 조정되므로 모멘텀 방식보다 좌우 흔들림이 덜 한 것을 볼 수 있음
- 모멘텀보다 공의 좌우 흔들림 적음
6) RMSProp
- 기울기를 단순 누적하지 않고 지수 이동 평균을 사용하여 가장 최근의 기울기들이 더 크게 반영되도록 하는 기법
- 과거의 모든 기울기를 균일하게 더하지 않고 새로운 기울기의 정보만 반영하여 학습률이 크게 떨어져 0에 가까워지는 것 방지
(5) 초매개변수 최적화
- 최적값이 존재하는 범위를 조금씩 줄여가면서, 최종적으로 최적값을 찾아내는 방법
- 기법: 메뉴얼 탐색, 그리드 탐색, 랜덤 탐색, 베이지안 최적화 등
메뉴얼 탐색 | 사용자가 뽑은 조합 내에서 최적의 조합을 찾는 방법 |
그리드 탐색 | 초매개변수의 경우의 수에 대해서 최적의 조합을 찾는 방법 |
랜덤 탐색 | 초매개변수의 최소, 최댓값을 정해두고 범위 내에서 무작위 값을 정해진 횟수만큼 반복적으로 추출하여 최적의 조합을 찾는 방법 |
베이지안 탐색 | 단순히 무작위 추출을 반복하는 것보다, 기존에 추출되어 평가된 결과를 바탕으로 앞으로 탐색할 범위를 더욱 좁혀 효율적이게 시행하는 방법 |
3. 최종 모형 선정
- 빅데이터 분석 모델 개발 순서: 분석 데이터 수집/처리 → 분석 알고리즘 수행 → 분석 결과 평가 및 분석 모델 등록
- 개선 모델의 구축 목적에 맞는 모형이 무엇인지 검토하고 현업 적용 가능성을 고려하여 최종 모형 등록
[빅데이터 분석 모델 개발에 활용되는 프로그램]
- 데이터 분석용 소프트웨어 또는 패키지
- 분석 데이터 처리용 프로그래밍 언어 실행 환경
- 데이터 시각화 도구
- 하둡 프로그램
- 스프레드시트 프로그램
- 문서 작성 프로그램
(1) 최종 모형 평가 기준 선정
- 정확도
- 재현율
- 정밀도
(2) 최종 모형 분석 결과 검토
- 다양한 이해관계자가 모여 분석 모형에 대한 결과를 리뷰하고 검토 회의를 진행하여 최적의 분석 모형 선정
- 최적의 분석 모형 선정을 위해서는 분석 모형에 대한 평가 기준과 함께 해당 모델의 실질적인 활용 가능성에 대해서도 검토
(3) 알고리즘별 결과 비교
- 분석 알고리즘 별로 매개변수를 변경하여 알고리즘 수행
- 매개변수 변경 전-후에 대한 차이점을 비교하고 수행 결과 기록
이전글
다음글
'자격증 > 빅데이터분석기사' 카테고리의 다른 글
[빅데이터 분석기사] 1과목 기출 문제 오답노트 (0) | 2024.03.16 |
---|---|
[빅데이터 분석기사] 4과목 빅데이터 결과 해석(2) (0) | 2024.03.16 |
[빅데이터 분석기사] 3과목 빅데이터 모델링(3-2-2) (0) | 2024.03.14 |
[빅데이터 분석기사] 3과목 빅데이터 모델링(3-2-1) (0) | 2024.03.14 |
[빅분기 기출문제] 오답노트 (0) | 2024.03.14 |