새소식

Data theory/데이터마이닝

[데이터마이닝] 데이터 분석 기초 이론

  • -

들어가기 전!

데이터 분석시 자주 쓰이는 간단한 수학 표기를 알아봅시다.

 

표기법 의미
$$I_n$$ n*n 차원 항등행렬
$$\mathbb{R}^n$$ n차원 실수 벡터 집합
$$A^T$$ 행렬 A의 전치
$$A^{-1}$$ 행렬 A의 역행렬
$$tr(A)$$ 행렬 A의 대각성분 합
$$\frac{\partial f}{\partial x}$$ 함수 f의 x에 대한 미분
$$\frac{\partial f}{\partial x_i}$$ 다차원 입력 함수 f의 xi에 대한 편미분
$$\bigtriangledown f$$ 함수 f의 기울기
$$P(X)$$ 조건 X가 일어날 확률
$$P(X|Y)$$ Y가 참일 때 X가 일어날 조건부 확률

 


1. 기계학습(Machine Learning)의 종류

(1-1) 지도 학습(supervised learning)

입력(문제)과 대응하는 출력(답)을 데이터로 제공하고 대응관계의 함수 또는 패턴을 찾는 것

분류와 회귀가 이에 해당한다.

  • 분류(classification): 출력이 정해진 부류(class, category) 중 하나로 결정
  • 회귀 분석(regression): 출력이 연속인 영역의 값 결정

 

(1-2) 비지도 학습(unsupervised learning)

답이 없고 문제들만 있는 데이터들로부터 패턴을 추출하는 것(데이터만 주어진 상태, 출력에 대한 정보 없음)

지도학습과 달리, 외부에서 정답이 주어지지 않고 학습 알고리즘이 스스로 입력으로부터 구조를 발견하는 학습

  • 군집화: 주어진 데이터를 특성에 따라 둘 이상의 그룹으로 나누는 것

 

(1-3) 반지도 학습(semi-supervised learning)

입력에 대한 결과값이 없는 미분류 데이터를 학습 데이터로 사용하는 방법

분류 경계가 인접한 데이터들이 동일한 집단에 소속하도록 학습

일부 학습 데이터들만 출력값이 주어진 상태

 

(1-4) 강화학습(reinforcement learning)

문제에 대한 직접적인 답을 주지 않음. 경험을 통해 기대 보상이 최대가 되는 정책을 찾는 학습

학습/행동의 주체(agent)가 환경과 상호작용한 뒤 보상에 따라 행동을 결정하는 정책을 바꾸어 나가는 방식

 


2. 모델의 성능 평가

모델의 성능 평가는 예측모델의 성능평가와 분류모델의 성능평가로 나눌 수 있다.

(2-1) 예측모델의 성능평가

들어가기 전 간단한 용어 설명 시간

알고 있다면 넘어가자.

더보기

편차(deviation): $(x_i-x)$

설명: 자료가 평균을 중심으로 얼마나 광범위하게 분포하고 있는지 나타낸다.

 

잔차(residuals): $e_i=y_i-\hat{y_i}$

설명: 회귀모형에서 사용(회귀모형의 적합도 평가)

 

오차(error): $e_i=y_i-\hat{y_i}$

설명: 데이터마이닝 성능평가에서 사용(모형의 성능 평가)

예측모델의 평가 척도는 아래 3개를 사용한다.

 

➊ 평균오차(Average Error; AE): $AE=\frac{1}{n}\sum_{i=1}^{n}e_i$

    예측이 평균적으로 반응의 예측을 초과하는지(미달하는지) 확인

➋ 절대평균오차(Mean absolute Error; MAE): $MAE=\frac{1}{n}\sum_{i=1}^{n}|e_i|$

    평균절대오차의 크기

➌ 평균백분율오차(Mean Percentage Error; MPE): $MPE=100\times\frac{1}{n}\sum_{i=1}^{n}\frac{e_i}{y_i}$

    오차의 방향을 고려하여 예측이 실제 값에서 얼마나 벗어나는지에 대한 백분율

 

(2-2) 분류모델의 성능평가

분류모델의 성능평가는 정오행렬에서 기반한 척도를 사용한다.

잠깐! 정오행렬이란? 이진 분류기의 성능 평가 시 사용하는 혼동행렬(confusion matrix)이다.

  예측
    양성 음성
실제 양성 진양성(TP) 위음성(FN)
음성 위양성(FP) 진음성(TN)
  • 민감도(sensitivity)/재현율(recall)/진양성율(TPR) = $\frac{TP}{TP+FN}$
  • 특이도(specificity)/진음성률(TNR) = $\frac{TN}{FP+TN}$
  • 정밀도(precision) = $\frac{TP}{TP+FP}$
  • 음성 예측도 = $\frac{TN}{TN+FN}$
  • 위양성률 = 1-특이도 = $\frac{FP}{FP+TN}$
  • 위발견률 = 1-정밀도 = $\frac{FP}{TP+FP}$
  • 정확도 = $\frac{TP+TN}{TP+FP+FN+TN}$
  • F1 score = $2\frac{(정밀도)*(재현율)}{(정밀도)+(재현율)}$

 

  • ROC 곡선: (위양성률 FPR, 민감도 TPR) 그래프
  • AUC: ROC 곡선에서 곡선 아래 부분의 면적으로, 클수록 좋은 모델이다.

출처: 네이버 지식백과

추가 동영상
더보기

ROC 곡선의 X축과 Y축은 각각 FPR, TPR이다. 이것은 무엇을 의미하냐면...

 

TPR: 실제로 양성인 개체 중 예측을 양성으로 한 것(민감도)

FPR: 실제로 음성인 개체 중 예측을 양성으로 한 것(1-특이도)

 

그렇기 때문에 ROC곡선이 직선의 형태이면 최악의 상태인 것

 

더보기

재현율과 정밀도의 비교

 

재현율=민감도: 실제로 양성인 개체 중 예측을 양성으로 한 것

정밀도: 예측을 양성으로 한 개체 중 실제로 양성인 것

 


3.  훈련과 검증

이상적인 분류기는... 학습에 사용되지 않은 데이터에 대해 분류를 잘 하는 것!

즉 일반화 능력이 좋은 것을 목표로 한다.

 

(3-1) 데이터의 구분

➊ 학습 데이터: 분류기를 학습하고 모델을 구축하는 데 사용하는 데이터 집합, 많을수록 유리하다

➋ 테스트 데이터: 예측 및 분류의 성능을 평가하는 데 사용되는 데이터 집합. 학습에 사용x

➌ 검증 데이터: 학습데이터로 구축된 여러 모델의 성능을 비교하는 데 사용되는 데이터 집합. 특정 알고리즘(의사결정나무, K-최근접이웃 등)

 

(3-2) K-겹 교차검증(K-fold cross validation)

언제? 데이터가 부족한 경우

어떻게? 전체 데이터를 k등분, 각 등분을 한 번씩 test data로 사용하여 성능 평가 후 평균값 선택

 

(3-3) 적합

➊ 과잉 적합(Overfitting): 학습 데이터에서는 성능이 뛰어나지만 일반화했을 때 성능이 잘 나오지 않는 모델

    원인: 학습에 사용된 데이터가 너무 적음, 모델이 너무 복잡함(학습용 데이터에 완전히 적합)

➋ 과소 적합(Underfitting): 학습 데이터에서도 성능이 좋지 않은 모델(모델 자체가 적합하지 않음)

    원인: 모델이 지나치게 단순한 경우, 예측을 제대로 할 수 없는 특징들만 제공

➌ 일반화(Generalization): 학습을 통해 모델의 파라미터를 결정, 학습하지 않은 데이터에 모델을 적용하여 값을 예측하거나 분류를 수행하는 것

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.