机器学习算法原理——贝叶斯定理

贝叶斯定理

已知

存在 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=ciX=x)=P(X=x)P(X=xY=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=ciX=x)=i=1KP(X=xY=ci)P(Y=ci)P(X=xY=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} XRn,xX
  • 输出: 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,yY

生成方法:

学习联合概率分布:
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=xY=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=xY=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=ciX=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=1KL(ci, y)P(y=ciX=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)=argyYmini=1KL(ci,y)P(y=ciX=x)=argyYmini=1KP(y=ciX=x)=argyYmin(1P(y=ciX=x))=argyYmaxP(y=ciX=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(ciX=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=1Nf(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 β1L(β)=0,β2L(β)=0,,βmL(β)=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 β1lnL(β)=0,β2lnL(β)=0,,βmlnL(β)=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=xY=ci)=j=1nP(X(j)=x(j)Y=ci)P(X=x)=i=1KP(Y=ci)j=1nP(X(j)=x(j)Y=ci)P(Y=ciX=x)=i=1KP(Y=ci)j=1nP(X(j)=x(j)Y=ci)P(X=xY=ci)P(Y=ci)P(Y=ciX=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=1nP(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)=ajlY=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) fFminN1i=1NL(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+λ(θkNNk)+λ(Kθk1)=0
θ k N − N k = 0 \theta_k N - N_k = 0 θkNNk=0 θ k = N k N \theta_k = \frac{N_k}{N} θk=NNk ,为极大似然;

λ ( K θ k − 1 ) = 0 \lambda (K \theta_k - 1) = 0 λ(Kθk1)=0 θ k = 1 K \theta_k = \frac{1}{K} θk=K1 ,相当于 θ \theta θ 的先验概率。

此处, λ ( K θ k − 1 ) \lambda(K \theta_k - 1) λ(Kθk1) 充当正则项,即:拉普拉斯平滑下的贝叶斯估计,不能只凭样本说话,也要有对模型的假设(先验概率)。

总结归纳

  • 贝叶斯定理中,分母的 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=xY=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=ciX=x)i=1KP(y=ciX=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=1KPλ(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=1SjPλ(s(j)=ajlY=ck)=1

    符合概率分布。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值