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). 데이터 과학을 위한 통계. 한빛미디어. 이용준 옮김.