본문 바로가기
패턴인식과 머신러닝/Ch 04. Linear Models for Classification

[베이지안 딥러닝] Ch4.2 Linear Models for Classification - Probabilistic Generative Models

by Keep It Simple, Stupid! 2020. 12. 3.

2020-2학기 이화여대 김정태 교수님 강의 내용을 바탕으로 본 글을 작성하였습니다.

 

 Ch4.1에서는 분류를 위한 discriminant function을 이용한 접근법을 다뤘으며, 이번 Ch4.2에서는 클래스별 conditional distribution인 $p(\mathbf{x}|C_k)$와 클래스의 prior distribution인 $p(C_k)$를 모델하고, 베이지안 정리를 적용하여 $p(C_k|\mathbf{x})$ (posterior probability)를 계산해 내는 방식의 probabilistic generative models을 사용할 것이다.

Overview


  • Linear classification
  • Probabilistic generative model 
  • Probabilistic discriminative model
  • The Laplace Approximation
  • Bayesian Logistic Regression

 

Probabilistic Generative Models


▶ Two classes case (sigmoid function)

 우선 class가 두 개인 경우를 고려해 보자. class $C_1$에 대한 사후 확률을 식 (1)로 표현할 수 있음

$$
\begin{aligned}
p\left(\mathcal{C}_{1} \mid \mathbf{x}\right) &=\frac{p\left(\mathbf{x} \mid \mathcal{C}_{1}\right) p\left(\mathcal{C}_{1}\right)}{p\left(\mathbf{x} \mid \mathcal{C}_{1}\right) p\left(\mathcal{C}_{1}\right)+p\left(\mathbf{x} \mid \mathcal{C}_{2}\right) p\left(\mathcal{C}_{2}\right)}  \\
&=\frac{1}{1+\exp (-a)}=\sigma(a) 
\end{aligned} \tag{1}\label{1}
$$

where we have defined 

$$a=\ln \frac{p\left(\mathbf{x} \mid \mathcal{C}_{1}\right) p\left(\mathcal{C}_{1}\right)}{p\left(\mathbf{x} \mid \mathcal{C}_{2}\right) p\left(\mathcal{C}_{2}\right)} \tag{2}\label{2}$$

$-\infty \lt a \lt \infty$

▶ The logistic sigmoid function is defined by

그리고 $\sigma(a)$는 logistic sigmoid 함수로 식 (3)으로 정의 및 [그림 1] 빨간 실선으로 그려져 있음

$$\sigma(a) = \frac{1}{1+exp(-a)} \tag{3}\label{3}$$

$ 0 \leq  \sigma(a) \leq 1$

Why? class 분류를 하기 위해서 "0~1" 사이의 값을 가지는 사후확률을 구해야함

[그림 1]

▶ Symmetry property of logistic sigmoid function (특징)

$$\sigma(-a) = 1 - \sigma(a) \tag{4}\label{4}$$

▶ The inverse of the logistic sigmoid 

$$a = \ln(\frac{\sigma}{1-\sigma}) \tag{5}\label{5}$$

식 (5)를 logit function 라고 부르기도 하며, 두 클래스에 대한 확률들의 비율의 로그값인 $\ln[(\frac{p(\mathcal{C_1}|\mathbf{x})}{p(\mathcal{C_2}|\mathbf{x})})]$을 나타낸다. 이를 log odds라 불리기도 함.

▶ If $a(\mathbf{x})$ is a linear function of x, in which case the posterior probability is governed by a generalized linear model.

$a(\mathbf{x})$가 $\mathbf{x}$에 선형 함수인 경우에 추후 살펴볼 것인데, 이때 사후확률은 일반화된 선형 모델에 의해 조절됨. (참고)

▶ Multi classes case (softmax function : normalized exponential function)

$K \gt 2$인 경우는 식 (6)과 같이 된다.

$$
\begin{aligned}
p\left(\mathcal{C}_{k} \mid \mathbf{x}\right) &=\frac{p\left(\mathbf{x} \mid \mathcal{C}_{k}\right) p\left(\mathcal{C}_{k}\right)}{\sum_{j} p\left(\mathbf{x} \mid \mathcal{C}_{j}\right) p\left(\mathcal{C}_{j}\right)} \\
&=\frac{\exp \left(a_{k}\right)}{\sum_{j} \exp \left(a_{j}\right)}
\end{aligned} \tag{6}\label{6}
$$

where 

$$a_k = \ln(p(\mathbf{x}|\mathcal{C_k})p(\mathcal{C_k})). \tag{7}\label{7}$$

▶ The normalized exponential is also known as the softmax function, as it represents a smoothed version of the ‘max’ function because, if $a_{k} \gg a_{j}$ for all $j \neq k$, then $p\left(\mathcal{C}_{k} \mid \mathbf{x}\right) \simeq 1$, and $p\left(\mathcal{C}_{j} \mid \mathbf{x}\right) \simeq 0$

 식 (6)의 아래항을 보면 정규화된 지수함수가 있으며, 이를 softmax function이라고도 부름,  

 이제 클래스별 조건부 밀도인 $p(\mathbf{x}|C_k)$에 대해서 특정 형태(gaussian distribution)를 선택했을 경우의 결과에 대해 살펴보도록 하자. 

클래스별 조건부 밀도 input에 성질에 따라 아래와 같은 특정 distribution을 적용할 수 있음

  • case 1) continious input : (e.g. gaussian distribution)
  • case 2) discrete input : (e.g. naive bayes) [이 부분은 생략!]

 

4.2.1 continious input (연속 입력)

▶ Assume class conditional distribution is Gaussian (parametric model)

$$
p\left(\mathbf{x} \mid \mathcal{C}_{k}\right)=\frac{1}{(2 \pi)^{D / 2}} \frac{1}{|\mathbf{\Sigma}|^{1 / 2}} \exp \left\{-\frac{1}{2}\left(\mathbf{x}-\boldsymbol{\mu}_{k}\right)^{\mathrm{T}} \boldsymbol{\Sigma}^{-1}\left(\mathbf{x}-\boldsymbol{\mu}_{k}\right)\right\} \tag{8}\label{8}
$$

▶ Two classes case 

우선, 클래스가 두 개인 경우에 대해 고려해 보면, 식 (1)과 식(2)로부터 다음을 구할 수 있음

$$
p\left(\mathcal{C}_{1} \mid \mathbf{x}\right)=\sigma\left(\mathbf{w}^{\mathrm{T}} \mathbf{x}+w_{0}\right) \tag{9}\label{9}
$$

where

$$
\begin{aligned}
\mathbf{w} &=\boldsymbol{\Sigma}^{-1}\left(\boldsymbol{\mu}_{1}-\boldsymbol{\mu}_{2}\right) \\
w_{0} &=-\frac{1}{2} \boldsymbol{\mu}_{1}^{\mathrm{T}} \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_{1}+\frac{1}{2} \boldsymbol{\mu}_{2}^{\mathrm{T}} \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_{2}+\ln \frac{p\left(\mathcal{C}_{1}\right)}{p\left(\mathcal{C}_{2}\right)}
\end{aligned} \tag{10}\label{10}
$$

[식 (10) 도출 과정 I]
[식 (10) 도출 과정 II]

 Gaussian distribution의 지수부의 $\mathbf{x}$에 대한 이차항이 사라짐(공분산 같다고 가정했기 때문)으로써 logistic sigmoid function의 입력 변수 $\mathbf{x}$에 대한 선형 함수가 되었음. 

 추가적으로 2차원 입력 공간의 $\mathbf{x}$의 경우에 대한 sigmoid function은 [그림 2]에 나타내고 있음.

[그림 2]

 사전확률 $p(C_k)$는 $\omega_0$ (bias)를 통해서만 연관되며, 사전분포를 바꾸는 것은 결정 경계를 평행하게 이동하는 효과를 가짐!

▶ Genearl case of $K$ classes

 더 일반적인 $K$개의 클래스 경우에는 식 (6), (7)에 의해 다음과 같게 된다.

$$
a_{k}(\mathbf{x})=\mathbf{w}_{k}^{\mathrm{T}} \mathbf{x}+w_{k 0} \tag{11}\label{11}
$$

 where

$$
\begin{aligned}
\mathbf{w}_{k} &=\boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_{k} \\
w_{k 0} &=-\frac{1}{2} \boldsymbol{\mu}_{k}^{\mathrm{T}} \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_{k}+\ln p\left(\mathcal{C}_{k}\right)
\end{aligned} \tag{12}\label{12}
$$

4.2.2 Maximum likelihood solution (최대 가능도 해)

 4.1.1에서 다룬 class conditional densities $p(\mathbf{x|C_k})$의 매개변수적 함수 형태를 명시하고 나면 Maximum likelihood 기법을 이용해 model의 parameter($\mu$, $\Sigma$)와 사전 클래스 확률 $p(C_k)$를 구할 수 있다. MLE를 진행하려면 관측값 $\mathbf{x}$와 그에 대한 해당 클래스 label로 이루어진 데이터 집합 $D$가 필요함.

로그 가능도 함수로부터 구해야할 parameter

  • $\pi$
  • $\mu_1$, $\mu_2$
  • $\Sigma$

 

▶ Joint distribution (Two classes case) 

  • 각각의 클래스들은 Gaussian class condition density를 가짐
  • $\Sigma_1 = \Sigma_2$
  • {$\mathbf{x}_n, t_n$} where $n=1, ... , N$, ($C_1 \rightarrow t_n=1, C_2 \rightarrow t_n=0$)
  • $p(C_1) = \pi$
  • $p(C_2) = 1-\pi$

$$
p\left(\mathbf{x}_{n}, \mathcal{C}_{1}\right)=p\left(\mathcal{C}_{1}\right) p\left(\mathbf{x}_{n} \mid \mathcal{C}_{1}\right)=\pi \mathcal{N}\left(\mathbf{x}_{n} \mid \boldsymbol{\mu}_{1}, \mathbf{\Sigma}\right) \tag{13}\label{13}
$$

$$
p\left(\mathbf{x}_{n}, \mathcal{C}_{2}\right)=p\left(\mathcal{C}_{2}\right) p\left(\mathbf{x}_{n} \mid \mathcal{C}_{1}\right)=(1-\pi) \mathcal{N}\left(\mathbf{x}_{n} \mid \boldsymbol{\mu}_{2}, \mathbf{\Sigma}\right) \tag{14}\label{14}
$$

▶ The likelihood function

 위 식 (13), (14)를 활용하면 아래와 같이 가능도 함수를 표현할 수 있음 ($i.i.d$)

$$
p\left(\mathbf{t}, \mathbf{X} \mid \pi, \boldsymbol{\mu}_{1}, \boldsymbol{\mu}_{2}, \mathbf{\Sigma}\right)=\prod_{n=1}^{N}\left[\pi \mathcal{N}\left(\mathbf{x}_{n} \mid \boldsymbol{\mu}_{1}, \mathbf{\Sigma}\right)\right]^{t_{n}}\left[(1-\pi) \mathcal{N}\left(\mathbf{x}_{n} \mid \boldsymbol{\mu}_{2}, \mathbf{\Sigma}\right)\right]^{1-t_{n}} \tag{15}\label{15}
$$

where $ \mathbf{t} = (t_1, t_2, ... , t_n)^T$.

 편의상 로그 가능도 함수로 만들어 MLE 추정함

$$ 
\ln p = \sum_{i=1}^{N} \mathbf{t}_n [\ln\pi + \ln N(\mathbf{x}_n|\mu_1,\Sigma)] + (1-t_n)[\ln(1-\pi) + \ln N(\mathbf{x}_n|\mu_2, \Sigma)] \tag{16}\label{16}
$$

▶ Maximum with respect to "$\pi$"

 우선 $\pi$에 대해 최대화하는 것을 먼저 고려하기 위해 $\pi$에 대해 dependent한 항만 정리하면 log likelihood function는 다음과 같음

$$
\sum_{n=1}^{N}\left\{t_{n} \ln \pi+\left(1-t_{n}\right) \ln (1-\pi)\right\} \tag{17}\label{17}
$$

$\pi$에 대한 미분값을 0으로 놓고 정리하면 다음과 같음

$$
\pi=\frac{1}{N} \sum_{n=1}^{N} t_{n}=\frac{N_{1}}{N}=\frac{N_{1}}{N_{1}+N_{2}} \tag{18}\label{18}
$$

where

  • $N_1$ : $C_1$에 있는 data point 갯수
  • $N_2$ : $C_2$에 있는 data point 갯수

$\pi$에 대한 MLE는 단순히 $C_1$에 있는 data point 갯수의 비율에 해당되며, 일반화하면 $K \geq 2$에서도 가능함

▶ Maximum with respect to "$\mu_1$, $\mu_2$" 

$\mu_1$에 대해 dependent한 항만 정리하면 log likelihood function는 다음과 같음

$$
\sum_{n=1}^{N} t_{n} \ln \mathcal{N}\left(\mathbf{x}_{n} \mid \boldsymbol{\mu}_{1}, \mathbf{\Sigma}\right)=-\frac{1}{2} \sum_{n=1}^{N} t_{n}\left(\mathbf{x}_{n}-\boldsymbol{\mu}_{1}\right)^{\mathrm{T}} \boldsymbol{\Sigma}^{-1}\left(\mathbf{x}_{n}-\boldsymbol{\mu}_{1}\right)+\mathrm{const} \tag{19}\label{19}
$$

$\mu_1$에 대한 미분값을 0으로 놓고 정리하면 다음과 같음

$$ 
\mu_1=\frac{1}{N_1} \sum_{n=1}^{N} t_{n} \mathbf{x}_n \tag{20}\label{20}
$$

이는 단순히 class $C_1$에 배정된 입력 벡터 $\mathbf{x}_n$의 평균에 해당.

$\mu_2$에 대한 미분값을 0으로 놓고 정리하면 다음과 같음 (같은 원리)

$$  
\mu_2=\frac{1}{N_2} \sum_{n=1}^{N} (1-t_{n}) \mathbf{x}_n \tag{21}\label{21}
$$

역시 단순히 class $C_2$에 배정된 입력 벡터 $\mathbf{x}_n$의 평균에 해당.

▶ Maximum likelhood for covariance : $\Sigma$

 마지막으로, 공분산 행렬인 $\Sigma$에 대한 MLE를 고려해보자. 로그 가능도 함수에서 $\Sigma$에 dependent한 항만 선택하면 다음과 같음 (단, Covariance는 편의상 Matrix의 Trance성질을 활용하여 추정, 곱셈에 대한 교환법칙성립)

$$
\begin{array}{l}
-\frac{1}{2} \sum_{n=1}^{N} t_{n} \ln |\mathbf{\Sigma}|-\frac{1}{2} \sum_{n=1}^{N} t_{n}\left(\mathbf{x}_{n}-\boldsymbol{\mu}_{1}\right)^{\mathrm{T}} \boldsymbol{\Sigma}^{-1}\left(\mathbf{x}_{n}-\boldsymbol{\mu}_{1}\right) \\
-\frac{1}{2} \sum_{n=1}^{N}\left(1-t_{n}\right) \ln |\mathbf{\Sigma}|-\frac{1}{2} \sum_{n=1}^{N}\left(1-t_{n}\right)\left(\mathbf{x}_{n}-\boldsymbol{\mu}_{2}\right)^{\mathrm{T}} \boldsymbol{\Sigma}^{-1}\left(\mathbf{x}_{n}-\boldsymbol{\mu}_{2}\right) \\
=-\frac{N}{2} \ln |\mathbf{\Sigma}|-\frac{N}{2} \operatorname{Tr}\left\{\boldsymbol{\Sigma}^{-1} \mathbf{S}\right\}
\end{array} \tag{22}\label{22}
$$

where

$$
\begin{array}{c}
\mathrm{S}=\frac{N_{1}}{N} \mathrm{~S}_{1}+\frac{N_{2}}{N} \mathrm{~S}_{2} \\
\mathrm{~S}_{1}=\frac{1}{N_{1}} \sum_{n \in \mathcal{C}_{1}}\left(\mathrm{x}_{n}-\mu_{1}\right)\left(\mathrm{x}_{n}-\mu_{1}\right)^{\mathrm{T}} \\
\mathrm{S}_{2}=\frac{1}{N_{2}} \sum_{n \in \mathcal{C}_{2}}\left(\mathrm{x}_{n}-\mu_{2}\right)\left(\mathrm{x}_{n}-\mu_{2}\right)^{\mathrm{T}}
\end{array} \tag{23}\label{23}
$$

 가우시안 분포 MLE의 결과를 이용하면 $\hat{\Sigma} = \mathbf{S}$임을 알 수 있음. 이는 각각의 두 클래스 쌍에 해당하는 공분산 행렬들의 가중 평균임.

 $K \geq 2$인 문제에도 확장 가능하며, 단점은 outlier가 있을 경우 모델이 강건하지 못함 (이유 : gaussian의 MLE 방법은 강건하지 않음) 이러한 단점으로 베이지안 관점을 필요함

4.2.3 Discrete features (이산 특징)

  • $x_i \in \{0, 1\}$ ← discrete value
  • Naive Bayes 가정하고, 각각의 값들이 $C_k$에 대해 조건부일 때 독립적으로 취급하면, class의 조건부 분포는 식 (24)를 가짐

 $$p(\mathbf{x} | C_k) = \Pi_{i=1}^{D} \mu_{ki}^{x_i} (1-\mu_{ki})^{1-x_i} \tag{24}\label{24}$$

 각각의 class에 대해 $D$개의 독립된 매개변수 $\mu$를 포함하고 있으며, $a_k = \ln(p(\mathbf{x}|C_k)p(C_k))$에 대입하면 식 (25)와 같다.

[그림 4] Probabilistic Generative Models

$$
a_{k}(\mathbf{x})=\sum_{i=1}^{D}\left\{x_{i} \ln \mu_{k i}+\left(1-x_{i}\right) \ln \left(1-\mu_{k i}\right)\right\}+\ln p\left(\mathcal{C}_{k}\right) \tag{25}\label{25}
$$

 식 (25)는 $x_i$에 대해 선형 함수로 "4.2.1 continious input (연속 입력)"에서 도출한 방법으로 "MLE"를 사용해 도출할 수 있다. 

  • $K = 2$ → sigmoid function
  • $K \gt 2$ → softmax function

4.2.4 Exponential family (지수족)

 생략

 

Conclusion : "Probabilistic Generative Models" 의 장단점


  • 장점 : model을 어떤 분포(e.g. Gaussian)로 지정만 할 수 있다면, data로 부터 parameter를 추정하는데 있어서 직관적임
  • 단점 : $D$가 커지는 경우, 추정해야할 parameter 갯수가 기하급수적으로 증가, model을 gaussian으로 한 경우  robust하지 못함
  • 방안 : "Probabilistic Generative Models" → "Probabilistic Discriminative Models" (4.3에서 다룰 내용)

 

 

 

 

Reference


댓글