一、贝叶斯决策论
设输入空间$\mathcal{X} \in \Bbb R^{d}$是$d$维向量的集合,输出空间为标签集合$\mathcal{Y}=\left\{c_{1}, c_{2}, \dots, c_{N} \right\}$,$X$是定义在输入空间上的随机变量,$Y$是定义在输出空间上的随机变量,$P(X,Y)$是$X$和$Y$联合概率分布,训练集$D=\left\{(\boldsymbol{x}_{1}, y_{1}), (\boldsymbol{x}_{2}, y_{2}), \dots, (\boldsymbol{x}_{m}, y_{m})\right\}$,由$P(X,Y)$独立同分布地产生。
对于标签集合$\mathcal{y}=\left\{c_{1}, c_{2}, \dots, c_{N} \right\}$,$\lambda_{ij}$是将一个真实标记为$c_{j}$的样本误分类为$c_{i}$所产生的损失。将$\boldsymbol{x}$分类为$c_{i}$所产生的期望损失即条件风险为:
$$
R\left(c_{i} | \boldsymbol{x}\right)=\sum_{j=1}^{N} \lambda_{i j} P\left(c_{j} | \boldsymbol{x}\right)
$$
我们的目标是最小化总体风险:
$$
R(h)=\mathbb{E}_{\boldsymbol{x}}[R(h(\boldsymbol{x}) | \boldsymbol{x})]
$$
$h$为判定准则:$h : \mathcal{X} \mapsto \mathcal{Y}$。
贝叶斯判定准则:为最小化总体风险,只需在每个样本上选择哪个能使条件风险$R(c|\boldsymbol{x})$最小的标签,即:
$$
h^{*}(\boldsymbol{x})=\underset{c \in \mathcal{Y}}{\arg \min } R(c | \boldsymbol{x})
$$
$h^{\ast}$是贝叶斯最优分类器,$R(h^{\ast})$是贝叶斯风险。
对于误判损失$\lambda_{ij}$可以采用0-1损失:
$$
\lambda_{i j}=\left\{\begin{array}{ll}{0,} & {\text { if } i=j} \\
{1,} & {\text { otherwise }}\end{array}\right.
$$
此时条件风险可写为:$R(c | \boldsymbol{x})=1-P(c | \boldsymbol{x})$,最优贝叶斯分类器为:
$$
h^{*}(\boldsymbol{x})=\underset{c \in \mathcal{Y}}{\arg \max } P(c | \boldsymbol{x})
$$
要得到最优分类器,首先要得到后验概率$P(c | \boldsymbol{x})$:
$$
P(c | \boldsymbol{x})=\frac{P(\boldsymbol{x}, c)}{P(\boldsymbol{x})}
$$
根据贝叶斯定理,上式可写为:
$$
P(c | \boldsymbol{x})=\frac{P(c) P(\boldsymbol{x} | c)}{P(\boldsymbol{x})}
$$
$P(c)$是先验概率,$P(\boldsymbol{x}|c)$是条件概率或似然,$P(\boldsymbol{x})$与标签无关,因此贝叶斯法是学习$P(c)$及$P(\boldsymbol{x}|c)$。
- 对于$P(c)$,根据大数定律,当训练集包含充足的独立同分布样本时,$P(c)$可以通过样本出现的频率来估计。
- 对于$P(\boldsymbol{x}|c)$,有指数级的参数,样本取值可能在训练集中未出现,直接使用频率估计不可行。
二、朴素贝叶斯分类器
朴素贝叶斯采用属性条件独立假设,对已知类别,假设所有属性相互独立,即:
$$P(\boldsymbol{x}|c)=P(x_{1}, x_{2}, \dots, x_{d}|c)=\prod_{j=1}^dP(x_{i}|c)$$
则$P(c | \boldsymbol{x})$可写为:
$$
P(c | \boldsymbol{x})=\frac{P(c) P(\boldsymbol{x} | c)}{P(\boldsymbol{x})}=\frac{P(c)}{P(\boldsymbol{x})} \prod_{i=1}^{d} P\left(x_{i} | c\right)
$$
那么贝叶斯判定准则为:
$$
h_{n b}(\boldsymbol{x})=\underset{c \in \mathcal{Y}}{\arg \max } P(c) \prod_{i=1}^{d} P\left(x_{i} | c\right)
$$
令$D_{c}$表示训练集$D$中第$c$类样本的集合,那么容易得先验概率为:
$$
P(c)=\frac{\left|D_{c}\right|}{|D|}
$$
再令$D_{c,x_{i}}$表示$D_{c}$中在第$i$个属性上取值为$x_{i}$的样本集合,那么条件概率可估计为:
$$
P\left(x_{i} | c\right)=\frac{\left|D_{c, x_{i}}\right|}{\left|D_{c}\right|}
$$
当某个属性在训练集中没有与某个类别同时出现时,在连乘时会出现0,此时可以用拉普拉斯修正:
$$
\begin{aligned}
\hat{P}(c) &=\frac{\left|D_{c}\right|+1}{|D|+N} \\
\hat{P}\left(x_{i} | c\right) &=\frac{\left|D_{c, x_{i}}\right|+1}{\left|D_{c}\right|+N_{i}} \end{aligned}
$$
$N$为类别数,$N_{i}$为第$i$个属性可能的取值数目。
参考资料
- 周志华《机器学习》
- 李航《统计学习方法》