Bayes rule in practice: definition and parameter estimation

A slecture by ECE student Chuohao Tang

Partly based on the ECE662 Spring 2014 lecture material of Prof. Mireille Boutin.

Content:

1 Bayes rule for Gaussian data

Assume we have two classes $c_1, c_2$, and we want to classify the D-dimensional data $\left\{{\mathbf{x}}\right\}$ into these two classes. To do so, we investigate the posterior probabilities of the two classes given the data, which are given by $p(c_i|\mathbf{x})$, where $i=1,2$ for a two-class classification. Using Bayes' theorem, these probabilities can be expressed in the form

$p(c_i|{\mathbf{x}})=\frac{p({\mathbf{x}}|c_i)P(c_i)}{p({\mathbf{x}})}$

where $P(c_i)$ is the prior probability for class $c_i$.

We will classify the data to $c_1$ if

\begin{align} p(c_1|\mathbf{x}) &\geq p(c_2|\mathbf{x}) \\ \Leftrightarrow \frac{p({\mathbf{x}}|c_1)P(c_1)}{p({\mathbf{x}})} &\geq \frac{p({\mathbf{x}}|c_2)P(c_2)}{p({\mathbf{x}})}\\ \Leftrightarrow {p({\mathbf{x}}|c_1)P(c_1)} &\geq {p({\mathbf{x}}|c_2)P(c_2)}\\ \Leftrightarrow g({\mathbf{x}})=ln {p({\mathbf{x}}|c_1)P(c_1)} &- ln{p({\mathbf{x}}|c_2)P(c_2)} \geq 0 \end{align}

and vise versa. Here $g({\mathbf{x}})$ is the discriminant function.

For a D-dimensional vector $\mathbf{x}$, the multivariate Gaussian distribution takes the form

$p(\mathbf{x}|\mathbf{\mu, \Sigma}) = \frac{1}{(2\pi)^{D/2}}\frac{1}{|{\mathbf{\Sigma}}|^{1/2}}exp\left[ {-\frac{1}{2}({\mathbf{x}}_n - \mathbf{\mu})^T\mathbf{\Sigma}^{-1}({\mathbf{x}}_n - \mathbf{\mu})} \right]$

where $\mathbf{\mu}$ is a D-dimensional mean vector, $\mathbf{\Sigma}$ is a D×D covariance matrix, and $|\mathbf{\Sigma}|$ denotes the determinant of $\mathbf{\Sigma}$.

Then the discriminant function will be

\begin{align} g({\mathbf{x}})&=ln {p({\mathbf{x}}|c_1)P(c_1)} - ln{p({\mathbf{x}}|c_2)P(c_2)} \\ &=\left[ {-\frac{1}{2}({\mathbf{x}}_n - \mathbf{\mu}_1)^T\mathbf{\Sigma}_1^{-1}({\mathbf{x}}_n - \mathbf{\mu}_1)} -ln{|{\mathbf{\Sigma}}_1|^{1/2}}+P(c_1)\right]-\left[ {-\frac{1}{2}({\mathbf{x}}_n - \mathbf{\mu}_2)^T\mathbf{\Sigma}_2^{-1}({\mathbf{x}}_n - \mathbf{\mu}_2)} -ln{|{\mathbf{\Sigma}}_2|^{1/2}}+P(c_2)\right] \end{align}.

So if $g({\mathbf{x}})\geq 0$, decide $c_1$; If $g({\mathbf{x}}) < 0$, decide $c_2$.

For k-classes classification problem, we decide the data belongs to $c_i$, where $i=1,...,k$ if

$arg \max \limits_{i} p({\mathbf{x}}|c_i)P(c_i).$

2 Procedure

• Obtain training and testing data

We divide the sample data into training set and testing set. Training data is used to estimate the model parameters, and testing data is used to evaluate the accuracy of the classifier.

• Fit a Gaussian model to each class
• Parameter estimation for mean,variance
• Estimate class priors

We will discuss details to estimate these parameters in the following section.

• Calculate and decide

After obtaining the estimated parameters, we can calculate and decide which class a testing sample belongs to using Bayes rule.
\begin{align}if \ p({\mathbf{x}}|c_1)P(c_1)>p({\mathbf{x}}|c_2)P(c_2)\ decide\ c_1\\ if \ p({\mathbf{x}}|c_1)P(c_1)<p({\mathbf{x}}|c_2)P(c_2)\ decide\ c_2 \end{align}

3 Parameter estimation

Given a data set $\mathbf{X}=(\mathbf{x}_1,...,\mathbf{x}_N)^T$ in which the observations $\{{\mathbf{x}_n}\}$ are assumed to be drawn independently from a multivariate Gaussian distribution (D dimension), we can estimate the parameters of the distribution by maximum likelihood. The log likelihood function is given by

$ln p(\mathbf{x}|\mathbf{\mu, \Sigma}) = -\frac{ND}{2}ln(2\pi)-\frac{N}{2}ln(|\mathbf{\Sigma}|)-{\frac{1}{2}\sum\limits_{n=1}^{N}({\mathbf{x}}_n - \mathbf{\mu})^T\mathbf{\Sigma}^{-1}({\mathbf{x}}_n - \mathbf{\mu})}.$

By simple rearrangement, we see that the likelihood function depends on the data set only through the two quantities

$\sum\limits_{n=1}^{N}\mathbf{x}_n, \sum\limits_{n=1}^{N}{\mathbf{x}}_n{\mathbf{x}}_n^T.$

These are the sufficient statistics for the Gaussian distribution. The derivative of the log likelihood with respect to $\mathbf{\mu}$ is

$\frac{\partial}{\partial\mathbf{\mu}} ln p(\mathbf{x}|\mathbf{\mu, \Sigma})= \sum\limits_{n=1}^{N}\mathbf{\Sigma}^{-1}(\mathbf{x}_n - \mathbf{\mu})$

and setting this derivative to zero, we obtain the solution for the maximum likelihood estimate of the mean

${\mathbf{\mu}}_{ML}=\frac{1}{N} \sum\limits_{n=1}^{N} {\mathbf{x}}_n.$

Use similar method by setting the derivative of the log likelihood with respect to $\mathbf{\Sigma}$ to zero, we obtain and setting this derivative to zero, we obtain the solution for the maximum likelihood estimate of the mean

${\mathbf{\Sigma}}_{ML}=\frac{1}{N} \sum\limits_{n=1}^{N}({\mathbf{x}}_n - {\mathbf{\mu}}_{ML})({\mathbf{x}}_n - {\mathbf{\mu}}_{ML})^T.$

To estimate the class priors, we will count how much data are there for each class, so

\begin{align}P(c_1)\approx N_{c_1}/N\\ P(c_2)\approx N_{c_1}/N \end{align}

4 Example

• 1-D case

• 2-D case

Suppose we have 200 2D training samples and 200 testing data. The parameters of the Gaussian distribution from which we drawn samples are

\begin{align} P({\mathbf{\omega}}_1)=0.4&, P({\mathbf{\omega}}_2)=0.6\\ {\mathbf{\mu}}_1=[6.0\ \ 16.0]^T &, {\mathbf{\mu}}_2=[5.4\ \ 20.0]^T\\ {\mathbf{\Sigma}}_1=\left[\begin{array}{lcr} 0.1 & 0\\ 0 & 1.0 \end{array}\right]&,{\mathbf{\Sigma}}_2=\left[\begin{array}{lcr} 0.5 & 0\\ 0 & 2.0 \end{array}\right] \end{align}

Using training data, we obtain the estimated parameters as follows:

\begin{align} P_{est}({\mathbf{\omega}}_1)=0.44&, P_{est}({\mathbf{\omega}}_2)=0.55\\ {\mathbf{\mu}}_{1ML}=[6.1\ \ 16.0]^T &, {\mathbf{\mu}}_{2ML}=[5.4\ \ 19.8]^T\\ {\mathbf{\Sigma}}_{1ML}=\left[\begin{array}{lcr} 0.009 & 0.011\\ 0.011 & 0.84 \end{array}\right]&,{\mathbf{\Sigma}}_{2ML}=\left[\begin{array}{lcr} 0.2 & 0.042\\ 0.042 & 3.1 \end{array}\right] \end{align}

The error rates are:

\begin{align} error\ rate (\omega_1 \ misclassified\ as\ \omega_2)=4.05%\\ error\ rate (\omega_2 \ misclassified\ as\ \omega_1)=3.97% \end{align}

5 Summary