机器学习中的贝叶斯决策
朴素贝叶斯决策
概念
对于分类器,首先我们需要让机器学习如何分类。在此之前,总得先有类别。将用作机器学习分类的数据称作样本,首先将需要学习的样本进行分类,记作$\omega_i$,对其中每一类占总样本空间的比例,称为先验概率,记作$P(\omega_i)$,显然我们有
$$\sum_{i=1}^nP(\omega_i)=1$$然后我们需要选定一个对象的特征,用变量$x$表示,对于每一类别下的每一个个体,其都会有一个特征,但是这个特征值可能不同,我们可以通过特征值的不同,对不同个体进行分类。但是,不同的类别下的个体的特征值可能相同,这又该怎么办呢? 我们引入似然概率,记作$P(x|\omega_i)$,表示在类$\omega_i$中,特征值$x$的发生概率,不难得到
$$P(x|\omega_i)=\frac{P(x, \omega_i)}{P(\omega_i)}$$我们关心的是在观测到特征值$x$后判断其属于某一类的可能性,所以我们更关心的是$P(\omega_i|x)$,不难得出
$$P(\omega_i|x)=\frac{P(x, \omega_i)}{P(x)}=\frac{P(x|\omega_i)P(\omega_i)}{P(x)}$$其中
$$P(x)=\sum_{i=1}^nP(x|\omega_i)P(\omega_i)$$这样,当我们观测到特征值$x$出现时,就可以通过训练样本中得出的特征值$x$属于某个类的概率来决定将此个体分为哪一类了。
举例
我们现在要做一个二分类器来区分猫与狗,选定的特征为猫与狗的体长。 那么我们就可以知道$\omega_1=cat, \omega_2=dog$,同时$x$表示体长(这里将体长分为不同的等级,取离散值$x$)。
经过对样本的观察得到如下结果。
| 特征值 | 猫 | 狗 |
|---|---|---|
| 1 | 4 | 0 |
| 2 | 4 | 2 |
| 3 | 0 | 4 |
| 4 | 0 | 4 |
现在假设我们(机器)观测到了特征值$x$=2的个体,但是样本下既可以是猫,也可以是狗,就需要使用贝叶斯朴素判别法来进行判断。 显然,我们有
$$P(\omega_1|x)=\frac{P(\omega_1, x)}{P(x)}=\frac{P(x|\omega_1)P(\omega_1)}{P(x|\omega_1)P(\omega_1)+P(x|\omega_2)P(\omega_2)}$$其中,我们不难得到
$$P(x|\omega_1)=\frac{1}{2}$$$$P(x|\omega_2)=\frac{1}{5}$$
$$P(\omega_1)=\frac{4}{9}$$
$$P(\omega_2)=\frac{5}{9}$$
所以有
$$P(\omega_1|x)=\frac{2}{3}$$$$P(\omega_2|x)=\frac{1}{3}$$
从而,机器做出决定,特征值$x=2$的个体有更大的概率是猫,所以它会做出猫的分类。当然,这里仅仅是举个例子,实际上的判断是经过多种特征综合分析得出的结果,更为复杂。