Chapter 5. 분류

분류(classification) 문제

- 가장 중요한 예측 유형이라고 할 수 있다. 데이터가 0인지 1인지를 분류하거나, 여러 카테고리 중 어디에 속할지 예측하는 것을 목표로 한다.

 

※ 범주 항목이 두 가지 이상이라 일련의 이진 문제로 변환하는 것이 종종 유리하다.

1. 나이브 베이즈

나이브 베이즈(naive Bayes) 알고리즘은 주어진 결과에 대해 예측변수 값을 관찰할 확률을 사용하여, 예측변수가 주어 졌을 때, 결과 $Y=i$를 관찰할 확률을 추정한다.

용어 의미
조건부확률(conditional probability) 어떤 사건($Y=i$)이 주어졌을 때, 해당 사건($X=i$)을 관찰할 확률 $P(X_i\mid Y_i)$
사후확률(posterior probability) 예측 정보를 통합한 후 결과의 확률
(사전확률에서는 예측변수에 대한 정보를 고려하지 않는다.)

 

※ 나이브한 해법

1) 이진 응답 $Y=i$($i=0$ 또는 1)에 대해, 각 예측변수에 대한 조건부확률 $P(X_j\mid Y=i)$를 구한다.

2) 각 확률값을 곱한 다음, $Y=i$에 속한 레코드들의 비율을 곱한다.

3) 모든 클래스에 대해 1~2 단계를 반복한다.

4) 2단계에서 모든 클래스에 대해 구한 확률 값을 모두 더한 값으로 클래스 $i$의 확률을 나누면 결과 $i$의 확률을 구할 수 있다.

5) 이 예측변수에 대해 가장 높은 확률을 갖는 클래스를 해당 레코드에 할당한다.

 

$P(X_1,X_2,\cdot\cdot\cdot,X_p)$ 값은 확률이 $Y$에 독립이면서 0과 1 사이에 오도록 하기 위한 스케일링 계수이다.

 

$P(X_1,X_2,\cdot\cdot\cdot,X_p) = P(Y=0)\left[P(X_1\mid Y=0)P(X_2\mid Y=0)\cdot\cdot\cdot P(X_p\mid Y=0)\right]$

$+P(Y=1)\left[P(X_1\mid Y=0)P(X_2\mid Y=0)\cdot\cdot\cdot P(X_p\mid Y=0)\right]$

-> $X_j$가 $k\neq j$인 모든 $X_k$와 서로 독립이라고 가정.

 

※ 수치형 예측변수

  • 수치형 예측변수를 비닝(binning)하여 범주형으로 변환한 뒤, 알고리즘을 적용한다.
  • 조건부확률 $P(X_j\mid Y=i)$를 추정하기 위해 정규분포 같은 확률모형을 사용한다.

- 수치형 변수에 나이브 베이즈 방법을 적용하기 위해서는 두 가지 접근법 중 하나를 따라야 한다.

 

- 나이브 베이즈는 예측변수와 결과변수 모두 범주형(요인)이어야 한다.
- '각 출력 카테고리 안에서, 어떤 예측변수의 카테고리가 가장 가능성이 높은가?'가 답하고자 하는 질문이다.
- 그리고 이 정보는 주어진 예측변수 값에 대해, 결과 카테고리의 확률을 추정하는 것으로 바뀐다.

2. 판별분석

- 판별분석(discriminant analysis)은 초창기의 통계 분류방법이다.

용어 의미
공분산(covariance) 하나의 변수가 다른 변수와 함께 변화하는 정도를 측정하는 지표
판별함수(discriminant function) 예측변수에 적용했을 때, 클래스 구분을 최대화 하는 함수
판별 가중치(discriminant weight) 판별함수를 적용하여 얻은 점수를 말하며, 어떤 클래스에 속할 확률을 추정하는 데 사용된다.

- 판별분석 중 가장 일반적으로 사용되는 것은 선형판별분석(LDA; linear diuscriminant analysis)이다.

- 판별분석은 예측변수들의 중요성을 측정하거나 효과적으로 특징을 선택하는 방법으로도 사용된다.

1) 공분산행렬

- 공분산이란 두 변수 $x$와 $z$ 사이의 관계를 의미하는 지표이다.

 

$s_{x,z}=\frac{\sum_{i=1}^n(x_i-\bar{x})(z_i-\bar{z})}{n-1}$

 

- 양수는 양의 관계를, 음수는 음의 관계를 나타낸다. 공분산은 상관계수와는 다르게 변수 $x$와 $z$에서 사용하는 척도와 동일한 척도에서 정의된다.

 

$\hat{\sum}=\begin{bmatrix}{s_x}^2 & s_{x,z} \\s_{x,z} & {s_z}^2 \end{bmatrix}$

 

2) 피셔의 선형판별

- 판별분석은 보통 예측변수가 정규분포를 따르는 연속적인 변수라는 가정이 있지만 실제로는 정규분포에서 벗어나거나 이진 예측변수에 대해서도 잘 동작한다.

 

- LDA는 '내부'제곱합 $SS_{내부}$(그룹 안의 변동을 측정)에 대한 '사이'제곱합 $SS_{사이}$((두 그룹 사이의 편차를 측정)의 비율을 최대화하는 것을 목표로 한다.

$SS_{사이}$ : 두 그룹 평균 사이의 거리

$SS_{내부}$ : 공분산행렬에 의해 가중치가 적용된, 각 그룹 내의 평균을 주변으로 퍼져있는 정도

 

※ R에서는 MASS 라이브러리의 LDA 함수를 이용해서 계산할 수 있다.

 

- 판별분석은 예측변수나 결과변수가 범주형이든 연속형이든 상관없이 잘 동작한다.
- 공분산행렬을 사용하여 한 클래스와 다른 클래스에 속한 데이터들을 구분하는 선형판별함수를 계산할 수 있다.
- 이 함수를 통해 각 레코드가 어떤 클래스에 속할 가중치 혹은 점수를 구한다.

3. 로지스틱 회귀

- 결과가 이진형 변수라는 점만 제외하면 다중선형회귀와 유사하다.

- 데이터 위주의 접근 방식이라기보다, 구조화된 모델 접근 방식이라고 할 수 있다.

용어 의미
로짓(logit) (0~1이 아니라) $\pm\inf$의 범위에서 어떤 클래스에 속할 확률을 결정하는 함수
오즈(odds) '실패'(0)에 대한 '성공'(1)의 비율
로그 오즈(log odds) 변환 모델(선형)의 응답변수. 이 값을 통해 확률을 구한다

1) 로지스틱 반응 함수와 로짓

예측변수에 로지스틱 반응 혹은 역 로짓 함수라는 것을 적용해서 $p$를 모델링한다.

 

$p=\frac{1}{e^{-(\beta_0+\beta_1x_1+\beta_2x_2+\cdot\cdot\cdot +\beta_qx_q)}}$

 

-> 이 과정을 통해 우리는 $p$가 항상 0에서 1 사이에 오도록 할 수 있다.

 

분모의 지수부분을 구하려면 확률 대신 오즈비를 이용한다.

- 오즈비는 '성공'(1)과 '실패'(0)의 비율을 말한다. 확률의 관점에서, 오즈비는 사건이 발생할 확률을 사건이 발생하지 않을 확률로 나눈 비율이다.

 

오즈$(Y=1) = \frac{p}{1-p}$

 

오즈 수식을 로지스틱 반응 함수에 적용하면 아래의 수식을 얻을 수 있다.

 

오즈$(Y=1) = e^{\beta_0 + \beta_1x_1 + \beta_2x_2 + \cdot\cdot\cdot + \beta_qx_q}$

 

마지막으로 양변에 로그 함수를 취하면 우리는 예측변수에 대한 선형함수를 얻을 수 있다.

 

log(오즈($Y=1$)) = $\beta_0+\beta_1x_1+\beta_2x_2+\cdot\cdot\cdot+\beta_qx_q$

 

로그 오즈 함수, 또는 로짓 함수는 0과 1 사이의 확률 $p$를 -Inf에서 +Inf까지의 값으로 매핑해준다.

 

2) 로지스틱 회귀와 GLM

- 로지스틱 회귀는 선형회귀를 확장한 일반선형모형(GLM)의 특별한 사례이다.

- 회귀에서처럼, $P$개의 수준을 갖는 요인변수는 $P-1$개의 열로 표시할 수 있다.

 

3) 일반화선형모형

- 일반화선형모형(GLM; generalized linear model)은 회귀와 함께 두 번째로 가장 중요한 모델이다. GLM은 다음 두 가지 주요 구성 요소로 특징지어진다.

  • 확률분포 또는 분포군(로지스틱 회귀의 경우 이항분포)
  • 응답을 예측변수에 매핑하는 연결함수(로지스틱 회귀의 경우 로짓)

- 로지스틱 회귀는 GLM의 가장 널리 알려진 일반적인 형태이다.

 

4) 로지스틱 회귀의 예측값

- 로지스틱 회귀에서 예측하는 값은 로그 오즈 $\hat{Y}$ = log(오즈($Y=1$))에 관한 값이다.

 

$\hat{p} = \frac{1}{1+e^{-\hat{Y}}}$

 

5) 계수와 오즈비 해석하기

- 로지스틱 회귀의 장점 중 하나는 재계산 없이 새 데이터에 대해 빨리 결과를 계산할 수 있다.

- 또 다른 장점은 모델을 해석하기가 다른 분류 방법들에 비해 상대적으로 쉽다.

-> 이를 위해서 오즈비의 개념을 이해하는 것이 중요하다.

 

$오즈비 = 오즈비 = \frac{오즈(Y=1\mid X=1)}{오즈(Y=1\mid X=0)}$

 

-> X=1일 때 Y=1인 경우의 오즈와 X=0일 때 Y=1인 경우의 오즈를 비교한 것이다.

-> 만약 오즈비가 2이면, 이것은 X=1일 때 Y=1의 오즈가 X=0일 때보다 두 배 더 높다는 것을 의미한다.

 

6) 선형회귀와 로지스틱 회귀: 유사점과 차이점

 

- 다중선형회귀와 로지스틱 회귀의 공통점

  • 예측변수와 응답변수를 선형 관계로 가정한다.
  • 가장 좋은 모델을 탐색하고 찾는 과정이 유사하다.
  • 대부분의 선형모형에서, 예측변수에 스플라인 변환을 사용하는 방법은 로지스틱 회귀 설정에서도 똑같이 적용할 수 있다.

- 다중선형회귀와 로지스틱 회귀의 차이점

  • 모델을 피팅하는 방식(최소제곱을 사용할 수 없다)
  • 모델에서 잔차의 특징과 분석

< 모델 피팅 >

- 선형회귀에서는 모델 피팅을 위해 최소제곱을 사용한다. RMSE와 R 제곱 통계량을 사용하여 피팅의 성능을 평가한다.

 

- 로지스틱 회귀분석에서는 닫힌 형태의 해가 없으므로 최대우도추정(MIE; maximum likelihood estimation)을 사용하여 모델을 피팅해야한다.

- 최대우도추정이란 데이터를 생성했을 때 가능성이 가장 큰 모델을 찾는 프로세스를 말한다.

 

$편차 = -2log(P_\hat{\theta}(X_1,X_2,\cdot\cdot\cdot ,X_n))$

 

편차가 작을수록 모델 적합도가 높은 것을 의미한다.

 

7)  모델 평가하기

- p 값을 해석할 때, 회귀에서 언급했던 주의사항도 같이 따라온다. 통계적인 유의성을 측정하는 지표로 보기보다는 변수의 중요성을 나타내는 상대적인 지표로 봐야한다.

- 로지스틱 회귀가 선형회귀와 다른 부분은 바로 잔차에 대한 분석에 관한 내용이다.

 

- 로지스틱 회귀는 출력이 이진변수라는 점만 빼면, 선형회귀와 매우 비슷하다.
- 선형모형과 비슷한 형태의 모델을 만들기 위해, 응답변수로 오즈비의 로그값을 사용하는 등의 몇 가지 변환이 필요하다.
- 반복 과정을 통해 선형모형을 피팅하고 나면, 로그 오즈비는 다시 확률값으로 변환된다.
- 로지스틱 회귀는 계산 속도가 빠르고 새로운 데이터에 대해서도 빠르게 결과를 구할 수 있다는 장점 때문에 많이 사용된다.

<참고자료>
1. Peter Brucs & Andrew Brucs(2018). 데이터 과학을 위한 통계. 한빛미디어. 이용준 옮김.

'공부 > 데이터 과학을 위한 통계(한빛미디어)' 카테고리의 다른 글

15. 통계적 머신러닝(1)  (0) 2021.01.07
14. 분류(2)  (0) 2021.01.05
12. 회귀와 예측(2)  (0) 2020.12.31
11. 회귀와 예측(1)  (0) 2020.10.25
10. 통계적 실험과 유의성 검정(2)  (0) 2020.10.20

+ Recent posts