데이터 마이닝
〈빅데이터의과학적탐구〉 수업 노트
데이터 마이닝은 대용량의 데이터로부터 기존에 알려지지 않은 정보를 추출하는 지식발견 과정이다. 대규모의 데이터는 대개 다면적이고 복합적인 특성을 가지고 있기 때문에, 마이닝 과정을 거치며 이전에 파악되지 않은 패턴이나 관계를 발견할 수 있다.
데이터 마이닝은 (1) 대용량 데이터에서 목표 데이터를 선택 (2) 선택한 데이터를 정제, (3) 코드화 등의 변환 과정을 거쳐 (4) 획득한 데이터를 분석한다. 분석 결과는 (5) 해석 및 평가 과정을 거쳐 (6) 지식으로서 활용된다.
표준 과정
데이터마이닝은 경영 활동이나 조직의 의사결정에 활용할 수 있어, 산업 전 분야에서 공통적으로 적용되는 처리 과정이 표준화되어있다.
- 비즈니스 이해
- 프로젝트 목표와 요구사항 파악
- 파악한 내용을 마이닝 문제 정의, 목표 달성 계획으로 변환
- 데이터 이해
- 데이터 준비
- 모델링
- 평가
- 배포
데이터 준비 과정
데이터 분석을 위해서 원시 자료를 분석 가능한 상태로 데이터를 변환해야 한다. 주로 훈련 데이터, 검증 데이터, 테스트 데이터로 나누어 모델에 투입한다.
대개의 데이터는 훈련에 투입하는데, 그 외에 검증 데이터는 모형이 제대로 설계되었는지 평가하는데 사용하고, 학습된 모형의 최종적인 성능을 평가하는 데 테스트 데이터를 사용한다.
보통 검증 데이터는 훈련 데이터에서 일부를 추출해서 사용한다. 하지만 데이터 세트의 크기가 작다면 이 방법이 여의치 않을 수 있는데, 이 경우에는 교차 검증을 사용할 수 있다.
대표적인 교차 검증 방법인 K-fold 교차 검증은 데이터를 $K$ 개의 부분으로 나누고, 각 부분을 검증 데이터로 사용하면서 나머지 $K-1$ 개 부분을 훈련 데이터로 사용하는 방법이다. 이 과정을 $K$ 번 반복하여 모델의 성능을 평가한다.
이 때 $K$ 개의 점수가 골고루 나타난다면 안정적이지만, 점수 사이의 편차가 크게 나타나면 모델이 데이터에 과적합된 불안정한 상태일 수 있으므로 주의하여야 한다.
모델링과 평가
모델링 과정에서 분석자는 다양한 모델링 방법들을 데이터에 적용해보고 매개변수들을 최적화하여 최적의 모델을 찾아야 한다. 모델링 방법은 데이터 마이닝의 목표에 따라 달라질 수 있다. 예를 들어, 분류 문제에서는 의사결정 트리, 랜덤 포레스트, 서포트 벡터 머신 등이 사용될 수 있고, 회귀 문제에서는 선형 회귀, 릿지 회귀 등이 사용될 수 있다.
이렇게 최적화한 모델이 목표를 제대로 달성했는지 평가해야 한다.
| 목표 변수 | 평가 지표 |
| 양적변수 | $SSE = \sum_{i=1}^n (y_i - \hat{y}_i)^2$ |
| $MSE = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2$ | |
| $AIC = n \log(\frac{SSE}{n}) + 2p$ | |
| $ASE = BIC = -2 \ln(L) + k \ln(k)$ | |
| 범주형변수 | $ACC = \frac{1}{n} \sum_{i=1}^n I(y_i = \hat{y}_i)$ |
| $I(y_i, \hat{y}_i) = \begin{cases} 1 & \text{if } y_i = \hat{y}_i \\ 0 & \text{otherwise} \end{cases}$ | |
| $\text{Entropy} = \sum_{i=1}^n -p_i \log(p_i)$ |
데이터마이닝 분석 유형
데이터마이닝은 목표에 따라서 4가지 유형으로 나눌 수 있다.
| 유형 | 상세 | 예시 | 방법 |
|---|---|---|---|
| 분류 분석2 | 특정한 집단을 정의하여 신규 자료가 정의에 해당하는지, 집단에 포함되는지 여부를 예측 | 신규 고객의 성향 집단 예측 | 단순 베이즈 분석 K-최근접 이웃 기법 서포트 벡터 머신 의사결정나무 분석 신경망 분석 |
| 예측 분석2 | 연속형 속성, 이항 변수에 대해 미래의 수치형 자료 값 예측 | 수요 예측, 주가 예측 | 의사결정나무 분석 신경망 분석 서포트 벡터 머신 |
| 연관 분석3 | 데이터 세트에서 항목 간의 관계를 발견 | 장바구니에 추가된 상품들의 관계 규명, 추천 시스템 | 연관성 분석 |
| 군집 분석1 3 | 유사한 특성을 가진 자료들을 그룹으로 묶는 분석 | 고객 세분화, 이미지 분할 | 계층적 군집 분석 K-평균 군집 분석 |
*1: 군집 분석은 분류 분석과 달리 미리 정의된 정보가 존재하지 않는다.
*2: 분류 분석과 예측 분석은 결과물로서 분류/예측 모형을 획득할 수 있다. 이후에 신규 자료를 이 모형에 투입하여 자료를 판단할 수 있다.
*3: 연관 분석과 군집 분석은 결과물로 새로운 사실을 획득할 수 있다.
기계학습과 데이터마이닝
대부분의 데이터 마이닝 기법은 기계학습 방식을 활용하고 있다. 기계학습은 분석에 관해 특정한 가정을 프로그래밍하지 않고, 일반화된 알고리즘을 사용해 컴퓨터를 인간처럼 학습시켜 스스로 규칙을 형성하도록 한다.
\[X = \text{입력변수} \in \{\text{독립}, \text{설명}, \text{원인}, \text{예측}, \cdots\} \\\] \[Y = \text{목표변수} \in \{\text{종속}, \text{반응}, \text{결과}, \cdots\} \\\]목표변수가 명확히 정의되어 입력변수와 목표변수와의 함수 관계를 학습한다면 지도학습, 목표변수가 특별히 지정되지 않았다면 비지도학습으로 구분된다.

