# 附 第二章作业

## 题目

设以下模式类别具有正态概率密度函数：

$$
\omega\_1 : {(0\ 0)^T,(2\ 0)^T,(2\ 2)^T,(0\ 2)^T} \ \omega\_2 : {(4\ 4)^T,(6\ 4)^T,(6\ 6)^T,(4\ 6)^T}
$$

（1）设$$P(\omega\_1)=P)\omega\_2=\frac{1}{2}$$，求这两类模式之间的贝叶斯判别界面方程式。

（2）绘出判别界面。

### 解

#### （1）判别界面方程式

由

$$
m\_i = \frac{1}{N}\sum\_{j=1}^{N\_i}x\_{ij} \ C\_i = \frac{1}{N}\sum\_{j=1}^{N\_i}(x\_{ij}-m\_i)(x\_{ij}-m\_i)^T
$$

得：

$$
\begin{align} \&m\_1 =\frac14\sum\_{j=1}^4x\_{1j}= (1\ 1)^T \nonumber \ \&m\_2 =\frac14\sum\_{j=1}^4x\_{2j}= (5\ 5)^T \ \&C\_1 = \frac14\sum\_{j=1}^4(x\_{1j}-m\_1)(x\_{1j}-m\_1)^T= \begin{pmatrix} 1 & 0\ 0 & 1 \end{pmatrix} \ \&C\_2 = \frac14\sum\_{j=1}^4(x\_{2j}-m\_2)(x\_{2j}-m\_2)^T= \begin{pmatrix} 1 & 0\ 0 & 1 \end{pmatrix} \ \&C^{-1}= \begin{pmatrix} 1 & 0\ 0 & 1 \end{pmatrix} \end{align}
$$

带入判别式有：

$$
\begin{align} d\_1(x) - d\_2(x) &= \ln P(\omega\_1) - \ln P(\omega\_2) + (m\_1 - m\_2)^TC^{-1}x - \frac{1}{2}m\_1^TC^{-1}m\_1 + \frac{1}{2}m\_2^TC^{-1}m\_2 \nonumber \ &=-4x\_1-4x\_2 + 24 = 0 \end{align}
$$

#### （2）绘图

绘制图像如下图所示：

![image-20230925093502582](https://4038108263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQvX394T4tC7TQRUQRFUu%2Fuploads%2Fgit-blob-f5f3ee8cb4c3182e982c84cb3c5158590419e08c%2F%E8%B4%9D%E5%8F%B6%E6%96%AF.png?alt=media)

### 附加

使用python实现：

```python
import numpy as np
import matplotlib.pyplot as plt

w1 = np.array([[0, 0], [2, 0], [2, 2], [0, 2]])
w2 = np.array([[4, 4], [6, 4], [6, 6], [4, 6]])

m1 = np.mean(w1, axis=0)
m2 = np.mean(w2, axis=0)

cov1 = np.cov(w1.T, bias=True)
cov2 = np.cov(w2.T, bias=True)

inv_cov1 = np.linalg.inv(cov1)
inv_cov2 = np.linalg.inv(cov2)

w = np.dot((m1 - m2), inv_cov1)
b = -0.5 * np.dot(m1, np.dot(inv_cov1, m1)) + 0.5 * np.dot(m2, np.dot(inv_cov2, m2))


def discriminant_function(_x):
    return -(w[0] * _x + b) / w[1]


x = np.linspace(-2, 7, 100)
plt.plot(x, discriminant_function(x), 'r-', label='Discriminant')
plt.scatter(w1[:, 0], w1[:, 1], c='blue', label='ω1')
plt.scatter(w2[:, 0], w2[:, 1], c='green', label='ω2')
plt.legend()

plt.show()
```
