분류 문제는 크게 2가지 영역으로 나뉜다.

1. 추론(inference): 학습 데이터를 이용하여 $p(C_k|x)$에 대한 모델 학습

2. 판별(decision): 추론한 posterior를 이용하여 실제 입력된 데이터의 클래스를 결정

 

분류 문제를 푸는 3가지 방법의 모델이 있다.

1. Gnerative Models

  • 클래스 조건부 밀도(class-conditional density)인 $p(x|C_k)$와 prior $p(C_k)$를 각각 추론하여 posterior를 추론한다.
  • 결합 확률(joint-probability) $p(x, C_k)$의 marginizing과정을 통해 posterior를 얻는다.

$$p(C_k|x) = \frac{p(x|C-k)p(C_k)}{p(x)} (식 1.82)$$

$$p(x) = \sum_k p(x|C_k)p(C_k) (식 1.83)$$

  • 본 모델이 generative 모델인 이유는 추론된 분포로 부터 임의적으로 새로운 데이터를 만들어낼 수 있기 때문이다.
  • 즉, 주어진 데이터를 통해 모델링된 분포로부터 완전히 새로운 샘플을 재생성해 낼 수 있는 능력이 있다.

2. Discriminative Models

  • posterior를 직접 근사하는 모델이다.
  • class conditional density와 prior를 구분하여 간접적인 추론하는 과정 없이 직접적으로 해당 확률을 모델링한다.

3. Discriminant Function

  • 베이즈 확률 모델에 의존하지 않고 입력 공간을 바로 결정 모델에 대입하여 판별식을 찾아내는 방식이다.
  • posterior 등을 따지지 않는다.

 

3. 확률적 판별 모델

3.1. 고정된 기저 함수

지금까지 적용한 원 입력 벡터 $x$에 대해 직접적으로 적용되는 분류 모델은, 기저 함수들의 벡터 $\phi(x)$를 이용하여 입력값의 고정된 비선형 변환을 먼저 적용한 후에도 동일하게 사용 가능하다.

  • 이 결과, 결정 경계는 특징 공간 $\phi$에 대해 선형이며, 원 $x$ 공간에서는 비선형이다.
  • $\phi(x)$: $\phi_0(x)=1$이며, 매개변수 $w_0$가 편향의 역할을 하게 된다. (3장 선형 회귀 모델과 같이 추가 정의하여 식에 삽입한다.)

기저 함수를 이용한 선형변환 (그림 4.12)

  • 왼쪽 그림의 경우, 원 입력 공간 $(x_1, x_2)$ 상에 두 클래스의 데이터 포인트가 있으며, 두 개의 가우시안 기저 함수 $\phi_1(x)$와 $\phi_2(x)$가 녹색 원(십자가 중심점)으로 정의되어 있다.
  • 오른쪽 그림에는, 기저 공간을 적용한 후의 특징 공간 $(\phi_1, \phi_2)$와 로지스틱 회귀 모델을 바탕으로 구한 선형 결정 경계가 그려져 있다.
  • 즉, 오른쪽의 기저 공간을 활용한 특징 공간 상에서의 검은색의 선형 결정 경계는 왼쪽의 검은 원으로 비선형 결정 경계에 해당하게 된다.
물론, 실제의 문제에서는 클래스 조건 밀도(class-conditional density) $p(x|C_k)$들 사이에 상당한 중첩이 있을 수 있다. 이는 사후 확률 $p(C_k|x)$가 0 또는 1이 아닐 경우 생기게 된다. 이 경우에는 사후 확률을 정확하게 모델링하고, 표준 결정 이론(1장)을 적용함으로써 최적해를 구할 수 있다. 

이때, 비선형 변환 $\phi(x)$는 이러한 클래스 중첩을 제거하지 못할 뿐만 아니라, 오히려 증가시키거나 새로운 중첩을 유발할 수도 있다. 하지만 적절한 비선형성을 선택한다면 사후 확률을 모델링하는 과정이 쉬워지게 된다.

또한, 고정된 기저 함수는 분명한 한계점을 가지고 있지만, 이는 기저 함수 자체가 데이터에 적응(fitting)되도록 함으로써 해결 가능하며, 이러한 한계점에도 중요한 의미를 갖는다(추후).

 


 

3.2. 로지스틱 회귀

지금부터는 2-class 분류 문제를 살펴보도록 하자.

4.2절에서 살펴보았던 생성적(Generative) 방식에 대한 논의에서는 일반적 가정 하에 클래스 $C_1$에 대한 사후 확률을 특징 벡터의 선형 함수에 대한 로지스틱 시그모이드 함수로 적을 수 있음을 살펴보았다. 

 

  • $p(C_1|\phi) = y(\phi) = \sigma(w^T \phi)$ (식 4.87)

 

  • $p(C_2|\phi) = 1 - p(C_1|\phi)$

 

M차원 특징 공간 $\phi$에서, 이 모델은 M개의 매개변수를 가지고 있다.

만약 MLE(최대 가능도 방법)을 이용하여 가우시안 클래스 조건부 밀도(gaussian class-conditional density) 근사를 했다고 가정해 보자. (참고)

 

  • 평균값: 2M 
  • 공분산 행렬: M(M+1)/2
  • 클래스 사전 확률: (2-class 이므로) $p(C_1)$
  • 총: M(M+5)/2 +1
  • 즉, 매개변수 M이 이차로 증가하게 된다.

 

하지만 로지스틱 회귀의 경우, 매개변수 숫자 M이 선형으로 증가한다. 

 


 

MLE를 사용하여 로지스틱 회귀 모델의 매개변수를 구해보자. 이를 위해서는 로지스틱 시그모이드 함수의 미분 값을 사용해야 한다. (참고)

 

  • $\frac{d\sigma}{da} = \sigma(1-\sigma)$ (식 4.88)

 

  • $n=1, ... , N$에 대해 $t_n \in {0,1}$, $\phi_n=\phi(x_n)$인 데이터 집합 ${\{\phi_n, t_n\}}$에 대한 likelihood는, (식 4.89) $$p(t|w) = \Pi_{n=1}^{N}y_n^{t_n} {\{1-y_n\}}^{1-t_n}$$ 

 

  • (probability i.i.d에 의해 곱으로 표현된다.)

 

  • 여기서 $y_n=p(C_1|\phi_n)$이다.

 

  • 따라서, 시그모이드 함수의 미분값의 최대를 구하는 것은, likelihood의 음의 로그 값을 취하여 최소화하는 것과 같다.

 


 

그리고 이 함수는 Cross-Entropy함수이다.

 

1. $E(w) = -lnp(t|x) = - \sum_{n=1}^{N} {\{t_n ln y_n + (1-t_n) ln(1-y_n)\}}$ (식 4.90) 

  • 여기서 $y_n = \sigma(a_n)$이고, $a_n = w^T\phi_n$이다.

 

2. w에 대하여 오류 함수의 기울기를 계산하면, (식 4.91) $$\triangledown E(w) = \sum_{n=1}^{N} (y_n-t_n)\phi_n$$ 

  • 이 과정에서, 로지스틱 시그모이드의 미분 값에 해당하는 인자($1-\sigma$)가 사라졌으며, 그에 따라 log likelihood의 기울기가 더 간단한 형태로 표현되었다.

 

  • 즉, 이 식은 데이터 포인트 n의 기울기가 표적 값 $t_n$과 예측값 $y_n$사이의 차(오류)에 기저 함수 벡터 $\phi_n$을 곱한 것으로 표현되었다.

 

  • 식 3.13과 비교하였을 때 선형 회귀 모델의 제곱합 오류 함수의 기울기와 정확하게 같은 형태임을 확인할 수 있다.

 

3. 순차적인 모델을 만들 수도 있는데,

  • $n^{th}$에 대한 입력을 $\triangledown E_n$으로 놓고,

 

  • 업데이트는 식 3.22를 사용한다. $$w^{(\tau + 1)} = w^{(\tau)} - \eta \triangledown E_n $$

 

4. 선형적으로 분리 가능한 데이터 집합에 대해 MLE를 사용하면 심각한 과적합 문제를 겪을 수 있다.

  • 이는 $\sigma=0.5$에 해당하는 초공간(hyper-space)이 두 클래스를 나누는 경우에 발생한다.

 

  • $w^T\phi = 0, w=\infty$

 

  • 로지스틱 회귀 함수는 무한대로 가팔라지며, 헤비사이드 계단 함수가 된다. $$\begin{cases}1&(x >0)\\0.5&(x=0)\\0&(x<0)\end{cases}$$

 

  • 즉, n포인트 모두 사후 확률 $p(C_k|x)=1$을 가지게 되는 것 (각각의 샘플 데이터가 특정 클래스로 분류될 확률이 모두 1이 됨).

 

  • 사후 확률이 위와 같이 극단적인 값만 나오기 때문에 가능한 최적의 초공간이 여러 개 나오고, 사실 이 중에 최적의 결정면이 존재하나 모델은 이를 구분하지 못하게 된다.

 


 

3.3. 반복 재가중 최소 제곱법 (Iterative Reweighted Least Squares, LRLS)

3장에서의 선형 회귀 모델에서 MLE는 닫힌 형태로서 최적 해를 구할 수 있었다.

 

  • 가우시안 노이즈 모델을 선정하여 식 모델링
  • 이 식은 모수 벡터 w에 대해 2차식 형태로 최솟값이 1개이다.

 

로지스틱 회귀는 sigmoid 식에 의해 비선형 모델이 되기 때문에 더 이상 닫힌 형태의 식이 아니다.

 

1. 그러나 로지스틱 함수의 오류 함수는 이차식 형태로부터 크게 다르지 않은 convex(볼록) 한 형태를 가지고 있으며, 유일한 최솟값을 가지고 있다.

 

2. 그리고 이는, Newton-Raphson 반복 최적화 방법을 통해 쉽게 최소화 가능하다.

  • log-likelihood에 대한 local 2차식 근삿값을 구하는 방식으로 문제 해결 (식 4.92) $$w^{new} = w^{old} - H^{-1}\triangledown E(w)$$

 

  • H는 헤시안 행렬로, 각 원소는 $E(w)$를 w의 각 성분으로 이차 미분한 값에 해당

 

3. 이제 식 3.3의 선형 회귀 모델과 3.12의 제곱합 오류 함수에 뉴턴 라프슨 방법을 적용해 보자.

  • $y(x,w) = \sum_{j=0}^{M-1} w_j \phi_j(x) = w^T \phi(x)$ (식 3.3) 

 

  • $E_D(w) = \frac{1}{2} \sum_{n=1}^{N} \{t_n - w^T\phi(x_n)\}^2$ (식 3.12)

 

  • $\triangledown E(w) = \sum_{n=1}^{N}(w^T\phi_n - t_n) \phi_n = \Phi^T\Phi w - \Phi^T t$ (식 4.93)

 

  • $H = \triangledown \triangledown E(w) = \sum_{n=1}^{N} \phi_n \phi_n^T = \Phi^T \Phi$ (식 4.94)

 

4. 여기서 $\Phi$는 N x M 크기 행렬로, n번째 행이 $\phi_n^T$로 주어진다. 이때 뉴턴 라프슨 업데이트는,

 

  • $w^{(new)} = w^{(old)} - (\Phi^T \phi)^{-1} \{ \Phi^T \Phi w^{(old)} - \Phi^T t\} = (\Phi^T \Phi)^{-1} \Phi^T t$ (식 4.95)

 

  • 이 경우 이차형식 꼴이므로 Newton-Raphson 식이 한 번 반복만으로 해를 구하였다.

 

5. 이제 로지스틱 회귀 모델과 식 4.90의 cross-entropy 함수에 대해 적용해 보자.

  • $\triangledown E(w) = \sum_{n=1}^{N} (y_n - t_n) \phi_n = \Phi^T (y-t)$ (식 4.96)

 

  • $H = \triangledown \triangledown E(w) = \sum_{n=1}^{N} \phi_n \phi_n^T = \Phi^T R \Phi$ (식 4.97)

 

  • 여기서 식 4.88을 사용하였으며, R은 N x N 대각 행렬이다. $R_{nn} = y_n(1-y_n)$

 

  • Hessian은 더 이상 상수가 아니며, 가중 행렬 R을 통해 w에 종속성을 가지고 있다.
  • 즉, 오류 함수가 더 이상 이차 함수가 아니다.
  • 그러나,  로지스틱 시그모이드 함수의 형태로부터 기인한 $0<y_n<1$이라는 성질로, 임의의 벡터 u에 대해서 $u^THu>0$이므로, H는 양의 정부호 행렬이다,
  • 즉, 오류 함수는 w에 대한 볼록 함수이며, 유일한 최솟값을 갖는다.

 

  • 로지스틱 회귀 모델에 대한 뉴턴 라프슨 업데이트는, (식 4.99) $$w^{(new)} = w^{(old)} - (\Phi^T R  \Phi)^{-1} \Phi^T (y-t) = (\Phi^T R \phi)^{-1} \{\Phi^T R \Phi w^{(old)} - \Phi^T (y-t)\} = (\Phi^T R |Phi)^{-1} \Phi^T Rz$$
  • 여기서 z는 N차원 벡터로, $z = \Phi w^{(old)} - R^{-1} (y-t)$ (식 4.100)

 

  • 식 4.99에서 가중된 최소 제곱 문제의 정규 방정식의 집합 형태를 띠고 있음을 볼 수 있으며, 가중 행렬 R이 상수가 아닌 벡터 w에 대해 종속적이기에 정규 방정식을 반복적으로 적용해야 한다.
  • 매 반복마다 새로운 가중 벡터 w를 이용하여 수정된 가중 행렬 R을 구해야 한다. (ISLR)
  • 또한, 대각 가중 행렬 R의 원소들을 분산으로 해석할 수 있다.

 

  • 로지스틱 회귀 모델에서 t의 평균과 분산은,

 

  • 평균: $\mathbb{E}[t] = \sigma(x) = y$ (식 4.101)
  • 분산: $var[t] = \mathbb{E}[t^2] - \mathbb{E}[t]^2 = \sigma(x) - \sigma(x)^2 = y(1-y)$ (식 4.102)
  • $t \in \{0,1\}$ 이기에 $t^2 = t$를 적용할 수 있다.

 

  • IRLS를 변수 $a = w^T\phi$ 공간 상에서 선형화 된 문제의 해로 해석할 수 있다.
  • z의 n번째 원소인 $z_n$은 $w^{(old)}$의 로지스틱 시그모이드 함수를 locally 선형 근사하여 구한 공간 상의 실제적 표현 값이다.(식 4.103) $$a_n(w) \simeq a_n (w^{(old)}) + \frac{da_n}{dy_n} \mid_{w^{(old)}} (t_n -y_n) = \phi_n^T w^{(old)} - \frac{(y_n - t_n)}{y_n(1-y_n)} = z_n$$

 


 

3.4. 다중 클래스 로지스틱 회귀

다중 클래스 생성적 모델에 대한 논의에서 여러 종류의 분포에 대해 특징 변수들의 선형 함수에 softmax 변환을 적용한 형태로 posterior를 표현할 수 있는 것을 확인하였다. (식 4.104)

$$p(C_k|\phi) = y_k(\phi) = \frac{exp(a_k)}{\sum_j exp(a_j)}$$

여기서 활성도는 $a_k = w_k^T\phi$ (식  4.105)이다.

 

다만, 지금까지는 class-conditional density와 prior를 따로 구하고, 베이지안 정리를 적용하여 posterior를 찾음으로써, 간접적으로 $\{w_k\}$를 구했다면, 여기서는 MLE를 적용하여 직접 구하는 방법에 대해 알아보자.

 

  • 모든 활성도 $a_j$에 대한 $y_k$의 미분 값을 구하면, (식 1.406) $$\frac{\partial y_k}{\partial a_j} = y_k (I_kj - y_j) $$
  • 여기서 $I_kj$는 항등 행렬 원소이다.

 

  • 다음으로 likelihood function을 one-hot encoding 하여 표현하면, (식 4.107) $$p(T|w_1, ... ,w_K) = \Pi_{n=1}^N \Pi_{k=1}^K p(C_k | \phi_n)^{t_nk} = \Pi_{n=1}^N \Pi_{k=1}^K y_{nk}^{t_{nk}}$$
  • 여기서 $y_{nk} = y_k(\phi_n)$이며, T는 원소 $t_{nk}$를 가지는 N x K 타깃 변수 행렬이다.
  • 이에, 음의 로그 값을 취하면, (식 4.108) $$E(w_1, ... , w_k) = -ln p(T|w_1, ... ,w_K) = - \sum_{n=1}^{N} \sum_{k=1}^{N} t_{nk} ln y_{nk}$$
  • 이를 다중 클래스 분류 문제상의 cross-entorpy 오류 함수라 한다.

 

  • 매개변수 벡터 $w_j$에 대해 오류 함수의 기울기를 구하면, (softmax 함수의 미분 값 4.106식을 이용하여) (식 4.109) $$\triangledown_{w_j} E(w_1, ... , w_K) = \sum_{n=1}^N (y_{nj} - t_{nj})\phi_n$$
  • one-hot encoding 타겟이므로, $\sum_k t_{nk} = 1$의 성질을 이용할 수 있다.
  • 선형 모델에 제곱합 오류 함수를 사용하였을 경우와 로지스틱 회귀 모델에 cross-entorpy 오류 함수를 사용하였을 경우의 기울기 함수 형태가 같음을 확인할 수 있다.
  • 즉, 오류값 $(y_{nj} - t_{nj})$에 기저 함수 $\phi_n$을 곱한 형태이다.

 

  • 배치 알고리즘을 찾기 위해 뉴턴 라프슨 업데이트를 적용해서 다중 클래스 상에서의 ISLR알고리즘을 구해보면, (식 4.110) $$\triangledown_{w_k} \triangledown_{w_j} E(w_1, ..., w_K) = \sum_{n=1}^N y_{nk} (I_{kj} - y_{nj}) \phi_n \phi_n^T$$
  • 이때, 블록 j와 k가 위의 식처럼 주어지는 M x M 블록으로 이루어진 Hessian 행렬을 계산하고, 이는 양의 정부호 행렬로서 이 오류 함수는 유일한 최솟값을 가진다.

 


 

3.5. 프로빗 회귀

3.6. 정준 연결 함수


Reference

'딥러닝 > PRML (bishop)' 카테고리의 다른 글

4장. 선형 분류 모델 (4)  (0) 2022.07.05

+ Recent posts