机器学习——朴素贝叶斯
本文最后更新于 567 天前,其中的信息可能已经有所发展或是发生改变。

一、贝叶斯决策论

设输入空间$\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$个属性可能的取值数目。

参考资料

  • 周志华《机器学习》
  • 李航《统计学习方法》
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇