[데이터마이닝의 개요]
1. 데이터마이닝
1) 개요
- 정의: 대용량 데이터에서 의미있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 방법
- 통계분석과 차이점: 가설이나 가정에 따른 분석, 검증을 하는 통계분석과 달리 데이터마이닝은 다양한 수리 알고리즘을 이용해 데이터베이스의 데이터로부터 의미있는 정보 추출
- 활용 분야: 분류, 예측, 군집화, 시각화 등
- 방법론: 의사결정나무, 로지스틱 회귀분석, 최근접 이웃법, 군집분석, 연관규칙분석 등
2) 분석 방법
Supervised Learning | Unsupervised Learning |
의사결정나무 Decision Tree 인공신경망 Artificial Neural Network 로지스틱 회귀분석 Logistic Regression 최근접이웃법 K-Nearest Neighbor 사례기본 추론 Case-Based Reasoning |
OLAP On-Line Analytic Processing 연관 규칙 분석 Association Rule Analysis 군집분석 K-Means Clustering SOM Self Organizing Map |
3) 데이터마이닝 추진단계
- 목적 설정: 데이터마이닝을 위한 명확한 목적 설정
- 데이터 준비: 모델링을 위한 다양한 데이터를 준비, 데이터 정제를 통해 품질 보장
- 데이터 가공: 목적변수 정의, 모델링을 위한 데이터 형식으로 가공
- 기법 적용: 데이터마이닝기법을 적용하여 정보 추출
- 검증: 마이닝으로 추출한 결과를 검정하고 업무에 적용해 기대효과 전파
4) 데이터 분할
- 구축용 training data, 50%: 데이터 모델링을 위한 추정용, 훈련용 데이터
- 검정용 validation data, 30%: 구축된 모형이 과대 또는 과소추정을 미세 조정
- 시험용 test data, 20%: 테스트데이터나 과거 데이터를 활용하여 모델의 성능 평가
5) 모델의 성능 평가
- 오분류에 대한 추정치: accuracy, error rate, specificity, sensitivity, precision, recall, F1 score
- ROCR 패키지: ROC Curve, AUROC
- 이익도표 Lift chart
[분류분석]
1. 분류분석과 예측분석
- 공통점: 레코드의 특정 속성의 값을 미리 알아 맞히는 것
- 분류: 레코드의 범주형 속성의 값을 알아맞히는 것
- 예측: 레코드의 연속형 속성의 값을 알아맞히는 것
- 분류 모델링: 신용평가모형, 사기방지모형, 이탈모형, 고객세분화
2. 로지스틱 회귀분석
- 반응변수가 범주형인 경우에 적용되는 회귀분석모형
- 새로운 설명변수(또는 예측변수)가 주어질 때 반응변수의 각 범주에 속할 확률이 얼마인지 추정(예측모형)하여, 추정 확률을 기준치에 따라 분류하는 목적(분류모형)으로 활용
- 사후확률: 모형의 적합을 통해 추정된 확률
- $log(\frac{\pi(x)}{1-\pi(x)}) = \alpha + \beta_1 x_1 + \dots + \beta_k x_k$
- $\pi(x) = P(Y=1|x)$
- $exp(\beta_1)$는 나버지 변수 $(x_1, \dots , x_k)$가 주어질 때, $x_1$이 한 단위 증가할 때마다 성공(Y=1)의 odds가 몇 배 증가하는지를 나타내는 값
- glm(종속변수 ~ 독립변수1 + ... + 독립변수k, family=binomial, data="dataset")
3. 의사결정나무
1) 정의와 특징
- 분류 함수를 의사결정 규칙으로 이뤄진 나무 모양으로 그리는 방법으로, 의사결정 문제를 시각화해 의사결정이 이루어지는 시점과 성과를 한 눈에 볼 수 있게 함
- 주어진 입력값에 대해 출력값을 예측하는 모형으로 분류나무와 회귀나무 모형이 있음
- 특징
- 계산 결과가 의사결정나무에 직접 나타나게 되어 분석이 간편
- 분류 정확도 좋음
- 계산이 복잡하지 않아 대용량데이터에서도 빠르게 만들 수 있음
- 비정상 잡음 데이터에 대해서도 민감함 없이 분류
- 한 변수와 상관성이 높은 다른 불필요한 변수가 있어도 크게 영향받지 않음
2) 활용
- 세분화 segmentation: 데이터를 비슷한 특성을 갖는 몇 개의 그룹으로 분할해 그룹별 특성 발견
- 분류 classification: 관측 개체를 여러 예측변수들에 근거해 목표변수의 범주를 몇 개의 등급으로 분류하고자하는 경우
- 예측 prediction: 자료에서 규칙을 찾아내고 이를 이용해 미래의 가선을 예측하고자하는 경우
- 차원축소 및 변수 선택 reduction, variable selection: 매우 많은 수의 예측변수 중 목표변수에 영향을 미치는 변수들을 골라내고자 하는 경우
- 교호작용효과의 파악: 여러 예측변수들을 결합해 목표 변수에 작용하여 파악하고자 하는 경우
- 범주의 병합 또는 연속형 변수의 이산화 bining: 범주형 목표변수의 범주를 소수의 몇 개로 병합하거나 연속형 목표변수를 몇 개의 등급으로 이산화하고자하는 경우
3) 의사결정나무 분석 과정
- 분석단계: 성장 -> 가지치기 -> 타당성 평가 -> 해석 및 예측
- 가지치기 Pruning: 너무 큰 나무 모형은 자료를 과대적합하고 너무 작은 나무 모형은 과소적합할 위험이 있어 마디에 속한 자료가 일정 수 이하일 경우, 분할을 정지하고 비용-복잡도 가지치기 실시
- 불순도에 따른 분할 측도
- 카이제곱 통계량: $\chi^2 = \sum_{i=1}^{k} \frac{(O_i - B_i)^2}{B_i}$ , $k$ : 범주의 수, $O_i$ : 실제도수 , $B_i$ : 기대도수
- 지니지수: 노드의 불순도를 나타내는 값으로, 클수록 이질적이며 순수도 낮음 $Gini(T) = 1 - \sum_{i=1}^{k} p_l^2$
- 엔트로피 지수: 무질서 정도에 대한 측조로, 클수록 순수도 낮음 $Entropy(T) = - (\sum_{i=1}^{k} p_l log_2 p_l)$
4) 의사결정나무 분석 종류
- CART (Classification And Regression Tree)
- 목적변수가 범주형인 경우 지니지수, 연속형인 경우 분산을 이용한 이진분리 사용
- 개별 입력변수 뿐만 아니라 입력변수들의 선형결합들 중 최적의 분리를 찾을 수 있음
- C4.5, C5.0
- 다지분리가 가능하고 범주형 입력 변수의 범주 수만큼 분리 가능
- 불순도의 측조로 엔트로피 지수 사용
- CHAID (CHi-squared Auttomatic Interaction Detection)
- 가지치기를 하지 않고 적당한 크기에서 나무모형의 성장을 중지하며 입력변수가 반드시 범주형 변수여야 함
- 불순도의 측도로 카이제곱 통계량 사용
[앙상블분석]
- 주어진 자료로부터 여러개의 예측모형들을 만든 후 조합하여 하나의 최종 예측모형을 만드는 방법
- 다중모델조합 combining multiple models, 분류기 조합classifier comination
- 학습 방법의 불안전성을 해결하기 위해 고안된 기법
- 가장 불안정한 기법은 의사결정나무, 가장 안정성이 높은 기법은 1-nearest neighbor
배깅 bagging | 여러 개의 붓스트랩 자료를 생성하고 각 붓스트랩 자료의 예측모형 결과를 결합하여 결과 선정 배깅은 훈련자료를 모집단으로 생각하고 평균 예측모형을 구한 것과 같아 분산을 줄이고 예측력을 향상시킬 수 있음 |
부스팅 boosting | 예측력이 약한 모형들을 결합하여 강한 예측모형을 만드는 방법 훈련오차를 빨리 그리고 쉽게 줄일수 있고, 예측오차의 향상으로 배깅에 비해 뛰어난 예측력을 보임 |
랜덤포레스트 random forest | 의사결정나무의 특징인 분산이 킄다는 점을 고려하여 배깅과 부스팅보다 더 많은 무작위성을 주어 약한 학습기들을 생성한 후 이를 선형결합하여 최종 학습기를 만드는 방법 이론적 설명이나 해석이 어렵다는 단점이 있지만 예측력이 매우 높은 장점이 있음 입력변수가 많은 경우 더 좋은 예측력 보임 |
[인공신경망 분석]
1. 신경망 연구
- 뇌를 기반으로 한 추론모델
- 신경세포의 신호처리 과정을 모형화하여 단순 패턴분류 모형 개발
- 신경세포 사이의 연결강도(weight)를 조정하여 학습규칙 개발
- 퍼셉트론 perceptron 인공세포 개발, 비선형성 한계점 발생 - XOR문제
- 역전파알고리즘 backpropagation 활용하여 비선형성 극복한 다계층 퍼셉트론으로 새로운 인공신경망 모형 등장
2. 뉴런
- 인공신경망은 뉴런이라는 아주 단순하지만 복잡하게 연결된 프로세스로 이루어져 있음
- 뉴런은 가중치가 있는 링크들로 연결되어있으며, 뉴런은 여러개의 입력신호를 받아 하나의 출력신호 생성
- 전이함수, 즉 활성화함수 activation function 사용
- 입력 신호의 가중치 합을 계산하여 임계값과 비교
- 가중치 합 < 임계값 : -1, 가중치 합 >= 임계값 : +1 출력
- 계단함수, 부호함수, 시그모이드함수, relu함수
3. 신경망모형 구축 시 고려사항]
1) 입력변수
- 신경망 모형은 복잡서으로 인해 입력자료의 선택에 매우 민감
- 범주형 변수 - 각 범주의 빈도가 일정수준 이상이고 각 범주의 빈도가 일정할 때 활용
- 연속형 변수 - 입력값의 범위가 변수들간에 큰 차이가 없을 때 활용, 분포가 대칭이 아니면 좋지 않은 결과 도출, 변환 또는 범주화 활용
2) 가중치 초기값
- 역전파 알고리즘의 경우, 초기값에 따라 결과가 많이 달라져 초기값 선택이 매우 중요
- 가중치가 0이면 시그모이드 함수는 선형이 되고 신경망 모형도 선형모형이 됨
- 초기값은 0 근처의 랜덤값으로 선정하고 초기에는 선형모형에서 가중치가 증가하면서 비선형으로 변경됨
3) 예측값 선정
- 비용함수는 비볼록함수이고 여러개의 국소 최소값들 local minima 가짐
- 랜덤하게 선택된 여러 개의 초기값에 대한 신경망을 적합한 후 얻은 해들을 비교하여 가장 오차가 작은 것을 선택하여 최종 예측값을 얻거나 평균을 구하여 최종 예측값으로 선정
- 훈련자료에 대하여 배깅 적용하여 최종 예측치 선정
4) 학습률: 상수값을 사용하며, 처음에는 큰 값으로 정하고 반복이 진행되어 해가 가까울수록 0에 수렴
5) 은닉층 hidden layer, 은닉 노드 hidden node의 수
- 은닉층과 은닉노드가 많으면 - 가중치가 많아져서 과대적합 문제 발생
- 은닉층과 은닉노드가 적으면 - 과소적합 문제 발생
- 은닉층 수 결정: 은닉층이 하나인 신경망은 범용근사자이므로 가급적이면 하나로 선정
- 은닉노드 수 결정: 적절히 큰 값으로 결정하고 가중치를 감소하면서 모수에 대한 벌점화 적용
6) 과대 적합 문제
- 신경망은 많은 가중치를 추정해야하므로 과대적합 문제가 빈번
- 해결방법: 조기종료, 선형모형의 능형회귀와 유사한 가중치 감소라는 벌점화 기법 활용
[군집분석]
1) 개요
- 각 개체(대상)의 유사성을 측정하여 유사성이 높은 대상집단을 분류하고, 군집에 속한 객체들의 유사성과 서로 다른 군집에 속한 객체간의 상이성을 규명하는 분석 방법
- 특성에 따라 고객을 여러 개의 배타적인 집단으로 나누는 것으로 군집의 개수, 구조에 대한 가정없이 데이터로부터 거리 기준으로 군집화 유도
2) 특징
- unsupervised learning에 해당하여 타깃변수(종속변수)의 정의 없이 학습 가능
- 데이터를 분석의 목적에 따라 적절한 군집으로 분석자가 정의 가능
- 요인분석과의 차이: 유사한 변수를 함께 묶어주는 목적이 아니라 각 데이터(객체)를 묶어줌
- 판별분석과의 차이: 판별분석은 사전에 집단이 나우어져 있어야 하지만 군집분석은 집단이 없는 상태에서 집단 구분
3) 거리 측정 방법
- 연속형 변수: 유클리드 거리, 표준화 거리, 마할라노비스 거리, 쳬비셰프 거리, 맨하탄 거리, 캔버라 거리, 민코우스키 거리 등
- 범주형 변수: 자카드 거리, 코사인 거리 등
4) 계층적 군집분석: n개의 군집으로 시작해 점차 군집의 개수를 줄여나가는 방법
- 최단연결법
- n*n 거리행렬에서 거리가 가장 가까운 데이터를 묶어서 군집 형성
- 군집과 군집 또는 데이터와의 거리 계산시 최단거리를 거리로 계산하여 거리행렬 수정
- 수정된 거리행렬에서 거리가 가까운 데이터 또는 군집을 새로운 군집으로 형성
- 최장연결법: 군집과 군집 또는 데이터와의 거리 계산시 최장거리를 거리로 계산하여 거리행령 수정
- 평균연결법: 군집과 군집 또는 데이터와의 거리 계산시 평균거리를 거리로 계산하여 거리행령 수정
- 와드연결법: 군집 내 편차들의 제곱합을 고려한 방법으로 군집 간 정보의 손실을 최소화하기 위해 군집화 진행
5) 비계층적 군집분석
- n개의 개체를 g개의 군집으로 나눌 수 있는 모든 가능한 방법을 점검해 최적화한 군집을 형성하는 것
- k-means clustering
- 원하는 군집의 개수와 초기값seed들을 정해 seed 중심으로 군집 형성
- 각 데이터를 거리가 가장 가까운 seed가 있는 군집으로 분류
- 각 군집의 seed값 다시 계산
- 모든 개체가 군집으로 할당될 때까지 위 과정들 반복
- 장점
- 주어진 데이터의 내부구조에 대한 사전정보 없이 의미있는 자료구조를 찾을 수 있음
- 다양한 형태의 데이터에 적용 가능
- 분석방법 적용 용이
- 단점
- 가중치와 거리 정의 어려움
- 초기 군집수 결정 어려움
- 사전에 주어진 목적이 없으므로 결과 해석 어려움
6) 혼합 분포 군집 mixture distribution clustering
- 모형 기반 model-based의 군집방법이며, 데이터가 k개의 모수적 모형(흔히 정규분포 또는 다변량 정규분포 가정)의 가중합으로 표현되는 모집단 모형으로부터 나왔다는 가정하에서 모수와 함께 가중치를 자료로부터 추정하는 방법 사용
- k개의 각 모형은 군집을 의미하며, 각 데이터는 추정된 k개의 모형 중 어느 모형으로부터 나왔을 확률이 높은지에 따라 군집의 분류가 이루어짐
- 흔히 혼합모형에서의 모수와 가중치의 추정(최대가능도추정)에는 EM 알고리즘 사용
- 특징
- k-평균 군집의 절차와 유사하지만 확률분포를 도입하여 군집 수행
- 군집을 몇 개의 모수로 표현할 수 있으묘, 서로 다른 크기나 모양의 군집을 찾을 수 있음
- EM 알고리즘을 이용한 모수 추정에서 데이터가 커지면 수렴에 시간이 걸림
- 군집의 크기가 너무 작으면 추정의 정도가 떨어지거나 어려움
- k-평균 군집과 같이 이상치 자료에 민감하므로 사전에 조치 필요
7) SOM
- SOM(자가조직화지도) 알고리즘은 Kohonen에 의해 제시, 개발되었으며 Kohonen Map이라고도 알려짐
- SOM은 비지도신경망으로 고차원의 데이터를 이해하기 쉬운 저차원의 뉴런으로 정렬하여 지도의 형태로 형상화, 이러한 형상화는 입력 변수의 위치 관계를 그대로 보존한다는 특징이 있다. 다시 말해 실제 공간의 입력 변수가 가까이 있으며, 지도상에도 가까운 위치에 있게 됨
- 특징
- 고차원의 데이터를 저차원의 지도 형태로 형상화하기 때문에 시각적으로 이해 쉬움
- 입력 변수의 위치관계를 그대로 보전하기 때문에 실제 데이터가 유사하면 지도상에서 가깝게 표현되며, 이런 특징 때문에 패턴 발견, 이미지 분석 등에서 뛰어난 성능 보임
- 역전파 알고리즘 등을 이용하는 인공신경망과 달리 단 하난의 전방 패스 feed-forword flow를 사용함으로써 속도가 매우 빠르므로 실시간 학습처리 가능
[연관분석]
1) 개요
- 기업의 데이터베이스에서 상품의 구매, 서비스 등 일련의 거래 또는 사건들 간의 규칙을 발견하기 위한 분석
- 장바구니 분석 Market Masket Analysis: 장바구니에 무엇이 같이 들어있는지 분석
- 순차분석 Sequence Analysis: 구매 이력을 분석해서 A품목 구매 후 추가 B품목 사는지 분석
2) 형태: 조건과 반응 형태 (if - then)
3) 측도
- 지지도 support : 전체 거래 중 항목 A와 항목 B를 동시에 포함하는 거래의 비율로 정의
$ P(A \cap B) = \frac{\text{A와 B가 동시에 포함된 거래 수}}{전체 거래 수}$
- 신뢰도 confidence : 항목 A를 포함한 거래 중에서 항목 A와 항목 B가 같이 포함될 확률, 연관성 정도 파악 가능
$ \frac{P(A \cap B)}{P(A)} = \frac{\text{A와 B가 동시에 포함된 거래 수}}{\text{A를 포함하는 거래 수}}$
- 향상도 lift : A가 주어지지 않았을 때의 항목 B의 확률에 비해 A가 주어졌을 때의 항목B의 확률의 증가 비율, 연관규칙 A->B는 항목 A와 항목 B의 구매가 서로 관련이 없는 경우에 향상도 1
$ \frac{P(B|A)}{P(B)} = \frac{P(A \cap B)}{P(A)P(B)} = \frac{\text{A와 B가 동시에 포함된 거래 수}}{\text{A를 포함하는 거래 수} \times \text{B를 포함하는 거래 거래 수}}$
4) 특징
- 절차
- 최소 지지도 선정 (보통 5%)
- 최소 지지도를 넘는 품목 분류
- 2가지 품목 집합 생성
- 반복 수행으로 빈발품목 집합 선정
- 장점
- 탐색적 기법: 조건 반응으로 표현되는 연관성분석 결과를 쉽게 이해할 수 있음
- 강력한 비목적성 분석기법: 분석 방향이나 목적이 특별히 없는 경우 목적변수가 없으므로 유용하게 활용
- 사용이 편리한 분석 데이터의 형태: 거래 내용에 대한 데이터를 변환없이 그 자체로 이용
- 계산의 용이성: 분석을 위한 계산이 상당히 간단
- 단점
- 상당한 수의 계산과정: 품목 수가 증가하면 분석에 필요한 계산은 기하급수적 증가
- 적절한 품목 결정: 너무 세분화한 품목을 갖고 연관성 규칙 찾으면 수많은 연관성 규칙들 발견, 실제로 발생 비율 면에서 의미없는 분석
- 품목과 비율 차이: 사용될 모든 품목들 자체가 전체자료에서 동일한 빈도를 갖는 경우, 연관성 분석은 가장 좋은 결과 얻음. 그러나 거래량이 적은 품목은 제외되기 쉬움
5) 평가기준 적용 시 주의점
- 두 항목이 신뢰도가 높다고 해서 두 항목이 높은 연관관계 있는 것 아님 - 지지도 함께 고려
- 지지도와 신뢰도가 모두 높게 나와도 그 항목이 높은 연관관계 있는 것 아님 - 향상도 함께 고려
- A, B 두 항목의 신뢰도(Confidence A -> B)가 높게 나왔을 때, 전체거래에서 B의 자체구매율 보다 A의 자체구매율이 더 높아야 의미있는 정보
6) Apriori 알고리즘
- 빈발항목집합 frequent item set: 최소지지도보다 큰 지지도 값을 갖는 품목의 집합
- 최소지지도 이상의 빈발항목집합을 찾은 후 그것들에 대해서만 연관규칙 계산
- 어떤 항목집합이 빈발하다면, 그 항목집합의 모든 부분집합 빈발
7) FP-Growth 알고리즘: 후보 빈발항목집합을 생성하지 않고, Frequent Pattern Tree를 만든 후 분할정복으로 빠르게 빈발항목집합 추출
'STATISTICS > ADsP' 카테고리의 다른 글
3-4. 통계분석 (0) | 2020.08.27 |
---|---|
3-3. 데이터 마트 (0) | 2020.08.25 |
3-2. R프로그래밍 기초 (0) | 2020.08.23 |
3-1. 데이터 분석 기법의 이해 (0) | 2020.08.22 |
2-2. 분석 마스터 플랜 (0) | 2020.08.22 |