贝叶斯定理
已知:
存在 K K K 类 c 1 , c 2 , ⋯ , c k c_1, c_2, \cdots, c_k c1,c2,⋯,ck, 给定一个新的实例 x = ( x ( 1 ) , x ( 2 ) , ⋯ , x ( n ) ) x = (x^{(1)}, x^{(2)}, \cdots, x^{(n)}) x=(x(1),x(2),⋯,x(n))
问:该实例归属第
c
i
c_i
ci 类的可能性有多大?
P
(
Y
=
c
i
∣
X
=
x
)
=
P
(
X
=
x
∣
Y
=
c
i
)
⋅
P
(
Y
=
c
i
)
P
(
X
=
x
)
P\left(Y=c_i \mid X=x\right)=\frac{P\left(X=x \mid Y=c_i\right) \cdot P\left(Y=c_i\right)}{P(X=x)}
P(Y=ci∣X=x)=P(X=x)P(X=x∣Y=ci)⋅P(Y=ci)
即:
P
(
Y
=
c
i
∣
X
=
x
)
=
P
(
X
=
x
∣
Y
=
c
i
)
⋅
P
(
Y
=
c
i
)
∑
i
=
1
K
P
(
X
=
x
∣
Y
=
c
i
)
⋅
P
(
Y
=
c
i
)
P\left(Y=c_i \mid X=x\right)=\frac{P\left(X=x \mid Y=c_i\right) \cdot P\left(Y=c_i\right)}{\sum_{i=1}^K P\left(X=x \mid Y=c_i\right) \cdot P\left(Y=c_i\right)}
P(Y=ci∣X=x)=∑i=1KP(X=x∣Y=ci)⋅P(Y=ci)P(X=x∣Y=ci)⋅P(Y=ci)
训练数据集:
T
=
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
⋯
,
(
x
N
,
y
N
)
T = {(x_1, y_1), (x_2, y_2), \cdots, (x_N, y_N)}
T=(x1,y1),(x2,y2),⋯,(xN,yN)
- 输入: X ⊆ R n , x ∈ X \mathcal{X}\subseteq \mathbf{R}^n, x \in \mathcal{X} X⊆Rn,x∈X
- 输出: Y = c 1 , c 2 , ⋯ , c k , y ∈ Y \mathcal{Y} = {c_1, c_2, \cdots, c_k}, y \in \mathcal{Y} Y=c1,c2,⋯,ck,y∈Y
生成方法:
学习联合概率分布:
P
(
X
,
Y
)
P(X, Y)
P(X,Y)
先验概率分布:
P
(
Y
=
c
i
)
,
i
=
1
,
2
,
⋯
,
K
P(Y = c_i), i = 1, 2, \cdots, K
P(Y=ci),i=1,2,⋯,K
条件概率分布:
P
(
X
=
x
∣
Y
=
c
i
)
=
P
(
X
(
1
)
=
x
(
1
)
,
⋯
,
X
(
n
)
=
x
(
n
)
∣
Y
=
c
i
)
P(X = x|Y = c_i) = P(X^{(1)} = x^{(1)}, \cdots, X^{(n)} = x^{(n)}|Y = c_i)
P(X=x∣Y=ci)=P(X(1)=x(1),⋯,X(n)=x(n)∣Y=ci)
联合概率分布:
P
(
X
,
Y
)
=
P
(
X
=
x
∣
Y
=
c
i
)
P
(
Y
=
c
i
)
,
i
=
1
,
2
,
⋯
,
K
P(X, Y) = P(X = x|Y = c_i)P(Y = c_i), i = 1, 2, \cdots, K\\
P(X,Y)=P(X=x∣Y=ci)P(Y=ci),i=1,2,⋯,K
贝叶斯定理简化为:
P
(
Y
=
c
i
∣
X
=
x
)
=
P
(
X
,
Y
)
P
(
X
=
x
)
P(Y = c_i | X = x) = \frac{P(X , Y)}{P(X = x)}
P(Y=ci∣X=x)=P(X=x)P(X,Y)
后验概率最大化
0-1 损失函数:
L
(
Y
,
f
(
X
)
)
=
{
1
,
Y
≠
f
(
X
)
0
,
Y
=
f
(
X
)
L(Y, f(X))= \begin{cases}1, & Y \neq f(X) \\ 0, & Y=f(X)\end{cases}
L(Y,f(X))={1,0,Y=f(X)Y=f(X)
期望风险:
R
e
x
p
(
f
)
=
E
[
L
(
Y
,
f
(
X
)
)
]
R_{exp}(f)=E[L(Y,f(X))]
Rexp(f)=E[L(Y,f(X))]
模型关于条件概率分布,期望风险为条件期望风险:
R
e
x
p
(
f
)
=
E
X
∑
i
=
1
K
L
(
c
i
,
y
)
P
(
y
=
c
i
∣
X
=
x
)
R_{exp}(f) = E_X \sum_{i=1}^{K}L\left(c_{i},\ y\right)P\left(y=c_{i}\mid X=x\right)
Rexp(f)=EXi=1∑KL(ci, y)P(y=ci∣X=x)
为使期望风险最小化,只需对
X
=
x
X = x
X=x 逐个极小化:
f
(
x
)
=
arg
min
y
∈
Y
∑
i
=
1
K
L
(
c
i
,
y
)
P
(
y
=
c
i
∣
X
=
x
)
=
arg
min
y
∈
Y
∑
i
=
1
K
P
(
y
≠
c
i
∣
X
=
x
)
=
arg
min
y
∈
Y
(
1
−
P
(
y
=
c
i
∣
X
=
x
)
)
=
arg
max
y
∈
Y
P
(
y
=
c
i
∣
X
=
x
)
\begin{align} f(x) &= \arg \min _{y \in \mathcal{Y}} \sum_{i=1}^K L(c_i, y) P\left(y = c_i \mid X=x\right) \\ &= \arg \min _{y \in \mathcal{Y}} \sum_{i=1}^K P\left(y \neq c_i \mid X=x\right)\\ &=\arg \min _{y \in \mathcal{Y}} (1 - P\left(y = c_i \mid X=x\right))\\ &= \arg \max _{y \in \mathcal{Y}} P\left(y = c_i \mid X=x\right) \end{align}
f(x)=argy∈Ymini=1∑KL(ci,y)P(y=ci∣X=x)=argy∈Ymini=1∑KP(y=ci∣X=x)=argy∈Ymin(1−P(y=ci∣X=x))=argy∈YmaxP(y=ci∣X=x)
此时,期望风险最小化就转变为后验概率最大化:
f
(
x
)
=
arg
max
c
i
P
(
c
i
∣
X
=
x
)
f(x)=\arg\operatorname*{max}_{c_{i}}P(c_{i}|X=x)
f(x)=argcimaxP(ci∣X=x)
极大似然估计
使似然函数(即联合密度函数)达到最大的参数值。
假设
X
X
X 的密度函数为
f
(
X
,
β
)
f(X, \beta)
f(X,β),如果简单随机样本
X
1
,
X
2
,
⋯
,
X
N
X_1, X_2, \cdots, X_N
X1,X2,⋯,XN 相互独立,则其联合概率密度函数为
L
(
x
1
,
⋯
,
x
N
;
β
)
=
∏
i
=
1
N
f
(
x
i
,
β
)
L(x_{1},\cdots,x_{N};\beta)=\prod_{i=1}^{N}f(x_{i},\beta)
L(x1,⋯,xN;β)=i=1∏Nf(xi,β)
当
(
X
1
,
X
2
,
⋯
,
X
N
)
(X_1, X_2, \cdots, X_N)
(X1,X2,⋯,XN) 取定值
x
1
,
x
2
,
⋯
,
x
N
x_1, x_2, \cdots, x_N
x1,x2,⋯,xN 时,
L
(
x
1
,
⋯
,
x
N
;
β
)
L(x_{1},\cdots,x_{N};\beta)
L(x1,⋯,xN;β) 是
β
\beta
β 的函数,即样本的似然函数。
β
\beta
β 的极大似然估计
β
^
\hat{\beta}
β^
β
^
=
arg
max
β
∈
Θ
L
(
x
1
,
⋯
,
x
N
;
β
)
\hat{\beta}=\underset{\beta \in \Theta}{\arg \max } L\left(x_1, \cdots, x_N ; \beta\right)
β^=β∈ΘargmaxL(x1,⋯,xN;β)
记似然函数
L
(
β
)
=
L
(
x
1
,
⋯
,
x
N
;
β
)
L(\beta) = L(x_{1},\cdots,x_{N};\beta)
L(β)=L(x1,⋯,xN;β) 。
求取极大似然估计
遍历
找到参数空间,将每一个参数代入似然函数,找到 β \beta β 的极大似然估计 β ^ \hat{\beta} β^ 。
数值计算
-
直接通过似然函数 L ( β ) L(\beta) L(β) 求解
- 当 L ( β ) L(\beta) L(β) 可微时,可通过方程组
∂ L ( β ) ∂ β 1 = 0 , ∂ L ( β ) ∂ β 2 = 0 , ⋅ ⋅ , ∂ L ( β ) ∂ β m = 0 {\frac{\partial L(\beta)}{\partial\beta_{1}}}=0,{\frac{\partial L(\beta)}{\partial\beta_{2}}}=0,\cdot\cdot\;,{\frac{\partial L(\beta)}{\partial\beta_{m}}}=0 ∂β1∂L(β)=0,∂β2∂L(β)=0,⋅⋅,∂βm∂L(β)=0
求得 L ( β ) L(\beta) L(β) 的极大值点。
- 当 L ( β ) L(\beta) L(β) 不存在偏导数时,需要直接研究 L ( β ) L(\beta) L(β) ,寻找最大值点。
-
通过对数似然函数 l n L ( β ) ln L(\beta) lnL(β) 求解 β ^ \hat{\beta} β^ 也是 l n L ( β ) ln L(\beta) lnL(β) 的最大值点,
- 当 l n L ( β ) ln L(\beta) lnL(β) 可微时,可通过下列方程组,
∂ ln L ( β ) ∂ β 1 = 0 , ∂ ln L ( β ) ∂ β 2 = 0 , ⋅ ⋅ , ∂ ln L ( β ) ∂ β m = 0 \frac{\partial\ln L(\beta)}{\partial\beta_{1}}=0,\frac{\partial\ln L(\beta)}{\partial\beta_{2}}=0,\cdot\cdot\,,\frac{\partial\ln L(\beta)}{\partial\beta_{m}}=0 ∂β1∂lnL(β)=0,∂β2∂lnL(β)=0,⋅⋅,∂βm∂lnL(β)=0
求解,判断根是不是最大值点。
- 当 l n L ( β ) ln L(\beta) lnL(β) 不存在偏导数时,需要直接研究 l n L ( β ) ln L(\beta) lnL(β) ,寻找最大值点。
迭代
当无法通过似然函数求得解析解,可以通过迭代法求得数值解。每一次计算,都从变量的一个初始值出发寻找一系列近似解,不断迭代得到逼近值。
朴素贝叶斯
输入:训练集:
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
⋅
⋅
⋅
⋅
,
(
x
N
,
y
N
)
}
T=\{(x_{1},y_{1}),(x_{2},y_{2})\cdot\cdot\cdot\cdot,(x_{N},y_{N})\}
T={(x1,y1),(x2,y2)⋅⋅⋅⋅,(xN,yN)}
实例
x
=
(
x
(
1
)
,
x
(
2
)
,
⋯
,
x
(
n
)
)
;
x = (x^{(1)}, x^{(2)}, \cdots, x^{(n)});
x=(x(1),x(2),⋯,x(n));
输出:实例 x x x 所属类别 y y y
假设:实例特征之间相互独立
P
(
X
=
x
∣
Y
=
c
i
)
=
∏
j
=
1
n
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
i
)
⟹
P
(
X
=
x
)
=
∑
i
=
1
K
P
(
Y
=
c
i
)
∏
j
=
1
n
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
i
)
⟹
P
(
Y
=
c
i
∣
X
=
x
)
=
P
(
X
=
x
∣
Y
=
c
i
)
⋅
P
(
Y
=
c
i
)
∑
i
=
1
K
P
(
Y
=
c
i
)
∏
j
=
1
n
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
i
)
⟹
P
(
Y
=
c
i
∣
X
=
x
)
=
P
(
Y
=
c
i
)
∏
j
=
1
n
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
i
)
∑
i
=
1
K
P
(
Y
=
c
i
)
∏
j
=
1
n
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
i
)
\begin{align} &P\left(X=x \mid Y=c_i\right)=\prod_{j=1}^n P\left(X^{(j)}=x^{(j)} \mid Y=c_i\right) \\ &\Longrightarrow P(X=x)=\sum_{i=1}^K P\left(Y=c_i\right) \prod_{j=1}^n P\left(X^{(j)}=x^{(j)} \mid Y=c_i\right) \\ &\Longrightarrow P\left(Y=c_i \mid X=x\right)=\frac{P\left(X=x \mid Y=c_i\right) \cdot P\left(Y=c_i\right)}{\sum_{i=1}^K P\left(Y=c_i\right) \prod_{j=1}^n P\left(X^{(j)}=x^{(j)} \mid Y=c_i\right)} \\ &\Longrightarrow P\left(Y=c_i \mid X=x\right)=\frac{P\left(Y=c_i\right) \prod_{j=1}^n P\left(X^{(j)}=x^{(j)} \mid Y=c_i\right)}{\sum_{i=1}^K P\left(Y=c_i\right) \prod_{j=1}^n P\left(X^{(j)}=x^{(j)} \mid Y=c_i\right)} \end{align}
P(X=x∣Y=ci)=j=1∏nP(X(j)=x(j)∣Y=ci)⟹P(X=x)=i=1∑KP(Y=ci)j=1∏nP(X(j)=x(j)∣Y=ci)⟹P(Y=ci∣X=x)=∑i=1KP(Y=ci)∏j=1nP(X(j)=x(j)∣Y=ci)P(X=x∣Y=ci)⋅P(Y=ci)⟹P(Y=ci∣X=x)=∑i=1KP(Y=ci)∏j=1nP(X(j)=x(j)∣Y=ci)P(Y=ci)∏j=1nP(X(j)=x(j)∣Y=ci)
分母均相同,分类由分子确定:
y
=
arg
max
c
i
P
(
Y
=
c
i
)
∏
j
=
1
n
P
(
X
(
j
)
=
x
(
j
)
∣
Y
=
c
i
)
y=\arg \max _{c_i} P\left(Y=c_i\right) \prod_{j=1}^n P\left(X^{(j)}=x^{(j)} \mid Y=c_i\right)
y=argcimaxP(Y=ci)j=1∏nP(X(j)=x(j)∣Y=ci)
贝叶斯估计
先验概率的贝叶斯估计:
P
λ
(
Y
=
c
k
)
=
∑
i
=
1
N
I
(
y
i
=
c
k
)
+
λ
N
+
K
λ
P_{\lambda}(Y=c_{k})={\frac{\sum_{i=1}^{N}I(y_{i}=c_{k})+\lambda}{N+K\lambda}}
Pλ(Y=ck)=N+Kλ∑i=1NI(yi=ck)+λ
条件概率的贝叶斯估计:
P
λ
(
X
(
j
)
=
a
j
l
∣
Y
=
c
k
)
=
∑
i
=
1
N
I
(
x
i
(
j
)
=
a
j
l
,
y
i
=
c
k
)
+
λ
∑
i
=
1
N
I
(
y
i
=
c
k
)
+
S
j
λ
P_{\lambda}(X^{(j)}=a_{j l}|Y=c_{k})=\frac{\sum_{i=1}^{N}I(x_{i}^{(j)}=a_{j l},y_{i}=c_{k})+\lambda}{\sum_{i=1}^{N}I(y_{i}=c_{k})+S_{j}\lambda}
Pλ(X(j)=ajl∣Y=ck)=∑i=1NI(yi=ck)+Sjλ∑i=1NI(xi(j)=ajl,yi=ck)+λ
λ
≥
0
\lambda \geq 0
λ≥0 ,
λ
=
0
\lambda = 0
λ=0 时为极大似然估计,
λ
=
1
\lambda = 1
λ=1 时为拉普拉斯平滑(Laplacian Smoothing)。
拉普拉斯平滑思想
贝叶斯估计:
P
λ
(
Y
=
c
k
)
=
∑
i
=
1
N
I
(
y
i
=
c
k
)
+
λ
N
+
K
λ
P_{\lambda}(Y=c_{k})={\frac{\sum_{i=1}^{N}I(y_{i}=c_{k})+\lambda}{N+K\lambda}}
Pλ(Y=ck)=N+Kλ∑i=1NI(yi=ck)+λ
正则化:
min
f
∈
F
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
+
λ
J
(
f
)
\operatorname*{min}_{f\in\mathcal{F}}\frac{1}{N}\sum_{i=1}^{N}L(y_{i},\,f(x_{i}))+\lambda J(f)
f∈FminN1i=1∑NL(yi,f(xi))+λJ(f)
将
∑
i
=
1
N
I
(
y
i
=
c
k
)
\sum_{i=1}^{N}I(y_{i}=c_{k})
∑i=1NI(yi=ck) 计为
N
k
N_k
Nk ,表示
N
N
N 个样本中有
N
k
N_k
Nk 个实例点属于
c
k
c_k
ck ;
将 P λ ( Y = c k ) P_{\lambda}(Y=c_{k}) Pλ(Y=ck) 计为 θ k \theta_k θk ,
此时有:
θ
k
(
N
+
K
λ
)
=
N
k
+
λ
⟹
(
θ
k
N
−
N
k
)
+
λ
(
K
θ
k
−
1
)
=
0
\begin{align} &\theta_k(N +K\lambda) = N_k + \lambda\\ &\Longrightarrow (\theta_k N - N_k) + \lambda (K {\theta_k} - 1) = 0\\ \end{align}
θk(N+Kλ)=Nk+λ⟹(θkN−Nk)+λ(Kθk−1)=0
令
θ
k
N
−
N
k
=
0
\theta_k N - N_k = 0
θkN−Nk=0 ,
θ
k
=
N
k
N
\theta_k = \frac{N_k}{N}
θk=NNk ,为极大似然;
令 λ ( K θ k − 1 ) = 0 \lambda (K \theta_k - 1) = 0 λ(Kθk−1)=0, θ k = 1 K \theta_k = \frac{1}{K} θk=K1 ,相当于 θ \theta θ 的先验概率。
此处, λ ( K θ k − 1 ) \lambda(K \theta_k - 1) λ(Kθk−1) 充当正则项,即:拉普拉斯平滑下的贝叶斯估计,不能只凭样本说话,也要有对模型的假设(先验概率)。
总结归纳
-
贝叶斯定理中,分母的 P ( X = x ) = ∑ i = 1 K P ( X = x ∣ Y = c i ) ⋅ P ( Y = c i ) P(X=x) = {\sum_{i=1}^K P\left(X=x \mid Y=c_i\right) \cdot P\left(Y=c_i\right)} P(X=x)=∑i=1KP(X=x∣Y=ci)⋅P(Y=ci) 其实就是全概率公式。
-
后验概率由先验概率和条件概率共同求得。
-
先验概率和条件概率可以求得联合概率分布。
-
期望是指某件事大量发生后的平均结果,反应了随机变量平均取值的大小,定义为: E ( X ) = ∑ k = 1 K x k p k E(X)=\sum_{k=1}^{\mathrm{K}}\,x_{k}p_{k} E(X)=∑k=1Kxkpk 。
-
(2)式中, L ( c i , y ) L(c_i, y) L(ci,y) 为 0 - 1 损失函数,若使 f ( x ) f(x) f(x) 有意义, L ( c i , y ) L(c_i, y) L(ci,y) 应为 1 ,此时预测错误,求和公式发生改变: ∑ i = 1 K L ( c i , y ) P ( y = c i ∣ X = x ) ⟹ ∑ i = 1 K P ( y ≠ c i ∣ X = x ) \sum_{i=1}^K L(c_i, y) P\left(y = c_i \mid X=x\right) \Longrightarrow \sum_{i=1}^K P\left(y \neq c_i \mid X=x\right) ∑i=1KL(ci,y)P(y=ci∣X=x)⟹∑i=1KP(y=ci∣X=x)
-
似然函数并不是联合密度函数,极大似然估计实际上就是将概率密度估计问题转化为参数估计问题。
-
极大似然估计是一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。总结下来就是:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。
-
对于函数 p ( x ∣ θ ) p(x| \theta) p(x∣θ) :
若 θ \theta θ 已知, x x x 是变量,该函数为概率函数(probability function),它描述对于不同的样本点,其出现概率是多少。
若 x x x 已知, θ \theta θ 是变量,该函数为似然函数(likelihood function),它描述对于不同的模型参数,出现这个样本点的概率是多少。 -
朴素贝叶斯的“朴素”意为:假设特征之间相互独立。
-
若特征之间存在依存关系,模型就变成了贝叶斯网络。
-
极大似然估计可能会出现所要估计的概率值为 0 的情况,此时可以使用拉普拉斯平滑避免。
-
贝叶斯估计中:
∑ k = 1 K P λ ( Y = c k ) = 1 \sum_{k = 1}^{K} P_{\lambda} (Y = c_k) = 1 k=1∑KPλ(Y=ck)=1∑ l = 1 S j P λ ( s ( j ) = a j l ∣ Y = c k ) = 1 \sum_{l = 1}^{S_j} P_{\lambda} (s^{(j)} = a_{jl} | Y = c_k) = 1 l=1∑SjPλ(s(j)=ajl∣Y=ck)=1
符合概率分布。