간소화를 위하여 hidden state와 input vector의 dimension을 모두 2로 고정 동일한 weight matrix에 속하는 weight들은 같은 색으로 표시
5.1.3 Seq2seq : Encoder-Decoder Model Training
Encoder-decoder is optimized as a single system. Backpropagation operates "end-to-end"
5.1.4 Seq2seq : Encoder-Decoder Model for ASR
5.2 Seq2Seq: The Bottleneck Problem
5.2.1 Attention
- Bottleneck problem에 대한 해결을 위해 attention개념이 제안됨
- Core idea : 각 시점마다 decoder에서 입력 sequence의 특정 부분에 초점을 맞출 수 있도록 encoder로 직접적으로 연결
5.2.2 Seq2Seq with Attention
5.2.2 Seq2Seq with Attention
5.2.2.1 Attention: in equations
Encoder Hidden States h1,…,hN∈Rh t 시점에서의 decoder hidden state st∈Rh Attention score et 는 다음과 같이 계산 et=[sTth1,…,sTthN]∈RN Attention score에 softmax를 적용한 뒤, attention distribution αt 를 계산 - αt 는 더해서 1 이 되는 확률 분포 αt=softmax(et)∈RN Attention output at 은 αt 와 encoder hidden state의 weighted sum을 통해서 계산 at=N∑i=1αtihi∈Rh Attention output at 와 decoder hidden state st 를 concatenate한 뒤, 일반적인 seq2seq모델 처럼 처리 [at;st]∈R2h et=[sTth1,…,sTthN]∈RNαt=softmax(et)∈RNat=N∑i=1αtihi∈Rh
Backpropagation through time을 계산 하기 위하여 다음과 같은 RNN 모델을 정의한다.
ht=f(Xt⋅Wxh+ht−1⋅Whh) (f is activation function)
ot=ht⋅W(h0)
^yt=softmax(ot)
이때, ot 는 출력 logit이고 ˆyt 는 여기에 SoftMax를 취한 값이다.C 개의 Class를 갖는 출력에 대한 cross entropy를 이용할 때, 시점 t 애서의 정답 yt 에 대한 loss ℓt 를 이용하여 길이 T 의 sequence에 대한 총 loss function 은 다음과 같이 주어진다
Hidden state를 출력과 연결하는 weight와 관련된 gradient를, 즉 Who 의 속하는 가중치 wij 에 대하여 계산한다. wij 는 hidden state의 i 번째 unit을 j 번째 출력 unit에 연결하는 welght이다.
wij 에 대한 loss function L 에 관한 식을 계산 하기 위해서는 각 시점에서의 gradient를 합산 해야한다. 그러므로 ∂L∂wij 에 대한 식은 다음과 같아진다.
다음으로 T−1 시점에서의 hidden state와 T 시점의 hidden state의 weight, 즉 Whh 에 속하는 weight uki 에 대해 계산한다. uki 는 hidden state 내의 k 번째 unit과 i 번째 unit을 연결하는 weight이며, hidden state는 이전 시점의 값에 따라 변경되기 때문에 이를 이해하기 위해 시점 t 에서 i 번째 hidden state unit, 즉 h(i)t 에 대해h(i)t=f(∑Nl=1ulih(l)t−1+∑Dm=1vmix(m)t+bhi)로 계산된다
weight uki 에 대한 t 시점에서의 loss function에 대한 gradient는 다음과 같다.
∂ℓt∂uki=∂ℓt∂h(i)t∂h(i)t∂uki
여기서의 c(i)t 는 다음과 같다.
c(i)t=∑Nl=1ulih(l)t−1+∑Dm=1vmix(m)t
h(i)t−1 는 점화식에 의해 f(ukih(k)t−2+uiih(i)t−2+c(i)t−1) 로 표현 가능하므로 계산하려는 weight uki 와 h(i)t−1 에 관한 항으로 정리하며, 시점 t 에서의 점화식은 첫번째 시점까지 계속 될 것이므로, t=t 에서 부터 t=1 까지의 모든 gradient의 합을 고려해야한다. weight uki 에 관한 h(i)t 의 gradient가 점화식에 의해 정의 되므로, uki 에 대한 h(i)t 편미분은 다음과 같이 정리할 수 있다.
이때 이 두부류의 경우는 p(x)=\sum_{j=1}^2 p\left(x \mid \omega_j\right) P\left(\omega_j\right). posterior =\frac{\text { likelihood } \times \text { prior }}{\text { evidence }}
Bayes 공식은x의 값을 관찰함으로써 사전확률prior을 사후확률posterior(특징x가 측정되었을 때 자연 상태가\omega_j 일 확률) 로 전환할 수 있다. p\left(x \mid \omega_j\right)는 x에 대한 \omega_j의 우도(likelihood)라고 부른다.
클레스 조건부 확률 밀도에 대한 특정 사정 확률에 대한 사후 확률. 모든 x에서 사후확률의 합은 1.0이다.
P\left(\omega_1\right)=\frac{2}{3} and P\left(\omega_2\right)=\frac{1}{3}
Probability of error when decision is made
결정 방법은 P( error \mid x)=\left\{\begin{array}{l}P\left(\omega_1 \mid x\right) * \text { if decide } \omega_2 \\ P\left(\omega_2 \mid x\right) * \text { if decide } \omega_1\end{array}\right.
- 결정을 내릴 때 오류가 나올 확률은,P( error )=\int_{-\infty}^{\infty} p( error,x) d x=\int_{-\infty}^{\infty} P( error \mid x) p(x) d x만일 모든 x에 대해 P(\operatorname{error} \mid x)를 작게 만든다면 이 적분은 가능한 작아야 한다.
Bayes Decision Rule (for minimizing the probability of error)
- Decide \omega_1 if p\left(\omega_1 \mid x\right) P\left(\omega_1\right)>p\left(\omega_2 \mid x\right) P\left(\omega_2\right) ; \omega_2 로 판정 otherwise
- \boldsymbol{p}(\boldsymbol{x}) : 는 결정에 있어서는 크게 중요하지 않음 \left(P\left(\omega_1 \mid x\right)+P\left(\omega_2 \mid x\right)=1\right)
Decide \omega_1 if p\left(\omega_1 \mid x\right) P\left(\omega_1\right)>p\left(\omega_2 \mid x\right) P\left(\omega_2\right) ; \omega_2 로 판정 otherwise
사후 확률의 역할을 강조. - 만일 어떤 x에 대해서p\left(x \mid \omega_1\right)=p\left(x \mid \omega_2\right)라면판정은전적으로사전확률에의해정해진다. - P\left(\omega_1\right)=P\left(\omega_2\right)라면판정은전적으로우도p\left(x \mid \omega_j\right)에근거하게된다.
Bayesion decion theory – continuious features(연속적 특징)
Bayesian Theory의 일반화
-둘 이상(more than one feature)의 특징을 사용하는 것을 허용하는 것 - 스칼라 x
를 특징vector x
로 대체 - x
는 특징공간이라고 부르는 d
-차원 유클리드 공간 Rd
에 속함
Bayesion decion theory – continuious features(연속적 특징)
Bayesian Theory의 일반화
-둘 이상(more than one feature)의 특징을 사용하는 것을 허용하는 것 - 스칼라 x 를 특징vector x 로 대체 - x 는 특징공간이라고 부르는 d-차원 유클리드 공간 \mathbb{R}^d에 속함
- 셋 이상(more than two states)의 자연의 상태를 허용하는 경우
- \left\{\omega_1, \ldots, \omega_c\right\}: c개의 자연의 상태(“categories”)의 유한 집합
- 분류 외의 행동을 허용하는 것
- \left\{\alpha_1, \ldots, \alpha_a\right\}: a개의 가능한 행동의 유한 집합
그림은 분류기준을 만들 때, 일정 수준 이하는 결정을 못하게 하는경우. - 사람이 해야함 .....확실한 것만 분류기가 분류하게 한다.
- 오류 확률(probability of error)보다 더 일반적이라 할 수 있는 손실 함수(loss function)를 도입. - 손실 함수는 각 행동의 비용을 정확하게 나타내며, 확률 측정을 판정으로 전환에 사용된다. \lambda\left(\alpha_i \mid \omega_j\right) : 자연의 상태가 \alpha_i 일 때, \omega_j 라는 행동을 취해서 초래되는 손실
행동 \alpha_i를 취하는 것과 관련된 기대 손실은 단순하게 R\left(\alpha_i \mid x\right)=\sum_{j=1}^c \lambda\left(\alpha_i \mid \omega_j\right) P\left(\omega_j \mid x\right)
-판정-이론 용어로는 기대 손실을 리스크라고 부르며, R\left(\alpha_i \mid x\right)를 조건부 리스크라고 부른다.
- 문제는 P\left(\omega_j\right)에 대해 전체적 리스크를 최소화하는 판정 룰을 찾는 것.
R=\int R(\alpha(x) \mid x) p(x) d x \quad R : 최소화된 전체적 리스크
- 전체적 리스크를 최소화하기 위한 조건부 리스크 계산 R\left(\alpha_i(x)\right)가 가능한 작도록 \alpha(x)가 선택된다면 전체적 리스크는 최소화
i=1, \ldots, a 에 대해 계산하고, R\left(\alpha_i \mid x\right) 가 최소인 행동 \alpha_i 를 선택
Bayesion decion theory – 두 부류(Two-Category) 분류
-\alpha_1: 자연의 참 상태가 \omega_1이라고 판정을 내리는 것
-\alpha_2: 자연의 참 상태가\omega_2이라고 판정을 내리는 것
-\lambda_{i j}=\lambda\left(\alpha_i \mid \omega_j\right): 자연의 참 상태가 \omega_j일 때 \omega_i라고 판정시 따르는 손실 이를 적용해서 R\left(\alpha_i \mid x\right)=\sum_{j=1}^c \lambda\left(\alpha_i \mid \omega_j\right)\left(\omega_j \mid x\right) 를 다시 쓰면
- 최소 리스크 판정 룰을 표현하는 다양한 방법 1. R\left(\alpha_1 \mid x\right)<R\left(\alpha_2 \mid x\right) 이면 \omega_1 로 판정 2. \left(\lambda_{21}-\lambda_{11}\right) P\left(\omega_1 \mid x\right)>\left(\lambda_{12}-\lambda_{22}\right) P\left(\omega_2 \mid x\right) 일 때 \omega_1 이라고 판정(사후확률로 표현) 3. \left(\lambda_{21}-\lambda_{11}\right) p\left(x \mid \omega_1\right) P\left(\omega_1\right)>\left(\lambda_{12}-\lambda_{22}\right) p\left(x \mid \omega_2\right) P\left(\omega_2\right) 이면 \omega_1 로 판정하고 아니면 \omega_2 로 판정 (Bayes공식을 사용함으로 사후 확률을 사전 확률과 조건부 밀도로 대체) 4. \lambda_{21}>\lambda_{11} 이라는 논리적 가정 하에서 만약 \frac{p\left(x \mid \omega_1\right)}{p\left(x \mid \omega_2\right)}>\frac{\lambda_{12}-\lambda_{22}}{\lambda_{21}-\lambda_{11}} \frac{P\left(\omega_2\right)}{P\left(\omega_1\right)} 이면 \omega_1 로 판정
(Likelihood ratio: 이 형태의 판정 룰은 확률 밀도들의 x-종속성에 초점을 맞춘다. p\left(x \mid \omega_j\right) 를 \omega_j 의 함수(즉, 우도 함수)로 간주하고 우도 비 \frac{p\left(x \mid \omega_1\right)}{p\left(x \mid \omega_2\right)} 를 만들 수 있다. 따라서 Bayes 판정 룰은 관찰 x 에 독립적인 어떤 문턱 값을 우도비가 넘으면 \omega_1 로 판정할 것을 요구하는 것으로 해석)
Bayesion decion theory – Minimum-error-rate Classification(최소 에러율 분류)
에러를 피하기 위해서는 자연의 상태와 차이가 가장 적은(오류를 최소화하는) 판정 룰을 찾는 것이 당연하다.
Zero-One loss function
\lambda\left(\alpha_i \mid \omega_j\right)=\left\{\begin{array}{ll}0 & i=j \\ 1 & i \neq j\end{array} i, j=1, \ldots, c\right.
만일 0-1 분류 손실을 채택하면 판정 경계들은 문턱치 \theta_{a} 에 의해 결정된다. 만약 손실함수가 \omega_{2} 를 \omega_{1} 로 오분류하는 것에 큰 패널티를 가한다면, 더 큰 문턱치 \ theta_{b} 를 가지고, R_{1} 은 더 작아진다.
Classifiers, Discriminant functions, and Decision surfaces
- 만일 \boldsymbol{g}_{\boldsymbol{i}(\boldsymbol{x})}>\boldsymbol{g}_{\boldsymbol{j}}(\boldsymbol{x}) \forall \boldsymbol{j} \neq \boldsymbol{i} 이면 특징 벡터 x 를 클레스 \omega_i 에 할당한다.
분류기
-분류기는 c개의 판별 함수를 계산하고 최대 판별식에 해당하는 부류를 선택하는 네트워크 또는 기계
g_i(x)=\left\{\begin{array}{c}g_1(x)=0.1 \\ g_2(x)=0.05 \\ \vdots \\ g_{n(x)}=0.85\end{array}\right. 중 가장 큰 것 선택
판정에 영향을 주지 않고 우리는 항상 모든 판별 함수들을 같은 양의 상수로 곱하거나 같은 상수를 더해서 이동시킬 수 있다. 더 일반적으로는 모든 g_i(x) 를 단조증가함수 f(\cdot) 에 의해 f\left(g_i(x)\right) 로 대체시, 그로인한 분류는 변하지 않는다. 이것은 현저한 분석 및 계산 단순화로 이끌 수 있다.
모든 판정 룰의 효과는 특징 공간을 c 개의 판정 영역 \mathcal{R}_1, \ldots, \mathcal{R}_c 로 나누는 것
두 분류 경우
이분기(dichotomizer) 두 부류 경우는 다부류의 일종이나 정통적으로 독립해 다뤄왔다. 두 판별 함수 대신 단일 판별 함수를 정의하고 판정하는 것이 더 보편적이다. g(x) \equiv g_1(x)-g_2(x)
g(x)>0 이면 \omega_1, 아니면 \omega_2 로 판정 \boldsymbol{g}(\boldsymbol{x})=\boldsymbol{P}\left(\boldsymbol{\omega}_1 \mid \boldsymbol{x}\right)-\boldsymbol{P}\left(\boldsymbol{\omega}_2 \mid \boldsymbol{x}\right) \boldsymbol{g}(\boldsymbol{x})=\ln \frac{\boldsymbol{p}\left(\boldsymbol{x} \mid \boldsymbol{\omega}_1\right)}{\boldsymbol{p}\left(\boldsymbol{x} \mid \boldsymbol{\omega}_2\right)}+\ln \frac{\boldsymbol{P}\left(\boldsymbol{\omega}_1\right)}{\boldsymbol{P}\left(\boldsymbol{\omega}_2\right)}
The normal density
왜 Normal density인가?
-분석의 용이함(해석학적으로 다루기 쉬움)으로, 다변량 normal밀도, 또는 Gaussian밀도는 많은 관심을 받았다.
-중요한 상황에 적합한 모델. class \omega_j에 특징벡터 x가 단일 또는 프로토타입 벡터 \mu_i의 연속적 값을 가지고 랜덤하게 오염된 버전일 경우에 적합.
Expectation (expected value) E[f(x)]=\int_{-\infty}^{\infty} f(x) p(x) d x 만약 특징 \mathrm{x} 의 값들이 이산 집합 \mathrm{D} 의 점이라면. E[f(x)]=\sum_{x \in D} f(x) P(x)
- 평균 \mu=E[x]=\int_{-\infty}^{\infty} x p(x) d x - 분산 \begin{aligned} & \sigma^2=E\left[(x-\mu)^2\right]=\int_{-\infty}^{\infty}(x-\mu)^2 p(x) d x \\ & -\quad \boldsymbol{p}(\boldsymbol{x}) \sim \boldsymbol{N}\left(\boldsymbol{\mu}, \boldsymbol{\sigma}^2\right) \end{aligned} x 는 평균 \mu와 분산 \sigma^2 에 의해 분포된다.
The normal density – 다변량 분포
p(\boldsymbol{x}) \sim N(\boldsymbol{\mu}, \boldsymbol{\Sigma}) \quad p(\boldsymbol{x})=\frac{1}{(2 \pi)^{d / 2}|\boldsymbol{\Sigma}|^{1 / 2}} \exp \left[-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^t \boldsymbol{\Sigma}^{-1}(\boldsymbol{x}-\boldsymbol{\mu})\right] - 평균 벡터 \text { - } \boldsymbol{\mu}=E[\boldsymbol{x}]=\int_{-\infty}^{\infty} \boldsymbol{x p}(x) d \boldsymbol{x} - 공분산 행렬 (Convariance) \Sigma=E\left[(\boldsymbol{x}-\boldsymbol{\mu})(\boldsymbol{x}-\boldsymbol{\mu})^t\right]=\int_{-\infty}^{\infty}(\boldsymbol{x}-\boldsymbol{\mu})(\boldsymbol{x}-\boldsymbol{\mu})^t p(x) d x{ }^*[x-\mu]=\left[\begin{array}{lll} \sigma_{11} & & \\ & \ddots & \\ & \sigma_{n n} \end{array}\right] - 통계적 독립성(statistical independence) 만약 x_i 와 x_j 가 통계적으로 독립적이면, \sigma_{i j}=0 일 것이다. 만약 모든 비대각선 요소들이 0 이면, p(x) 는 x 의 요소들에 대한 단변량 노멀 밀도들의 곱으로 축소된다.
- 독립적이거나 아니거나, 결합적으로(jointly) 노멀하게 분포 하는 랜덤 변수들의 선형 결합(combination)은 노멀하게 분포한다. \begin{aligned} & p(\boldsymbol{x}) \sim N(\boldsymbol{\mu}, \mathbf{\Sigma}) \\ & \boldsymbol{y}=\boldsymbol{A}^t \boldsymbol{x} \rightarrow p(\boldsymbol{y}) \sim N\left(\boldsymbol{A}^{\boldsymbol{t}} \boldsymbol{\mu}, \boldsymbol{A}^{\boldsymbol{t}} \boldsymbol{\Sigma} \boldsymbol{A}\right) \\ & * y=A^t y=\left[\begin{array}{lll} y_1 \\ y_2 \end{array}\right]=\left[\begin{array}{ccc} 1 & \cdots & 0 \\ \vdots & A & \vdots \\ 0 & \cdots & 1 \end{array}\right]\left[\begin{array}{l} x_1 \\ x_2 \end{array}\right] \end{aligned} -임의의 다변량 분포를 구형(spherical)분포로 변환(공분산 행렬이 항등 행렬 I 에 비례하는 분포)할 수 있다. (백색변환) A_\omega=\Phi \Lambda^{1 / 2} \boldsymbol{\Phi} : 열들이 \Sigma 인 정규직교 고유 벡터들인 행렬 \mathbf{\Lambda} : 해당 고윳값들의 대각선 행렬
- 다변량 정규분포는 \boldsymbol{d}+\boldsymbol{d}(\boldsymbol{d}+\mathbf{1}) / \mathbf{2} 개의 파라미터 즉, 평균 벡터 \boldsymbol{\mu} 의 요소들과 공분산 행렬 \boldsymbol{\Sigma} 에 의해 완전하게 정의된다.
- 아래 그림에서:↓ - 클러스터의 중심은 평균 벡터에 의해 결정 - 클러스터의 모양은 공분산 행렬에 의해 결정. - 상수 밀도의 점들의 위치는 (\boldsymbol{x}-\boldsymbol{\mu})^t \boldsymbol{\Sigma}^{-1}(\boldsymbol{x}-\boldsymbol{\mu}) 가 상수 인 초타원체들이다 - 이 초타원체들의 주축은 \Phi 에 의해 묘사되는 \boldsymbol{\Sigma} 의 고유 벡터들에 의해 주어지며, 고윳값들 (\boldsymbol{\Lambda}) 은 이 축들의 길이를 결정한다. - Mahalanobis distance (from x to \boldsymbol{\mu} ) 마할라노비스 거리 $r^2=(\boldsymbol{x}-\boldsymbol{\mu})^t \boldsymbol{\Sigma}^{-1}(\boldsymbol{x}-\boldsymbol{\mu}) (분산이 커지면, 거리는 작게 해석)
(PRML 2.3) The Gaussian Distribution
빨간색 선은 이차원 공간 x=\left(x_1, x_2\right) 상에서의 상수 가우시안 확률 분포의 타원형 표면을 나타낸다. 여기서 말도는 x=\mu 일 경우의 값의 \exp (-1 / 2) 에 해당한다. 타원의 축들은 공분산 행렬의 고유 벡터들 u_i 에 의해 정의 되 며, 각각의 축은 각각의 고윳값 \lambda_i 에 대응된다.
이차원 가우시안 분포에서의 상수확률 밀도의 경로. (a)는 공분산 행렬의 형태가 일반적일 경우 (b)는 공분산 행렬이 대각 행렬인 형태 (c)는 공분산행렬이 항등행렬의 상수배일 경우이며 이 경우 경로가 동심원의 형태를 띈다.
정규분포에 대한 판별 함수
- 최소 에러율 분류는 아래의 판별 함수로 달성될 수 있다. \begin{aligned} & p(\boldsymbol{x})= \frac{1}{(2 \pi)^{d / 2}|\boldsymbol{\Sigma}|^{1 / 2}} \exp \left[-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^t \boldsymbol{\Sigma}^{-1}(\boldsymbol{x}-\boldsymbol{\mu})\right] \text { 에 의해 } \\ & g_i(\boldsymbol{x})=-\frac{1}{2}\left(\boldsymbol{x}-\boldsymbol{\mu}_i\right)^t \boldsymbol{\Sigma}_i^{-1}\left(\boldsymbol{x}-\boldsymbol{\mu}_i\right)-\frac{d}{2} \ln 2 \pi-\frac{1}{2} \ln \left|\boldsymbol{\Sigma}_i\right|+\ln P\left(\omega_i\right)\end{aligned}
- 가장 간단한 경우 - 특징들이 통계적으로 독집적이고 각 특징이 같은 분산 \sigma^2를 가짐. - 기하학적으로 샘플들이 같은 크기의 초구 클러스터에 놓이는 상황 - i 번째 클래스에 대한 클러스터는 평균 벡터 \mu_i 가 중심으로 함. - \Sigma_{\mathrm{i}} 의 행렬식과 역의 계산이 쉬움
\boldsymbol{\Sigma}_i^{-1},\left|\boldsymbol{\Sigma}_i\right|, \ln 2 \pi 가 i 에 대해 독립 \rightarrow g_i(x)=-\frac{\left\|x-\mu_i\right\|^2}{2 \sigma^2}+\ln P\left(\omega_i\right) 여기서 \left\|x-\mu_i\right\|^2=\left(x-\mu_i\right)^t\left(x-\mu_i\right) 이며, 유클리드 놈을 나타냄.
\mathbf{w}^t\left(\mathbf{x}-\mathbf{x}_0\right) 여기서 \mathbf{w}=\boldsymbol{\mu}_i-\boldsymbol{\mu}_j and \mathbf{x}_0=\frac{1}{2}\left(\boldsymbol{\mu}_i+\boldsymbol{\mu}_j\right)-\frac{\sigma^2}{\left\|\boldsymbol{\mu}_i-\boldsymbol{\mu}_j\right\|^2} \ln \frac{P\left(\omega_i\right)}{P\left(\omega_j\right)}\left(\boldsymbol{\mu}_i-\boldsymbol{\mu}_j\right)
- 모든 클래스의 공분산 행렬이 동일하다. - 샘플들이 같은 크기와 모양의 초타원체 클러스터에 놓이는 상황에 해당 - i 번째 클래스의 클러스터는 평균 벡터 \boldsymbol{\mu}_i 를 중심으로 한다.
g_i(x)=-\frac{1}{2}\left(\boldsymbol{x}-\boldsymbol{\mu}_{\boldsymbol{i}}\right)^t \boldsymbol{\Sigma}_i^{-1}\left(\boldsymbol{x}-\boldsymbol{\mu}_i\right)-\frac{d}{2} \ln 2 \pi-\frac{1}{2} \ln \left|\boldsymbol{\Sigma}_i\right|+\ln P\left(\omega_i\right) \frac{d}{2} \ln 2 \pi,\left|\boldsymbol{\Sigma}_i\right| 가 i 에 대해 독립 \rightarrow g_i(\boldsymbol{x})=-\frac{1}{2}\left(\boldsymbol{x}-\boldsymbol{\mu}_i\right)^t \boldsymbol{\Sigma}_i^{-1}\left(\boldsymbol{x}-\boldsymbol{\mu}_i\right)-\ln P\left(\omega_i\right) - i 에 독립적인 2차 항 \boldsymbol{x}^t \boldsymbol{\Sigma}_i^{-1} \boldsymbol{x} 를 빼면, g_i(\boldsymbol{x})=\boldsymbol{w}_i \boldsymbol{x}+\omega_{i 0} 여기서 \boldsymbol{w}_i=\boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_i and \omega_{i 0}=-\frac{1}{2} \boldsymbol{\mu}_i^t \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_i+\ln P\left(\omega_i\right) 이 판별식들은 선형적이므로 그로 인한 경계는 초평면이다. 이 초평면의 경계 식은. \boldsymbol{w}^t\left(\boldsymbol{x}-\boldsymbol{x}_0\right)=1 where \boldsymbol{w}_i=\boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_i and \boldsymbol{x}_0=\frac{1}{2}\left(\boldsymbol{\mu}_i+\boldsymbol{\mu}_j\right)-\frac{\ln \left[P\left(\omega_i\right) / P\left(\omega_j\right)\right]}{\left(\boldsymbol{\mu}_i-\boldsymbol{\mu}_j\right)^t \boldsymbol{\Sigma}^{-1}\left(\boldsymbol{\mu}_i-\boldsymbol{\mu}_j\right)}\left(\boldsymbol{\mu}_i-\boldsymbol{\mu}_j\right) - \boldsymbol{w}=\boldsymbol{\Sigma}^{-1}\left(\boldsymbol{\mu}_i-\boldsymbol{\mu}_j\right) 는 일반적으로 \boldsymbol{\mu}_i-\boldsymbol{\mu}_j 방향이 아니기 때문에 영역을 분리하는 초평면은 일반적으로 이 평균들을 잇는 선에 직교하지 않는다.
Case3: \Sigma_i=\operatorname{arbitrary}( (임의적)
- 일반적인 정규분포의 경우 공분산 행렬은 각 부류마다 다르다. \begin{aligned} & g_i(x)=-\frac{1}{2}\left(\boldsymbol{x}-\boldsymbol{\mu}_i\right)^t \boldsymbol{\Sigma}_i^{-1}\left(\boldsymbol{x}-\boldsymbol{\mu}_i\right)-\frac{d}{2} \ln 2 \pi-\frac{1}{2} \ln \left|\boldsymbol{\Sigma}_i\right|+\ln P\left(\omega_i\right) \\ & \frac{1}{2} \ln 2 \pi \text { 만이 i에 대해 독립 } \\ & \rightarrow g_i(\boldsymbol{x})=\boldsymbol{x}^t \boldsymbol{W}_i \boldsymbol{x}+\boldsymbol{w}_i^t \boldsymbol{x}+\omega_{i 0^2} \\ & \text { where, } \boldsymbol{W}_i=-\frac{1}{2} \boldsymbol{\Sigma}_i^{-1}, \boldsymbol{w}_i=\boldsymbol{\Sigma}_i^{-1} \boldsymbol{\mu}_i \text { and } \\ & \omega_{i 0}=-\frac{1}{2} \boldsymbol{\mu}_i^t \boldsymbol{\Sigma}_i^{-1} \boldsymbol{\mu}_i-\frac{1}{2} \ln \left|\boldsymbol{\Sigma}_i\right|+\ln P\left(\omega_i\right) \end{aligned}
4개의 정규분포에 대한 판정 영역. 경계영역의 모양은 꽤 복잡해질 수 있다.
EXAMPLE1: 2차원 가우스 데이터에 대한 판정 영역
(에러확률과 적분)
정규 분포의 오차 범위
ROC(receiver operation characteristic)(수신기 동작 특성)
횡좌표는 허위 경고 확률이고, 세로 좌표는 히트 확률이다. 여기서는 히트 및 허위 경고율로부터 d’=3을 추론가능
Bayes decision theory-이산적 특징
- 많은 실제 응용에서 구성요소 (특징벡터) x 는 2진, 3진, 또는 더 높은 진수의 정수값을 가지고, x 는 m 개의 이산 값 v_1, \ldots, v_m 중 하나만 취할 수 있다. \int p\left(x \mid \omega_j\right) d x \rightarrow \sum_x P\left(x \mid \omega_j\right)
패턴인식의 방법론은 자연계, 특히 인간의 패턴 인식 체계에 대해 실제로 자연계가 이 문제를 어떻게 푸는가에 대한 지식에 영향을 받아 이뤄진다.
1.2 보기
예를 들어 생선 통조림 공장에서 생선을 분류하는 과정을 자동화하기를 원한다고 하자. 생선은 컨베이어 벨트에 실려 지나가며, 광학 센서를 이용해서 Sea bass salmon을 분류할 것이며, 카메라를 설치하여 sample 영상을 얻어 두 어종간의 외형적 차이(길이, 밝기, 폭, 지느러미 수와 모양, 입의 위치 등)을 적다보면, 이중 분류기에 사용할 특징이 나올 것이다. 이때, 영상의 노이즈, 또는 변화(밝기, 컨베이어위의 위치,. 잡영(static))도 주목해야 할 것이다.
그림 1.1분류될 생선은 먼저1. 카메라에 의해 감지되고,2. 전처리를 거친 뒤, Feature를 추출,3. Classification을 거쳐 최종적으로4. Sea Bass, Salmon인지를 추출할 것이다.보통 이 정보의 흐름은 소스로부터 분류기의 방향으로 흐르나, 처리 레벨이 변경될 수도 있고, 단계를 통합하는 경우도 있을 수 있다.
Sea bass와 Salmon의 모집단 간에 차이가 있다는 사실이 주어지면, 이들을 (보통 수학적 형태인 다른 묘사들)모델로 본다.
Pattern classification에서 전체를 지배하는 목표와 방식은 이 모델들의 class를 가정하고, 감지된 data를 처리해서 노이즈를 제거한 뒤, 감지된 모든 pattern에 대해 가장 잘 일치하는 모델을 선택하는 것이다. 전처리 과정에서는 segmentation 연산이 가능한데, 이때, 배경분리, 서로간에 분리가 이뤄진다.
이후 그 정보들이 Feature 추출기로 가면, 어떤 특징, 특성을 측정해서 데이터를 축소한다.
이 값들이 분류기도 가면, 이것들을 평가하고, 최종적으로 어종에 대한 판정을 내린다.
그렇다면 이 특징 추출기와 분류기가 어떻게 설계될 것인가를 고려하자면, 누군가가 Sea bass가 Salmon보다 더 길다고 정보를 알려줬다면, 이 사실은 이 어류에 대한 모델을 제공한 것이다.
모델: Seabass는 어떤 전형적 길이를 가지고, 그 길이는 Salmon보다 크다. 따라서 길이는 분명한 특징이 되며, 생선의 길이 l 을 통해 분류를 시도할 수 있을 것이다.
이를 위해 sample을 얻고 측정하고 결과들을 살펴보면 그림 1.2와 같다.
그림 1.2 두 부류의 길이 특징에 대한 히스토그램. * 로 표시된 값이 가장 작은 수의 err을 일으킬 것이다.
그림 1.3 두 부류의 밝기 특징에 대한 히스토그램. x* 로 표시된 값 하나만으로는 명확한 구분이 어렵다.
그림 1.2에서는 Seabass가 Salmon보다 다소 긴 것을 알려주지만, 사실 신뢰성은 떨어진다.
이번엔, 그림 1.3과 같이 밝기로 시험을 해보니, 상당히 만족스럽게 나옴을 알 수 있다.
다만, 이제까지 분류의 결과들은 비용이 같다고 가정되었다. 예를들어 Salmon을 Seabass로 판정하는 것과 그 역이 동일하다는 것. 하지만, Seamon을 샀는데 Seabass가 들었다면 더 강력한 항의가 있을 것이기에 이 비용은 현실적에서는 맞지 않다.
따라서 decision boundary를 왼쪽으로 더 이동시켜 Salmon으로 분류되는 Seabass의 수를 줄여야 한다. 이는 비용에 따라 더 왼쪽으로 이동할 수도, 오른쪽으로 이동할 수도 있다. 본질적으로 이러한 비용을 최소화하도록 판정경계를 나누는 것이 decision theory의 핵심이다.
판정과 관련된 비용을 알고 있어 최적의 기준 값 x*을 선택했다 해도, 결과가 만족스럽지 않다면, 더 나은 성능을 제공할 방법을 찾아야 한다. 즉, 여러 특징에 의존하게 된다.
이번엔, Seabass가 일반적으로 Salmon보다 폭이 더 넓다는 사실을 이용해보자. 밝기 x_1과 폭 x_2를 2차원 특징 공간의 점 또는 vector x로 축소시킨다. x=\left(\begin{array}{l}x_1 \\ x_2\end{array}\right)
이제 문제는 이 특징공간을 두 영역으로 나누는 것이고, 한 영역의 모든 점은 Seabass, 다른 영역은 Salmon이 될 것이다. sample에서 그림 1.4의 분포를 얻었다고 하자.
그림 1.4 Seabass와 Salmon의 밝기 및 폭 특징. 직선을 판정경계로 사용할 수 있을 것이다. 분류 에러는 그림1.3보다 낮으나 아직 어느정도 존재한다.
이 결과를 보면, 더 많은 특징을 사용하는 것이 꽤나 바람직하다. 이외에도 등지느러미의 꼭대기 각도, 눈의 배치(입-꼬리까지의 거리에 대한 비)같은 특징을 포함시킬 수 있을 것이다. 다만, 이 특징들은 중복될 수도 있고, 어떤 특징은 성능향상이 없을수도 있으며, 차원의 저주를 야기할 수 있다. 또한 측정 비용도 무시못할 요소이다.
그래서 두 특징들에 판정을 내리도록 강요된다 가정해보자. 만약 모델이 너무 복잡하다면, 그림1.5와 같은 복잡한 판정경계를 갖는다.
그림 1.5 지나치게 복잡한 모델은 복잡한 판정경계를 만들고, sample을 완벽하게 분류하겠지만, 실제로는 과적합으로 낮은 성능을 보일 것이다.
이 경우 sample은 완벽히 분류하겠지만 새로운 패턴에는 정확도가 떨어질 것이다. 이것이 일반화(General-Ization)에 대한 이슈이다. 사실상 그림 1.5는 특정 패턴에 과적합 되어 있다. 해결방법은 더 많은 학습 샘플을 구하는 것이지만, 이게 어려울 때는 다른 방법을 사용해야 한다. 그렇기에 실제 자연은 복잡한 판정경계가 아닐 것이라는 확신을 가지고 단순화한 것이 그림 1.6이다.
그림 1.6 훈련 집합에 대한 성능과 분류기의 단순성 간의 최적 절충(tradeoff)를 나타내고 있다. 이는 새 패턴들에 대해서도 최고의 정확도를 제공할 것이다.
이 경우 새로운 데이터에 더 좋은 결과를 보인다면, sample에 대해 조금 저조해도 만족할 수 있을 것이다. 하지만, 더 간단한 분류기가 좋다는 것을 어떻게 뒷받침할까? 그림 1.4가 1.5보다 좋다고 말할 수 있는가? 이 절충관계를 어떻게든 최적화할 수 있다고 가정하면, 시스템이 모델을 얼마나 잘 일반화할 수 있을것인지를 예측할 수 있는가? 이것이 바로 통계적 패턴 인식의 핵심 문제에 속한다.
우리의 판정은 특정 작업, 비용을 위한 것이며, 범용성을 가지에 만든다는 것은 어려운 도전이다. 기본적으로 분류는 그 패턴들을 만든 모델을 복구하는 작업이기에, 모델의 유형에 따라 분류 기법은 달라질 수 있다. 이러한 기법은 NeuralNet, 통계적 인식, 구문론적 패턴 인식 등 다양한 방법이 있다. 다만 거이 모든 문제에서의 중점은 구성성분간 구조적 관계가 간단하고 자연스레 드러나며, 패턴의 전형적 모델이 나타내질 수 있는 좋은 표현을 달성하는 것이다. 경우에 따라 패턴들은 실수값의 vector, 정렬된 속성, 관계에 대한 표사로 표현될 것인데, 어쨌든 비슷한 애들끼리는 서로 가까이 있고, 다른 애들끼리는 멀리 있게 되는 표현을 찾는 문제라 할 수 있다.
§음성 신호 저장 시 필요한 parameter (PCM, Pulse-Code Modulation 기준)
•Sampling rate ⁻단위 시간당(초당) sampling의 횟수 ⁻Nyquist theorem ⁎Sampling rate의 절반의 해당하는 주파수 대역까지 복원 가능함 ⁻Sampling rate는 음질을 결정한다. ⁎음악 저장에 많이 사용되는 sampling rate은 초당 44.1k(cd) • 사람의 가청 주파수 대역은 일반적으로 20Hz~20kHz로 알려져 있음 ⁎전화의 sampling rate : 초당 8k ⁎현재 음성 인식에 많이 사용 되는 sampling rate는 초당 16k임
•Sample 당 byte수 ⁻Sample당 2byte 사용 (216 = 65,536)
§음성 신호의 저장 방법(예제)
•가수가 10곡을 수록한 앨범을 발매했다. 이를 CD에 담았을 때, 전체 CD 중 burning된 부분은 CD 전체 면적의 몇 %인가? ⁻한 곡의 길이는 4분으로 가정 ⁻CD는 총 700MB를 저장한다고 가정 ⁻Sampling rate: 초당 44,100 ⁻Sample당 2byte 사용 ⁻Stereo로 녹음되었기 때문에 채널은 2개
•현재까지의 발화를 바탕으로 미래의 발화를 예측할 수 있는가? ⁻화자가 발화를 중지할 수 도 있고, 발화의 내용을 갑자기 바꿀 수 있음 따라서, 예측 가능하지 않음 ⁻예측 가능하지 않다면, modeling과 분석이 불가능함
• 사람의 성대를 하나의 발성 기관으로 본다면, 발성 기관의 물리적 한계(제약)로 인하여 어떠한 짧은 시간에 대하여 미래의 발화를 예측할 수 있음 ⁻음성은 quasi-stationary함 (짧은 구간에서만) ⁻다양한 실험을 바탕으로 window의 길이는 20ms로 도출됨
§음성 신호를 short integer type의 2차원 array로 저장함
•하나의 window에는 320개의 sample이 들어감
•2byte(short integer)형식의 2차원 array로 저장 ⁻C 언어에서는 short[T][320]의 형태로 표현됨
§MFCC feature 추출 과정
§Fast Fourier Transform(FFT)
•기본 가정: ⁻모든 주기적인 신호는 정현파(ex> sin, cos)의 합으로 나타낼 수 있다 ⁻모든 신호를 𝛼∗ sin 𝛽∗𝜋의 합의 형태로 표현 가능
§Time domain의 data를 frequency domain의 data로 변형
⁻Frequency domain으로 나타내어진 결과를 spectrum이라고 함
§예제
•음성 신호에서 fundamental frequency를 정의하려면? ⁻일반적으로 사용하는 16kHz sampling rate의 경우, 8kHz까지 복원 가능함 ⁻FFT 분석을 위해 8kHz를 일정 크기로 분리 (fft size: 2^10개) ⁻FFT 분석에는 복소수가 사용되는데, 실수와 허수의 벡터 성분이 대칭을 이루기 때문에 중복되는 값을 버리고 실수 값만을 사용 ⁎ (fft size/2 = 2^9개) ⁻fundamental frequency : 8000/512 = 15.625Hz ⁻음성 신호에서의 frequency는 15.625의 배수로 나타냄
§예제
•3125Hz, 6250Hz의 frequency를 가진 sine wave를 중첩 시킨 pcm
•Time과 frequency domain을 각 축으로 표현하고, amplitude를 색으로 표현한 것을 spectrogram이라 함
•FFT를 통해 음성 신호의 특징을 표현할 수 있음
§음소별로 spectrum의 모양이 다름
§Mel-filterbank & Log
•x(n) = v(n)*e(n) 을 음성이라고 가정 ⁻v(n) = 구강구조 ⁻e(n) = 성대에서 울리는 소리
•v(n)은 음성에 대한 정보 ⁻무슨 말을 했는지에 대한 정보
•e(n)은 화자에 대한 정보 ⁻어떤 사람이 말을 했는지에 대한 정보
•x(n) = v(n)*e(n) 이 마이크를 통해 입력됨 ⁻Time domain
•FFT를 통해 frequency domain으로 변환
⁻convolution이 곱셈으로 변환
•X(n)에서 화자 정보인 e(n)을 제거하기 위해 log를 씌워 덧셈으로 변환 ⁻Log(X(n)) = Log(V(n)) + Log(E(n))
•Discrete Cosine Transform(DCT) 과정을 통해 음성 인식에 있어 필요한 정보만을 담은 13차 vector를 생성
§MFCC feature 추출 과정
2.2음성 출력 단위 결정
§각 단어들은 컴퓨터 내부에서 어휘에 대한 index로 표현
•어휘(Vocabulary): 인식 가능한 단어들의 집합
•예: 어휘의 크기가 10만이고, 단어들은 어절단위로 구분 되었으며, 어휘 내 단어들을 가나다순으로 정렬했 을 때, 단어들이 아래의 순서의 단어로 어휘 내 위치해 있다고 가정한다. ⁻‘가자’: 12,844번째 단어 ⁻‘내일’: 24,882번째 단어 ⁻‘세시에’: 35,493번째 단어 ⁻‘오후’: 69,864번째 단어 ⁻‘학교’: 95,867번째 단어
•‘내일/오후/세시에/학교/가자’는 아래와 같이 index의 열로 표현된다. ⁻24,882/69,864/35,493/95,867/12,844
§한국어 문장 예제: (형태소 단위로 시퀀스를 구성)
•올 여름 평년보다 덥고 강수량 지역 차 크다 ⁻<s>/올/여름/평년/보다/덥/고/강수량/지역/차/크/다/</s> ⁻w0/w1/w2/w3/w4/w5/w6/w7/w8/w9/w10/w11/</s>
§영어 문장 예제: (단어 단위로 시퀀스를 구성)
•It is hotter than usual this summer, and the regional difference of precipitation is big ⁻<s>/It/is/hotter/than/usual/this/summer,/and/the/regional/difference/of/precipitation/is/big/</s> (<s>와 </s>는 각각 start, end를 나타내는 정의) ⁻w0/w1/w2/w3/w4/w5/w6/w7/w8/w9/w10/w11/w12/w13/w14/w15/w16
결정트리는 이해하기 쉬운 알고리즘으로써, 데이터에 있는 규칙을 학습으로 찾아내 트리 기반의 분류 규칙을 만드는 것이다. 단순하게 말하면 분기문을 만들어 구분한다고 생각하면 되겠다.
결정 트리의 경우 루트노드, 규칙이 있는 서브노드와 결정된 값이 들어있는 리프노드가 있다. 그리고 새로운 규칙이 추가될때 이에 기반한 서브트리가 생성된다.
이때, 많은 규칙이 있다는 것은 분류를 결정하는 방식이 복잡하다는 것이고, 이는 과적합, 성능저하의 원인이 된다.
결정트리의 핵심 아이디어는 불순도를 낮추는 것에 있다. 불순도란 정보의 복잡도(얼마나 균일한가)를 의미하며, 불순도를 수치화한 값에는 지니계수(Gini coefficient)와 엔트로피(Entropy)가 사용된다.
아무래도, 동일한 데이터에서도 결정트리는 여러 개가 나올 수가 있는데, 여기서 불순도를 이용해 더 효과적인 결정트리를 결정할 수 있다.
subNode에서 데이터가 분리되었을 때, 더 순도가 높은 데이터가 많이 나오게 되는 속성이 더 효과적이라고 할 수 있으며, 이때 순도가 높다는 것은 분류된 레이블 값이 동일한 것, 즉, 레이블 값이 다 같은 것을 말한다.
이때, 분류가 완료된 리프노드의 엔트로피는 0이다.
Decision Tree의 성능측정은 entropy(T)를 통해 이뤄지며 entropy(T)= -p+log(p+) -p-log(p-)이다.
이때, p+, p-는 각각 positive position(순도가 pure한 것/전체), nagative position(순도가 pure하지 않은 것/전체)를 말한다.
예를 들어 10개 데이터의 클레스를 분류한 결과, 7개는 예측이 잘 되지만 3개는 안된다면
p+, p-는 각각 [7+, 3-]이고, entropy(T)= -(7/10)log(7/10)-(3/10)log(3/10)=0.881 이다. (entropy 는 0to1 이다)
조금 더 살펴보자면, 결정트리 알고리즘에는 ID3, CART가 있는데, 이때 ID3은 엔트로피를 사용하고, CART는 지니계수를 사용한다. (이 내용 공부후 추가할 것)
랜덤 포레스트
랜덤 포레스트란 배깅을 사용하는 앙상블으로써, 배깅은 같은 알고리즘으로 여러 개의 모델을 만들어서 보팅으로 최종 결정하는 알고리즘이다.
기본적인 개념은 여러 개의 결정트리 모델이 전체 데이터를 샘플링해 개별적으로 학습을 수행 한 뒤, 모든 분류기가 보팅을 통해 예측 결정을 하는 방식이다.
이때, 보팅이란 여러개의 모델이 학습하고 예측한 결과를 보팅으로 최종 예측하는 것으로써, 하드보팅과 소프트 보팅이 있다.
하드 보팅은 일종의 다수결 원칙으로, 다수의 모델이 결정한 예측값을 최종 보팅값으로 선정하는 것이고, 소프트 보팅은 모델의 레이블 값 결정 확률을 모두 더하고 이를 평균해서 이 중 가장 확률이 높은 레이블 값을 최종 보팅 결과값으로 선정하는 것으로써, 일반적으로 소프트 보팅이 사용된다.
랜덤 포레스트의 모델별 알고리즘은 결정트리이지만, 각각의 모델이 학습하는 데이터는 전체 데이터에서 일부가 중첩되도록 샘플링된 데이터셋이다. 이렇게 여러 개의 데이터셋을 중첩되게 분리하는 것을 부트스트레핑(bootstrapping)분할 방식이라고 하며,
‘Model evaluation, model selection, and algorithm selection in machine learning Part II – Bootstrapping and uncertainties, Setabstian Raschka
이렇게 부트스트레핑으로 분할된 데이터셋에 결정트리 모델을 각각 적용하는 것이 랜텀 포레스트이다.
GBM
다음으로 GBM을 살펴보면
부스팅 알고리즘이란 여러 개의 약한 학습기를 순차적으로 학습-예측하며 잘못 예측된 데이터에 가중치를 부여하여 오류를 개선하며 학습하는 것이다.
대표적으로 AdaBoost와 GradientBoost가 있다.
KNN
KNN을 먼저 설명하자면 이건 매우 쉽다.
간단하게 가장 가까운 점 몇개를 가지고 분류하겠다는 문제.
http://dmml.asu.edu/smm
http://dmml.asu.edu/smm
예측하고 싶은 data에서 가장 가까운 k개의 이웃을 구하고, 거리를 measure하고, 그들의 class값을 체크한 뒤 조정해서 예측하는 것이다.
다음이 SVM인데, 이는 기본적으로 그룹을 분리하기 위해, 데이터들과 가장 거리가 먼 초평면을 선택하여 분리하는 방법을 말한다.
각 훈련 데이터 샘플 (x_{i},y_{i})마다 잉여 변수를 대응시켜, 샘흘이 마진의 폭 안으로 ξ_{i}만큼 파고드는 것을 용인해주는 것이다.
-커널트릭
eigen vector을 잘 설명해주는 그림이 있어 위키피디아에서 가져왔다.
In this shear mapping the red arrow changes direction, but the blue arrow does not. The blue arrow is an eigenvector of this shear mapping because it does not change direction, and since its length is unchanged, its eigenvalue is 1 _https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectorsA 2×2 real and symmetric matrix representing a stretching and shearing of the plane. The eigenvectors of the matrix (red lines) are the two special directions such that every point on them will just slide on them.https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectorsThe transformation matrix A = {\displaystyle \left[{\begin{smallmatrix}2&1\\1&2\end{smallmatrix}}\right]} preserves the direction of purple vectors parallel to v λ=1 = [1 −1] T and blue vectors parallel to v λ=3 = [1 1] T . The red vectors are not parallel to either eigenvector, so, their directions are changed by the transformation. The lengths of the purple vectors are unchanged after the transformation (due to their eigenvalue of 1), while blue vectors are three times the length of the original (due to their eigenvalue of 3). See also: An extended version, showing all four quadrants .https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors
SVM
Naive Bayes
다음으로 Naive Bayes Learning을 살펴보면,
기본적 아이디어는 조건부 확률을 말하는 것으로 예를 들어 2개의 random x,y가 있을 때 x의 조건하에 y일 확률을 말한다.
http://dmml.asu.edu/smm
즉 어떤 x가 주어졌을 때 어떤 클래스에 속할 확률을 구해서 그중 가장 큰 확률을 주는 x가 y라고 보겠다는 것이다.
예를 들자면,
http://dmml.asu.edu/smm
위와 같은 표가 주어진다고 하자.
8번째에서 내가 골프를 칠 것인가를 결정하자면\sum_{n=1}^{100} {n}
http://dmml.asu.edu/smm
골프를 칠 것인가가 Yes일 떄의 확률은 \frac{sunny}{Y일때}\frac{mild}{Y일때}\frac{high}{Y일때}\frac{\frac{Y}{전체}}{P(i_{8})}=\frac{1}{4}\frac{1}{4}\frac{2}{4}\frac{\frac{4}{7}}{P(i_{8})}=\frac{1}{56P(i_{8})} 이고,