【机器学习理论】朴素贝叶斯网络
基础知识:
先验概率:对某个事件发生的概率的估计。可以是基于历史数据的估计,可以由专家知识得出等等。一般是单独事件概率。
后验概率:指某件事已经发生,计算事情发生是由某个因素引起的概率。一般是一个条件概率。
条件概率:条件事件发生后,另一个事件发生的概率。一般的形式为
P
(
B
∣
A
)
P(B|A)
P(B∣A),表示
A
A
A发生的条件下
B
B
B发生的概率。
P
(
B
∣
A
)
=
P
(
A
B
)
P
(
A
)
P(B|A) = \frac {P(AB)}{P(A)}
P(B∣A)=P(A)P(AB)
贝叶斯公式基于先验概率,计算后验概率的方法;公式为:
P
(
A
∣
B
)
=
P
(
B
∣
A
)
⋅
P
(
A
)
P
(
B
)
P(A|B) = \frac {P(B|A) \cdot P(A)}{P(B)}
P(A∣B)=P(B)P(B∣A)⋅P(A)
- P ( A ∣ B ) P(A∣B) P(A∣B): 在事件 B B B 发生的条件下,事件 A A A 发生的概率(后验概率)。
- P ( B ∣ A ) P(B | A) P(B∣A):在事件 A A A 发生的条件下,事件 B B B 的发生概率(似然概率)。
- P ( A ) P(A) P(A):事件 A A A 发生的先验概率(先验知识)。
- P ( B ) P(B) P(B):事件 B B B 发生的总概率。
贝叶斯公式可以从条件概率和全概率公式推导得出:
- 条件概率定义:
P ( A ∣ B ) = P ( A ∩ B ) P ( B ) , P ( B ∣ A ) = P ( A ∩ B ) P ( A ) P(A | B) = \frac {P(A \cap B)}{P(B)}, P(B|A) = \frac {P(A \cap B)}{P(A)} P(A∣B)=P(B)P(A∩B),P(B∣A)=P(A)P(A∩B) - 公式联立:
P ( A ∩ B ) = P ( B ∣ A ) ⋅ P ( A ) = P ( A ∣ B ) ⋅ P ( B ) P(A \cap B) = P(B|A) \cdot P(A) = P(A | B) \cdot P(B) P(A∩B)=P(B∣A)⋅P(A)=P(A∣B)⋅P(B) - 整理得到贝叶斯公式:
P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A | B) = \frac {P(B | A) P(A)}{P(B)} P(A∣B)=P(B)P(B∣A)P(A)
- 贝叶斯公式:将先验概率 P ( A ) P(A) P(A)、似然概率 P ( B ∣ A ) P(B∣A) P(B∣A) 和证据 P ( B ) P(B) P(B) 结合,计算后验概率 P ( A ∣ B ) P(A∣B) P(A∣B)。
朴素贝叶斯做出了一个假设”属性条件独立假设“:对所有已知标签的样本,假设每个属性独立地对标签结果产生影响。(这是一个很强的条件)
假设样本为:
x
=
{
a
1
,
a
2
,
.
.
.
,
a
d
}
x=\{a_{1}, a_{2}, ..., a_{d} \}
x={a1,a2,...,ad},label为
Y
=
{
c
1
,
c
2
,
c
3
,
.
.
.
,
c
n
}
Y = \{c_{1}, c_{2}, c_{3}, ...,c_{n} \}
Y={c1,c2,c3,...,cn};则计算这样一个样本
x
x
x 的所属类别的公式为:
P
(
c
k
∣
x
)
=
max
{
P
(
c
1
∣
x
)
,
P
(
c
2
∣
x
)
,
P
(
c
3
∣
x
)
,
.
.
.
,
P
(
c
n
∣
x
)
}
P(c_{k} | x) = \max \{ P(c_{1} |x), P(c_{2} | x), P(c_{3} | x), ..., P(c_{n} |x)\}
P(ck∣x)=max{P(c1∣x),P(c2∣x),P(c3∣x),...,P(cn∣x)}
基于条件独立假设;可以得到
P
(
c
∣
x
)
=
P
(
c
)
P
(
x
∣
c
)
P
(
x
)
=
P
(
c
)
P
(
x
)
∏
i
=
1
d
P
(
x
i
∣
c
)
P(c|x) = \frac {P(c)P(x|c)}{P(x)} = \frac {P(c)}{P(x)} \prod_{i=1}^{d} P(x_{i}|c)
P(c∣x)=P(x)P(c)P(x∣c)=P(x)P(c)i=1∏dP(xi∣c)
其中
d
d
d为属性数目,
x
i
x_{i}
xi为
x
x
x 在第
i
i
i 个属性上的取值。
我们重写上述公式:
h
n
b
(
x
)
=
max
{
P
(
c
1
∣
x
)
,
P
(
c
2
∣
x
)
,
P
(
c
3
∣
x
)
,
.
.
.
,
P
(
c
n
∣
x
)
}
=
arg
max
c
∈
Y
P
(
c
)
P
(
x
)
∏
i
=
1
d
P
(
x
i
∣
C
)
=
arg
max
c
∈
Y
P
(
c
)
∏
i
=
1
d
P
(
x
i
∣
C
)
\begin{align} h_{nb}(x) &= \max \{ P(c_{1} |x), P(c_{2} | x), P(c_{3} | x), ..., P(c_{n} |x)\} \\ &= \arg \max_{c \in Y} \frac {P(c)}{P(x)} \prod_{i=1}^{d}P(x_{i} | C) \\ &= \arg \max_{c \in Y} P(c) \prod_{i=1}^{d}P(x_{i} | C) \end{align}
hnb(x)=max{P(c1∣x),P(c2∣x),P(c3∣x),...,P(cn∣x)}=argc∈YmaxP(x)P(c)i=1∏dP(xi∣C)=argc∈YmaxP(c)i=1∏dP(xi∣C) 令
D
c
D_{c}
Dc 表示训练集
D
D
D 中第
c
c
c 类样本组成的集合,若有充足的独立同分布样本,则可以容易地估计出类别的先验概率:
P
(
c
)
=
∣
D
c
∣
∣
D
∣
P(c) = \frac {|D_{c}|}{|D|}
P(c)=∣D∣∣Dc∣
对于离散属性而言,令
D
c
,
x
i
D_{c, x_{i}}
Dc,xi 表示
D
c
D_{c}
Dc 中第
i
i
i 个属性上取值为
x
i
x_{i}
xi 的样本组成的集合,则条件概率
P
(
x
i
∣
c
)
P(x_{i} |c)
P(xi∣c) 可估计为:
P
x
i
∣
c
=
∣
D
c
,
x
i
∣
∣
D
c
∣
P{x_{i} | c} = \frac {|D_{c, x_{i}}|}{|D_{c}|}
Pxi∣c=∣Dc∣∣Dc,xi∣
对于连续属性可考虑概率密度函数,假定
p
(
x
i
∣
c
)
∼
N
(
μ
c
,
i
,
σ
c
,
i
2
)
p(x_{i}|c) \sim \mathcal{N}(\mu _{c, i}, \sigma _{c,i}^{2})
p(xi∣c)∼N(μc,i,σc,i2)d,其中
μ
c
,
i
\mu_{c, i}
μc,i和
σ
c
,
i
2
\sigma_{c, i}^{2}
σc,i2分别是第
c
c
c 类样本在第
i
i
i 个属性上取值的均值和方差,则有:
p
(
x
i
∣
c
)
=
1
2
π
σ
c
,
i
exp
(
−
(
x
i
−
μ
c
,
i
)
2
2
σ
c
,
i
2
)
p(x_{i} | c) = \frac {1}{\sqrt{2 \pi} \sigma_{c, i}} \exp (- \frac {(x_{i}-\mu_{c, i})^2}{2 \sigma_{c, i}^{2}})
p(xi∣c)=2πσc,i1exp(−2σc,i2(xi−μc,i)2)