西瓜书笔记7:贝叶斯分类器

目录 

相关概率知识

贝叶斯-全概率公式

先验概率、后验概率、似然概率

7.1 贝叶斯决策论

7.2 极大似然估计

极大似然估计公式

均值方差估计公式推导

概率知识复习

高斯分布

最大似然估计

7.3 朴素贝叶斯分类器

朴素贝叶斯分类器的概念

条件概率估计方法

拉普拉斯修正

7.4半朴素贝叶斯分类器

ODE基本思想

SPODE

TAN

AODE

7.5 贝叶斯网

7.5.1 结构

三变量典型依赖关系

有向分离

7.5.2 学习

结构学习

参数学习

7.5.3 推断

吉布斯采样

7.6 EM算法


相关概率知识

贝叶斯-全概率公式

参考之前笔记中的生成式模型: https://blog.csdn.net/lagoon_lala/article/details/116674811

已知, 能成功做A1的概率P(A1), A1做成后能成功做B的概率P(B|A1), 根据概率乘法, 从A这条路径到B的概率P(A1) P(B|A1).

这两个公式基于同一个模型. 全概率为所有路径相加, 贝叶斯已知结果B求某条路径概率(这一条路径/所有路概率之和)

这一坨一坨都是路径的概率. 全概率求的是B: p1+ p2+…+ pn, 贝叶斯求的是A: p1/( p1+ p2+…+ pn)

即:

$$ P(y|x)=\frac{P(x|y)\cdot P(y)}{P(x)} $$

先验概率、后验概率、似然概率

条件概率P(A|B): B已经发生条件下A发生的概率

类条件概率(class-conditional/dependent probability)

假如抽到的是水系, 求他是原盖海龟的概率P(x|C_1) 

先验概率P(A): 无任何已知条件下事件A的概率

后验概率P(果y|因x): 给定因x, 在此条件下果y概率

对于多个候选果y,选择使后验概率P(y|x)最大的一个y,称为最大后验MAP(maximum a posteriori)估计

似然概率P(因x|果y): 已知发生因x,在果y条件下x的概率.(在哪个果的条件下有这样的因)

对于多个候选果y,选择使似然概率P(x|y)最大的那一个,称为最大似然ML (maximum likelihood)估计

7.1 贝叶斯决策论

贝叶斯决策论(Bayesian decision theory) : 概率框架下决策. 基于概率和误判损失选择最优的类别标记.

多分类任务, 类别有N种:

$$ \mathcal{Y}=\{c_1,c_2,\cdots ,c_N\} $$

损失: λ_ij(真实标记c_j误分类为c_i)

在单个样本x上的条件风险 (conditional risk)=样本x分类为c_i的期望损失(expected loss). (各分类情况损失λ*对应后验概率P, 即所有损失的平均值):

$$ R(c_i|\boldsymbol x)=\sum_{j=1}^n \lambda_{ij} P(c_i|\boldsymbol x) $$

判定准则h即每种样本x对应哪个类别标记y:

$$ h: \mathcal{X}\mapsto\mathcal{Y} $$

总体风险, 对整个数据集D所有样本的期望:

$$ R(h)=\mathbb E_x[R(h(\boldsymbol x)|\boldsymbol x)]=\sum_{x\in D} R(h(\boldsymbol x)|\boldsymbol x)P(\boldsymbol x) $$

目标: 寻找判定准则h以最小化总体风险R(h)

贝叶斯判定准则 (Bayes decision rule): 要最小化总体风险,只需在每个样本上使条件风险 R(c|x)最小, 即选择条件风险最小的类别标记. 此时得到的判定准则h即贝叶斯最优分类器(Bayes optimal classifier):

$$ h^*(\boldsymbol x)=\arg\min_{c\in\mathcal Y}R(c|\boldsymbol x) $$

贝叶斯风险(Bayes risk): 最小总体风险R(h^*) .

分类器模型精度的理论上限为1-R(h^*).

误判损失λ_ij:

$$ \lambda_{ij}=\left\{\begin{array}{c} 0,&\text{if}~i=j\\1, &\text{otherwise}\end{array}\right. $$

0/1损失的条件风险:

$$ R(c|\boldsymbol x)=1−P(c|\boldsymbol x) $$

即将0/1损失λ的表达式代入条件风险的一般式:

$$ R(c_i|\boldsymbol x)=1*P(c_1|\boldsymbol x)+...+1*P(c_{i-1}|\boldsymbol x)+0*P(c_i|\boldsymbol x)+1*P(c_{i+1}|\boldsymbol x)+...+1*P(c_N|\boldsymbol x) $$

其中只有判断正确的一项没有损失, 根据概率和为1:

$$ \sum_{j=1}^{N}P(c_j|\boldsymbol x)=1 $$

即可得到0/1损失的条件风险.

因此每个样本选择后验概率P最大的类别, 得0/1损失的贝叶斯最优分类器:

$$ h^{*}(\boldsymbol{x})=\underset{c \in \mathcal{Y}}{\arg \max } P(c | \boldsymbol{x}) $$

其中的后验概率P(cIx)难以直接获得, 有两种策略估计:

(参考之前判别v.s.生成笔记: https://blog.csdn.net/lagoon_lala/article/details/117000342)

1.判别式(discriminative models): 给定x, 直接对P(cIx)建模预测c. 如决策树、 BP 神经网络、支持向量机、对率回归.

2.生成式(generative models): 对联合概率分布P(x,c)建模,再计算得P(cIx). 如高斯/朴素贝叶斯描述后验概率, 对概率分布进行假设. 高斯则假设为高斯分布, 朴素贝叶斯则假设相互独立. 根据条件概率基本求解公式:

$$ P(\boldsymbol x,c)=P(c|\boldsymbol x)P(\boldsymbol x)=P(\boldsymbol x|c)P(c) $$

贝叶斯定理, 生成式模型中, 通过估计先验概率P(c)和似然概率P(x|c), 得联合概率分布P(x,c), 来估计后验概率P(cIx). 贝叶斯公式:

$$ P(c|\boldsymbol x)=\frac{P(\boldsymbol x,c)}{P(\boldsymbol x)}=\frac{P(\boldsymbol x|c)P(c)}{P(\boldsymbol x)} $$

其中, P(x)为常量, 不随类别标记而改变. 所以最大化P(x,c)/P(x)可以等价为最大化P(x,c).

P(c): 类别先验(prior) 概率

P(xIc): 似然(likelihood)概率=样本x对类别标记c的类别条件概率(class-conditional probability)

P(x): 证据(evidence)因子. 用于归一化.

似然概率P(xIc)涉及x所有属性联合概率, 可能很多样本没有出现过, 难以通过样本出现频率估计.

7.2 极大似然估计

估计似然概率(类c条件概率) P(xIc)即P(x|θ_c)策略: 假定P的概率分布形式(此时被参数向量θ_c唯一确定),基于训练集D估计参数θ_c.

优点: 参数化使似然概率P(xIc)估计变简单

缺点: 假设分布形式是否符合真实分布, 决定估计结果准确性. 需任务本身经验知识.

概率模型训练=参数估计(parameter estimation)两方法:

1. 极大似然估计MLE(Maximum Likelihood Estimation)

频率主义学派(Frequentist)认为参数是固定值. 通过优化似然函数等准则来确定参数值.

2. 贝叶斯估计

贝叶斯学派(Bayesian)对参数的点估计法. 认为参数是有分布的随机变量. 假定参数服从一个先验分布,基于观测到的数据计算参数的后验分布.

主要包括: 最大后验估计MAP(Maximum A Posteriori Estimation)、后验中位数估计(Median)和后验期望值估计(Mean).

极大似然估计公式

D_c: 训练集D中第c类样本,样本独立同分布.

第c类的似然概率:

$$ P\left(D_c | \boldsymbol{\theta}_{c}\right)=\prod_{\boldsymbol{x}\in D_c} P\left(\boldsymbol{x} | \boldsymbol{\theta}_{c}\right) $$

上式的连乘容易造成下溢(P(x|θ_c)均小于1, 太小无法表达), 取对数, 将连乘变为累加. 即对数似然(log-likelihood):

$$ \begin{aligned} LL\left(\boldsymbol{\theta}_{c}\right)&=\log P\left(D_c | \boldsymbol{\theta}_{c}\right)\\ &=\sum_{\boldsymbol{x} \in D_{c}}\log P\left(\boldsymbol{x} | \boldsymbol{\theta}_{c}\right)\\  \end{aligned} $$

对θ_c进行极大似然估计: 寻找参数值hat θ_c, 使似然概率 P(D_c|θ_c)最大化. (即使数据出现"可能性"最大)

参数θ_c的极大似然估计hat θ_c:

$$ \hat {\boldsymbol{\theta}_{c}}=\arg\max_{\boldsymbol{\theta}_{c}}LL\left(\boldsymbol{\theta}_{c}\right) $$

求极大的方法就是求偏导, 令导数为0.

假设概率密度函数为正态分布p(x|c)~ N(μ_c,σ_c^2), 则其两个参数均值与方差的极大似然估计公式:

$$ \hat{\boldsymbol{\mu}}_{c}=\frac{1}{\left|D_{c}\right|} \sum_{\boldsymbol{x} \in D_{c}} \boldsymbol{x}\\ \hat{\boldsymbol{\sigma}}_{c}^{2}=\frac{1}{\left|D_{c}\right|} \sum_{\boldsymbol{x} \in D_{c}}\left(\boldsymbol{x}-\hat{\boldsymbol{\mu}}_{c}\right)\left(\boldsymbol{x}-\hat{\boldsymbol{\mu}}_{c}\right)^{\mathrm{T}} $$

相关知识: 高斯分布, 对高斯分布进行最大似然估计

均值方差估计公式推导

根据对数似然LL公式, 与极大似然估计公式取argmax. 目标参数求解式为:

$$ \begin{aligned} \hat{\boldsymbol{\theta}}_{c}&=\underset{\boldsymbol{\theta}_{c}}{\arg \max } LL\left(\boldsymbol{\theta}_{c}\right) \\ &=\underset{\boldsymbol{\theta}_{c}}{\arg \min } -LL\left(\boldsymbol{\theta}_{c}\right) \\ &= \underset{\boldsymbol{\theta}_{c}}{\arg \min }-\sum_{\boldsymbol{x} \in D_{c}} \log P\left(\boldsymbol{x} | \boldsymbol{\theta}_{c}\right) \end{aligned} $$

将P代入概率密度函数:

$$ p(\boldsymbol{x} | c) \sim \mathcal{N}\left(\boldsymbol{\mu}_{c}, \boldsymbol{\sigma}_{c}^{2}\right)p $$

得:

$$ P\left(\boldsymbol{x} | \boldsymbol{\theta}_{c}\right)=P\left(\boldsymbol{x} | \boldsymbol{\mu}_{c}, \boldsymbol{\sigma}_{c}^{2}\right)=\frac{1}{\sqrt{(2 \pi)^{d}|\boldsymbol{\Sigma}_c|}} \exp \left(-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu}_c)^{\mathrm{T}} \boldsymbol{\Sigma}_c^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_c)\right) $$

其中,d为x维数,Σ_c=σ_c^2为对称正定协方差矩阵,|Σ_c|表示Σ_c的行列式。将P代入参数求解公式可得:

$$ \begin{aligned} (\hat{\boldsymbol{\mu}}_{c}, \hat{\boldsymbol{\Sigma}}_{c})&= \underset{(\boldsymbol{\mu}_{c},\boldsymbol{\Sigma}_c)}{\arg \min }-\sum_{\boldsymbol{x} \in D_{c}} \log\left[\frac{1}{\sqrt{(2 \pi)^{d}|\boldsymbol{\Sigma}_c|}} \exp \left(-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu}_c)^{\mathrm{T}} \boldsymbol{\Sigma}_c^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_c)\right)\right] \\ &= \underset{(\boldsymbol{\mu}_{c},\boldsymbol{\Sigma}_c)}{\arg \min }-\sum_{\boldsymbol{x} \in D_{c}} \left[-\frac{d}{2}\log(2 \pi)-\frac{1}{2}\log|\boldsymbol{\Sigma}_c|-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu}_c)^{\mathrm{T}} \boldsymbol{\Sigma}_c^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_c)\right] \\ &= \underset{(\boldsymbol{\mu}_{c},\boldsymbol{\Sigma}_c)}{\arg \min }\sum_{\boldsymbol{x} \in D_{c}} \left[\frac{d}{2}\log(2 \pi)+\frac{1}{2}\log|\boldsymbol{\Sigma}_c|+\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu}_c)^{\mathrm{T}} \boldsymbol{\Sigma}_c^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_c)\right] \\ &= \underset{(\boldsymbol{\mu}_{c},\boldsymbol{\Sigma}_c)}{\arg \min }\sum_{\boldsymbol{x} \in D_{c}} \left[\frac{1}{2}\log|\boldsymbol{\Sigma}_c|+\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu}_c)^{\mathrm{T}} \boldsymbol{\Sigma}_c^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_c)\right] \\ \end{aligned} $$

假设数据集D_c样本个数|D_c|=n, 上式改写:

$$ (\hat{\boldsymbol{\mu}}_{c}, \hat{\boldsymbol{\Sigma}}_{c})=\underset{(\boldsymbol{\mu}_{c},\boldsymbol{\Sigma}_c)}{\arg \min }\sum_{i=1}^{n} \left[\frac{1}{2}\log|\boldsymbol{\Sigma}_c|+\frac{1}{2}(\boldsymbol{x}_{i}-\boldsymbol{\mu}_c)^{\mathrm{T}} \boldsymbol{\Sigma}_c^{-1}(\boldsymbol{x}_{i}-\boldsymbol{\mu}_c)\right] $$

其中只有x_i与i有关, Σ和μ与i无关, 可以直接化为n:

$$ (\hat{\boldsymbol{\mu}}_{c}, \hat{\boldsymbol{\Sigma}}_{c})=\underset{(\boldsymbol{\mu}_{c},\boldsymbol{\Sigma}_c)}{\arg \min }\frac{n}{2}\log|\boldsymbol{\Sigma}_c|+\sum_{i=1}^{n}\frac{1}{2}(\boldsymbol{x}_i-\boldsymbol{\mu}_c)^{\mathrm{T}} \boldsymbol{\Sigma}_c^{-1}(\boldsymbol{x}_i-\boldsymbol{\mu}_c) $$

上式最后一项化简, 分别用到正定二次型矩阵计算公式, 与概率论公式:

$$ \boldsymbol{x}^{\mathrm{T}}\mathbf{A}\boldsymbol{x}=\operatorname{tr}(\mathbf{A}\boldsymbol{x}\boldsymbol{x}^{\mathrm{T}}),\\ \bar{\boldsymbol{x}}=\frac{1}{n}\sum_{i=1}^{n}\boldsymbol{x}_i $$

化简后为:

$$ \begin{aligned} &\sum_{i=1}^{n}\frac{1}{2}(\boldsymbol{x}_i-\boldsymbol{\mu}_c)^{\mathrm{T}} \boldsymbol{\Sigma}_c^{-1}(\boldsymbol{x}_i-\boldsymbol{\mu}_c)\\ =&\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_c^{-1}\sum_{i=1}^{n}(\boldsymbol{x}_i-\boldsymbol{\mu}_c)(\boldsymbol{x}_i-\boldsymbol{\mu}_c)^{\mathrm{T}}\right]\\ =&\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_c^{-1}\sum_{i=1}^{n}\left(\boldsymbol{x}_i\boldsymbol{x}_i^{\mathrm{T}}-\boldsymbol{x}_i\boldsymbol{\mu}_c^{\mathrm{T}}-\boldsymbol{\mu}_c\boldsymbol{x}_i^{\mathrm{T}}+\boldsymbol{\mu}_c\boldsymbol{\mu}_c^{\mathrm{T}}\right)\right]\\ =&\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_c^{-1}\left(\sum_{i=1}^{n}\boldsymbol{x}_i\boldsymbol{x}_i^{\mathrm{T}}-n\bar{\boldsymbol{x}}\boldsymbol{\mu}_c^{\mathrm{T}}-n\boldsymbol{\mu}_c\bar{\boldsymbol{x}}^{\mathrm{T}}+n\boldsymbol{\mu}_c\boldsymbol{\mu}_c^{\mathrm{T}}\right)\right]\\ =&\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_c^{-1}\left(\sum_{i=1}^{n}\boldsymbol{x}_i\boldsymbol{x}_i^{\mathrm{T}}-2n\bar{\boldsymbol{x}}\boldsymbol{\mu}_c^{\mathrm{T}}+n\boldsymbol{\mu}_c\boldsymbol{\mu}_c^{\mathrm{T}}+2n\bar{\boldsymbol{x}}\bar{\boldsymbol{x}}^{\mathrm{T}}-2n\bar{\boldsymbol{x}}\bar{\boldsymbol{x}}^{\mathrm{T}}\right)\right]\\ =&\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_c^{-1}\left(\left(\sum_{i=1}^{n}\boldsymbol{x}_i\boldsymbol{x}_i^{\mathrm{T}}-2n\bar{\boldsymbol{x}}\bar{\boldsymbol{x}}^{\mathrm{T}}+n\bar{\boldsymbol{x}}\bar{\boldsymbol{x}}^{\mathrm{T}}\right)+\left(n\boldsymbol{\mu}_c\boldsymbol{\mu}_c^{\mathrm{T}}-2n\bar{\boldsymbol{x}}\boldsymbol{\mu}_c^{\mathrm{T}}+n\bar{\boldsymbol{x}}\bar{\boldsymbol{x}}^{\mathrm{T}}\right)\right)\right]\\ =&\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_c^{-1}\left(\sum_{i=1}^{n}(\boldsymbol{x}_i-\bar{\boldsymbol{x}})(\boldsymbol{x}_i-\bar{\boldsymbol{x}})^{\mathrm{T}}+\sum_{i=1}^{n}(\boldsymbol{\mu}_c-\bar{\boldsymbol{x}})(\boldsymbol{\mu}_c-\bar{\boldsymbol{x}})^{\mathrm{T}}\right)\right]\\ =&\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_c^{-1}\sum_{i=1}^{n}(\boldsymbol{x}_i-\bar{\boldsymbol{x}})(\boldsymbol{x}_i-\bar{\boldsymbol{x}})^{\mathrm{T}}\right]+\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_c^{-1}\sum_{i=1}^{n}(\boldsymbol{\mu}_c-\bar{\boldsymbol{x}})(\boldsymbol{\mu}_c-\bar{\boldsymbol{x}})^{\mathrm{T}}\right]\\ =&\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_c^{-1}\sum_{i=1}^{n}(\boldsymbol{x}_i-\bar{\boldsymbol{x}})(\boldsymbol{x}_i-\bar{\boldsymbol{x}})^{\mathrm{T}}\right]+\frac{1}{2}\operatorname{tr}\left[n\cdot\boldsymbol{\Sigma}_c^{-1}(\boldsymbol{\mu}_c-\bar{\boldsymbol{x}})(\boldsymbol{\mu}_c-\bar{\boldsymbol{x}})^{\mathrm{T}}\right]\\ =&\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_c^{-1}\sum_{i=1}^{n}(\boldsymbol{x}_i-\bar{\boldsymbol{x}})(\boldsymbol{x}_i-\bar{\boldsymbol{x}})^{\mathrm{T}}\right]+\frac{n}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_c^{-1}(\boldsymbol{\mu}_c-\bar{\boldsymbol{x}})(\boldsymbol{\mu}_c-\bar{\boldsymbol{x}})^{\mathrm{T}}\right]\\ =&\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_c^{-1}\sum_{i=1}^{n}(\boldsymbol{x}_i-\bar{\boldsymbol{x}})(\boldsymbol{x}_i-\bar{\boldsymbol{x}})^{\mathrm{T}}\right]+\frac{n}{2}(\boldsymbol{\mu}_c-\bar{\boldsymbol{x}})^{\mathrm{T}} \boldsymbol{\Sigma}_c^{-1}(\boldsymbol{\mu}_c-\bar{\boldsymbol{x}}) \end{aligned} $$

代入原式最后一项得:

$$ (\hat{\boldsymbol{\mu}}_{c}, \hat{\boldsymbol{\Sigma}}_{c})=\underset{(\boldsymbol{\mu}_{c},\boldsymbol{\Sigma}_c)}{\arg \min }\frac{n}{2}\log|\boldsymbol{\Sigma}_c|+\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_{c}^{-1}\sum_{i=1}^{n}(\boldsymbol{x}_i-\bar{\boldsymbol{x}})(\boldsymbol{x}_i-\bar{\boldsymbol{x}})^{\mathrm{T}}\right]+\frac{n}{2}(\boldsymbol{\mu}_c-\bar{\boldsymbol{x}})^{\mathrm{T}} \boldsymbol{\Sigma}_c^{-1}(\boldsymbol{\mu}_c-\bar{\boldsymbol{x}}) $$

先求μ的估计, 最后一项为正定二次型, 只有当x=0时, x^TAx能取到最小值0, 即取最小值时:

$$ \hat{\boldsymbol{\mu}}_{c}=\bar{\boldsymbol{x}}=\frac{1}{n}\sum_{i=1}^{n}\boldsymbol{x}_i $$

代入μ的值, 再求Σ的估计:

$$ \hat{\boldsymbol{\Sigma}}_{c}=\underset{\boldsymbol{\Sigma}_c}{\arg \min }\frac{n}{2}\log|\boldsymbol{\Sigma}_c|+\frac{1}{2}\operatorname{tr}\left[\boldsymbol{\Sigma}_{c}^{-1}\sum_{i=1}^{n}(\boldsymbol{x}_i-\bar{\boldsymbol{x}})(\boldsymbol{x}_i-\bar{\boldsymbol{x}})^{\mathrm{T}}\right] $$

这里用了一个临时冒出来奇奇怪怪的引理极小值点, 总之最后是:

$$ \boldsymbol{\Sigma}_c=\frac{1}{n}\sum_{i=1}^{n}(\boldsymbol{x}_i-\bar{\boldsymbol{x}})(\boldsymbol{x}_i-\bar{\boldsymbol{x}})^{\mathrm{T}} $$

概率知识复习

高斯分布

附录C.1.7

高斯分布(Gaussian distribution) =正态分布(normal distribution)

单变量高斯分布

$$ p(x | \mu, \sigma^{2})=\mathcal{N}(x | \mu, \sigma^{2})=\frac{1}{\sqrt{2 \pi \sigma^{2}}} e^{-\frac{({x}-{\mu})^2}{2\sigma^{2}}}\\ \mathbb E[x]=\mu\\ \text {var}[x]=\sigma^{2} $$

多元高斯分布

$$ p(\boldsymbol{x} | \boldsymbol{\mu}, \boldsymbol{\Sigma})=\mathcal N(\boldsymbol{x} | \boldsymbol{\mu}, \boldsymbol{\Sigma})\\ =\frac{1}{\sqrt{(2 \pi)^{d}|\boldsymbol{\Sigma}|}} \exp \left(-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^{\mathrm{T}} \boldsymbol{\Sigma}^{-1}(\boldsymbol{x}-\boldsymbol{\mu})\right)\\ \mathbb E[\boldsymbol x]=\boldsymbol\mu\\ \text {cov}[\boldsymbol x]=\boldsymbol{\Sigma} $$

其中μ为d维向量, Σ为d*d对称正定协方差矩阵. 求Σ的行列式|Σ|也可写作det(Σ).

概率密度函数图像

高斯分布在x_i=μ_i处取得最大值:

$$ \frac{1}{\sqrt{2\pi}\sigma_i} $$

标准正态分布的概率密度函数N(x|0, 1), 在x=0处取得最大值(p代入x与各参数):

$$ \frac{1}{\sqrt{2\pi}}\approx 0.4 $$

最大似然估计

高斯分布的最大似然估计, 参考:

https://www.bilibili.com/video/BV1aE411o7qd?p=4&spm_id_from=pageDriver

给定N个数据X, 其中每一个样本x有p维特征, 且独立同分布(简写为iid), 服从正态.

$$ Data: X=(\boldsymbol x_1,\boldsymbol x_2,\cdots,\boldsymbol x_N)^T=\left(\begin{array}{c}\boldsymbol x_1^T\\ \boldsymbol x_2^T\\ \vdots \\ \boldsymbol x_N^T\end{array}\right)_{N\times p}\\ \boldsymbol x_i\in\mathbb R^p\\ \boldsymbol x_i\mathop{\sim}^{iid}\mathcal{N}(\boldsymbol \mu,\boldsymbol \Sigma) $$

该分布的最大似然估计MLE:

$$ \theta_{MLE}=\mathop{\arg\max}\limits _{\theta} P(X|\theta) $$

以一维高斯分布为例, 进行计算. 此时维度p为1, 概率密度函数p为:

$$ p(x)=\frac{1}{\sqrt{2 \pi \sigma^{2}}} e^{-\frac{({x}-{\mu})^2}{2\sigma^{2}}}\\ p=1,\theta=(\mu, \sigma^{2}) $$

对数似然为:

$$ \log P(X|\theta)=\log\prod_{i=1}^{N} p(x_{i}|\theta)\\ =\sum_{i=1}^{N}\log p(x_{i}|\theta)\\ =\sum_{i=1}^{N}\log\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(x_{i}-\mu)^{2}}{2\sigma^{2}}) $$

首先求最大似然的μ值, 进行化简:

$$ \mu_{MLE}=\mathop{\arg\max}_{\mu}\log P(X|\theta)\\=\mathop{\arg\max}_{\mu}\sum_{i=1}^{N}-\frac{(x_{i}-\mu)^{2}}{2\sigma^{2}}\\ =\mathop{\arg\min}_{\mu}\sum_{i=1}^{N}(x_{i}-\mu)^{2} $$

对μ求偏导可得该式极值点, 即最大似然时的μ值:

$$ \frac{\partial}{\partial\mu}\sum_{i=1}^{N}(x_{i}-\mu)^{2}=0\\ \Rightarrow\mu_{MLE}=\frac{1}{N}\sum_{i=1}^{N}x_{i} $$

接着将μ代入目标函数求σ:

$$  \begin{align} \sigma^2_{MLE}&=\mathop{\arg\max}_{\sigma}\log P(X|\theta)\\&=\mathop{\arg\max}_{\sigma}\sum_{i=1}^{N}[-\log\sigma-\frac{1}{2\sigma^{2}}(x_{i}-\mu)^{2}]\nonumber\ \\ &=\mathop{\arg\min}_{\sigma}\sum_{i=1}^{N}[\log\sigma+\frac{1}{2\sigma^{2}}(x_{i}-\mu)^{2}] \end{align} $$

对σ求偏导:

$$ \frac{\partial}{\partial\sigma}\sum_{i=1}^{N}[\log\sigma+\frac{1}{2\sigma^{2}}(x{i}-\mu)^{2}]=0\\ \Rightarrow\sum_{i=1}^{N}[\frac{1}{\sigma}+(x_{i}-\mu)^{2}\sigma^{-3}]=0\\ \sum_{i=1}^{N}[{\sigma}^2+(x_{i}-\mu)^{2}]=0\\ \sum_{i=1}^{N}{\sigma}^2+\sum_{i=1}^{N}(x_{i}-\mu)^{2}=0\\ \Rightarrow\sigma_{MLE}^{2}=\frac{1}{N}\sum_{i=1}^{N}(x_{i}-\mu_{MLE})^{2} $$

样本估计期望等于总体期望, 则为无偏估计. 

极大似然对高斯的均值估计是无偏的, 对方差估计是偏小的.

up主推导非常详细! 美中不足就是总说高斯分布的极大似然估计是高中内容(╯▔皿▔)╯ 

之前李宏毅讲解生成式模型时, 也提到高斯分布的极大似然估计:

https://blog.csdn.net/lagoon_lala/article/details/116674811

但没有对参数估计公式进行推导, 而是直接给出了公式

7.3 朴素贝叶斯分类器

朴素贝叶斯分类器的概念

线性分类的方式:

1.硬分类,我们直接需要输出观测对应的分类。这类模型的代表为:

        1)线性判别分析(Fisher 判别)

        2)感知机

2.软分类,产生不同类别的概率,这类算法根据概率方法的不同分为两种

        1)生成式. 根据贝叶斯定理, 对联合概率建模. 先计算参数后验,再进行推断:

        $$ P(y|x)=\frac{P(x|y)\cdot P(y)}{P(x)}\\ \Rightarrow  P(y|x)\propto P(x|y)\cdot P(y)\\ \Rightarrow posterior\propto likelihood\cdot prior $$

        生成式模型即后验最大化:

        $$ \hat y=\arg\max_{y\in \{0,1\}}P(y|x)=\arg\max_y P(y)P(x|y) $$

                i.高斯判别分析(GDA)

                ii.朴素贝叶斯Naive Bayes

        2)判别式. 直接对条件概率P(Y|X)进行建模, 看p(y=1|x), p(y=0|x)哪一个大:Logistic 回归

朴素贝叶斯假设=条件独立假设(attribute conditional independence assumption): 每个属性独立地对分类结果发生影响(基向量的正交性):

 $$ x_i\perp x_j|y,(i\neq j)\\ P(\boldsymbol x|y)=\prod_{j=1}^pP(x_j|y) $$

朴素贝叶斯分类器(naive Bayes classifier)为最简单的有向概率图模型.

假设动机: 简化运算. 估计后验概率 P(cIx) 的主要困难在于类别条件概率P(xIc). 有限样本估计联合概率, 会遭遇组合爆炸, 样本稀疏.

基于属性条件独立性假设(上式),贝叶斯公式可展开:

$$ P(c|\boldsymbol x)=\frac{P(\boldsymbol x|c)P(c)}{P(\boldsymbol x)}=\frac{P(c)}{P(\boldsymbol x)}\prod_{i=1}^d P(x_i|c) $$

其中d为属性数目,x_i为x第i个属性的值.

(因为P(x)为常量, 且有贝叶斯判定准则: 最小化总体->最小化每个样本)用属性条件独立性假设, 将贝叶斯最优分类器公式展开, 得朴素贝叶斯分类器表达式:

$$ h_{nb}(\boldsymbol x)=\arg\min_{c\in\mathcal Y}P(c)\prod_{i=1}^d P(x_i|c) $$

该分类器的训练即估计式中两项: 类先验概率P(c), 每个属性的条件概率P(x_i | c). 该式的计算常取对数防止下溢.

条件概率估计方法

类先验概率:

$$ P(c)=\frac{|D_c|}{|D|} $$

条件概率P(x_i | c):

$$ P(x_i|c)=\frac{|D_{c,x_i}|}{|D_c|}\\ 其中,D_{c,x_i}为D_{c}中, i属性取值为x_i的样本集 $$

连续属性需要对该属性的分布假设一个概率密度函数, 此处设为高斯(注意p不是P, 则为密度函数, 而非条件概率):

$$ p(x_i|c)=\frac{1}{\sqrt{2 \pi \sigma^{2}_{c,i}}} e^{-\frac{({x}-{\mu_{c,i}})^2}{2\sigma^{2}_{c,i}}} $$

{\mu_{c,i}})^2}{2\sigma^{2}_{c,i}}} $$

类先验概率P(c)与条件概率P(x_i | c)估计方法:

先挑出类别为c的样本,

离散属性按计数法估计,

连续属性求样本的均值和方差,按高斯分布估计.

拉普拉斯修正

若该类中无某属性值样本, 则有分子为零问题. 未被观测到≠出现概率为零, 进行平滑处理(smoothing), 常用拉普拉斯修正.

拉普拉斯修正引入关于数据的先验(prior): 假设属性值与类别均匀分布. 数据集变大时, 该先验影响减小.

修正后类先验概率, 条件概率分别为:

$$ \hat P(c)=\frac{|D_c|+1}{|D|+N}\\ \hat P(x_i|c)=\frac{|D_{c,x_i}|+1}{|D_c|+N_i} $$

其中, N为类别数, N_i为第i个属性可取值有几种.

此处南瓜书解释的为拉普拉斯公式的推广(一般形式), 比较复杂, 难以短时间吸收. 其中提到的几种分布还是可以了解一下.

一次实验

多次实验

两种结果

伯努利分布Bernoulli

二项分布Binomial

多种结果

多类别分布Categorical

多项分布Multinomial

狄利克雷分布(Dirichlet distribution)是beta分布的泛化形式, 其共轭分布为多项分布.

后验分布p(θ|x)与先验概率分布p(θ)在同一概率分布族中, 称为共轭分布.

参考: https://github.com/graykode/distribution-is-all-you-need

7.4半朴素贝叶斯分类器

ODE基本思想

属性条件独立性假设很难成立, 放松假设.

半朴素贝叶斯分类器(semi-naïve Bayes classifiers)基本想法: 考虑一部分属性间的相互依赖信息.

独依赖估计ODE (One-Dependent Estimator)最常用: 假设每个属性在类别外依赖一个其他属性.

$$ P(\boldsymbol x|c)=\prod_{i=1}^d P(x_i|c,pa_i)\\ 其中,pa_i为x_i的父属性 $$

独依赖假设:

$$ P(c|\boldsymbol x)\propto P(\boldsymbol x|c)P(c)=P(c)\prod_{i=1}^d P(x_i|c,pa_i)\\ 其中,\propto代表正比 $$

确定父属性后, 类先验概率P(c)估计方法同上节. 条件概率P(x_i | c,pa_i)的估计, 先挑出类别为c、父属性值为pa_i的样本.

父属性的确定主要有以下3中策略.

SPODE

SPODE (Super-Parent ODE)方法假设: 所有属性都依赖于同一个"超父"(super-parent)属性.

超父的确定: 模型选择方法, 如交叉验证.

TAN

TAN (Tree Augmented naive Bayes)基于最大带权生成树(maximum weighted panning tree)算法确定属性依赖关系, 仅保留强相关属性间依赖.

确定属性依赖关系步骤:

1. 计算任意两个属性间的条件互信息 (conditional mutual information)

$$ \text{I}(x_i,x_j|y) = \sum_{n=1}^N{ P(x_i,x_j|c_n) \log{ \left(\frac{P(x_i,x_j|c_n)}{P(x_i|c_n)P(x_j|c_n)} \right) }} $$

其中, N为类别个数. 每对属性一个I, 共d(d-1)/2个.

2. 属性为点, 构建完全图, 边的权重设为条件互信息I.

3. 完全图->最大带权生成树,挑选根变量, 边置为有向.

4. 加入类别结点y, 增加从y到每个属性的有向边.

相关知识: 条件互信息

之前在决策树中用到互信息

信息增益(互信息)=信息熵-条件熵

$$ \mathrm {I}(Y;X) = \mathrm {Ent}(Y) - \mathrm {Ent}(Y|X) $$

其实互信息的概率角度公式, 与本节条件互信息相似(由随机变量X,Y的联合概率分布p(x,y)和边缘概率分布p(x)p(y)得出):

$$ \text{I}(X;Y) = \sum_{y \in \mathcal Y} \sum_{x \in \mathcal X}     { p(x,y) \log{ \left(\frac{p(x,y)}{p(x)\,p(y)} \right) }} $$

AODE

AODE (Averaged One-Dependent Estimator) 将每个属性作为超父构建 SPODE,选择数据足够的SPODE利用集成学习得最终结果:

$$ P(c|\boldsymbol x)\propto \sum_{i=1, |D_{x_i}|\geq m'}^dP(c,x_i)\prod_{j=1}^d P(x_j|c,x_i) $$

其中,D_{x_i}为属性i取值为x_i的样本集, m'=30为阈值常数,确保参与集成的SPODE数据足够.

与独依赖假设公式比较, 因为父属性不再固定, 而是随SPODE不同而改变, pa_i变为x_i.

同时, P(c)中也多了x_i的身影, 猜测父属性固定时, 即便对应改为P(c, pa_i)也是多乘个常量, 不对独依赖假设公式产生影响.

Σ代表将d个SPODE集成.

类先验概率, 条件概率(拉普拉斯修正在AODE的使用方法):

$$ \hat{P}\left(c, x_{i}\right)=\frac{\left|D_{c, x_{i}}\right|+1}{|D|+N_{i}}\\ \hat{P}\left(x_{j} | c, x_{i}\right)=\frac{\left|D_{c, x_{i}, x_{j}}\right|+1}{\left|D_{c, x_{i}}\right|+N_{j}}\\ 其中, N_i为属性i可取值有几种.\\ D_{c, x_{i}}为类别c属性i取值x_i的样本集\\ D_{c, x_{i}, x_{j}}为类别c属性ij上取值x_{i}, x_{j}样本集 $$

通过计数训练, 无需模型选择的分类器(如NB, AODE): 能预计算(节省预测时间), 取懒惰学习(预测时再计数), 增量学习.

kDE: 考虑高阶依赖, 父属性包含k个. 优点,泛化性能有可能提升. 缺点, 重新需要估计高阶联合概率.

7.5 贝叶斯网

相关知识: 概率图模型

参考: https://www.bilibili.com/video/BV1aE411o7qd/

贝叶斯网(Bayesian network)=信念网(belief network)

一个贝叶斯网B由结构G(图)和参数Θ(概率)两部分构成. B=<G, Θ>

属于概率图模型:

G-有向无环图DAG (Directed Acyclic Graph)刻画属性之间的依赖关系. 结点对应于一个属性, 边对应两个属性有直接依赖关系.

如西瓜问题的贝叶斯网结构

 参数Θ(概率)-条件概率表CPT (Conditional Probability Table)描述属性依赖关系的联合概率分布. 当前属性x_i, 父属性π_i, 则条件概率表中:

$$ \theta_{x_i|\pi_i}=P_B(x_i|\pi_i) $$

如, 属性"根蒂"的条件概率表

P(根蒂=硬挺|甜度=高)=0.1

根蒂

甜度

硬挺

蜷缩

0.1

0.9

0.7

0.3

概率图主要包括三部分: 结构, 推断, 学习

7.5.1 结构

常用计算法则:

$$  \begin{align} &Sum\ Rule:p(x_1)=\int p(x_1,x_2)dx_2\ \\ &Product\ Rule:p(x_1,x_2)=p(x_1|x_2)p(x_2)\ \\ &Chain\ Rule:p(x_1,x_2,\cdots,x_p)=\prod\limits_{i=1}^pp(x_i|x_{i+1,x_{i+2} \cdots}x_p)\ \\ &Bayesian\ Rule:p(x_2|x_1)=\frac{p(x_1,x_2)}{p(x_1)} \\ &=\frac{p(x_1,x_2)}{\int p(x_1,x_2)dx_2} =\frac{p(x_1|x_2)p(x_1)}{\int p(x_1|x_2)p(x_2)dx_2} \end{align} $$

贝叶斯网假设每个属性与后裔有依赖关系, 与其他属性均独立. 故所有属性的联合概率分布:

$$ P_B(x_1,x_2,\cdots,x_d)=\prod_{i=1}^d P_B(x_i|\pi_i)=\prod_{i=1}^d \theta_{x_i|\pi_i} $$

在西瓜问题例中代入该公式即:

$$ P(x_1,x_2,x_3,x_4,x_5)=P(x_1)P(x_2)P(x_3|x_1)P(x_4|x_1,x_2)P(x_5|x_2) $$

三变量典型依赖关系

其中符号⊥代表条件独立, ⫫代表边际独立.

同父/倒V形结构

父被观测倒, 则路径堵塞, 两子独立, x3⊥x4|x1成立.

父未知, 则两子不独立, x3⫫x4不成立

 $$ \begin{aligned} P(x_3,x_4|x_1)&\mathop{=}^{Bayesian\ Rule}\frac{P(x_1,x_3,x_4)}{P(x_1)} \\ &\mathop{=}^{Chain\ Rule}\frac{P(x_1)P(x_3|x_1)P(x_4|x_1)}{P(x_1)} \\ &\mathop{=}^{}P(x_3|x_1)P(x_4|x_1) \\ \\ &\Rightarrow x_3\perp x_4|x_1 \end{aligned}  $$

其中应用链式法则时, 根据条件独立假设, 概率p中只有父结点作为条件.

顺序结构(head to tail)

中间结点被观测倒, 则路径堵塞, 两头独立, y⊥z|x成立.

中间结点未知, 则两头不独立, y⫫z不成立

$$ \begin{aligned} P(y,z|x)&=\frac{P(x,y,z)}{P(x)} \\ &=\frac{P(z)P(x|z)P(y|x)}{P(x)} \\ &=\frac{P(z,x)P(y|x)}{P(x)} \\ &=P(z|x)P(y|x) \\ &\Rightarrow y\perp z|x \end{aligned} $$

V结构(head to head)

默认路径堵塞, 子(或者子的后继)未被观测, 双亲相独立, x1⫫x2成立

若子(或者子的后继)被观测, 则路径通, 双亲不再独立, x1⊥x2|x4不成立

(理解: 父母原先相互独立, 有了孩子就绑定了)

$$ \begin{aligned} P\left(x_{1}, x_{2}\right) &=\sum_{x_{4}} P\left(x_{1}, x_{2}, x_{4}\right) \\ &=\sum_{x_{4}} P\left(x_{4} | x_{1}, x_{2}\right) P\left(x_{1},x_{2}\right) \\ &=\sum_{x_{4}} P\left(x_{4} | x_{1}, x_{2}\right) P\left(x_{1}\right) P\left(x_{2}\right) \\ &=P\left(x_{1}\right) P\left(x_{2}\right)\\ &\Rightarrow x_1\perp\!\!\!\perp x_2 \end{aligned} $$

 其中对Σx_4即概率论中常用的, 求边缘概率方法, 将不需要的变量积分/累加, 消掉.

有向分离

D划分(directed-separation): 判断变量间是否具有条件独立性.

1.有向图转为道德图(moral graph),令父结点相连的过程称为"道德化" (moralization).

1) V型结构的两个父结点之间加上一条无向边;

2) 所有有向边改为无向边.

西瓜问题例中对应的道德图为:

 2. 有向分离: 变量xy被z分开, 即从道德图中将集合z去除后xy分属两个连通分支.

西瓜例中的条件独立关系有:

$$ x_3\perp x_4|x_1,\\ x_4\perp x_5|x_2,\\ x_3\perp x_2|x_1,\\ x_3\perp x_5|x_1,\\x_3\perp x_5|x_2 $$

7.5.2 学习

1. (通过"评分搜索")找结构最优的贝叶斯网:  定义评分函数(score function),评估贝叶斯网与训练数据的契合程度. 该函数可引入归纳偏好.

2. (通过对训练样本"计数")估计每个结点的条件概率表CPT.

结构学习

最小描述长度MDL (Minimal Description Length)准则:选择(总编码长度=描述网络+编码数据)最短的贝叶斯网.

贝叶斯网络B=<G, Θ>在训练集D上的评分函数:

$$ s(B|D)=f(\theta)|B|-LL(B|D) $$

其中x_i包括属性和类别, |B|是网络中参数个数, f(θ)为每个参数θ所需字节数.

第一项: 编码贝叶斯网B所需的字节数

第二项: 所对应的概率分布 P_B 对D的描述契合程度, 即贝叶斯网络B的对数似然:

$$ LL(B|D)=\sum_{i=1}^m \log P_B(\boldsymbol x_i) $$

学习任务->优化任务,找B使评分函数s(BID) 最小.

根据参数描述长度f(θ)不同, 可得到不同评分函数:

1. AIC (Akaike Information Criterion) 评分函数

$$ f(\theta)=1\rightarrow \text {AIC}(B|D)=|B|-LL(B|D) $$

2. BIC (Bayesian Information Criterion) 评分函数

$$ f(\theta)=\frac{1}{2}\log m\\ \rightarrow \text {BIC}(B|D)=\frac{1}{2}\log m|B|-LL(B|D) $$

3. 极大似然估计

f(θ)=0, 评分函数退化为负对数似然.

从所有网络结构中搜索最优为NP难, 求近似解策略:

1. 贪心法. 每次调整一条边, 直到评分函数值不再降低.

2. 削减搜索空间. 施加约束, 如限定为树形结构->半朴素贝叶斯分类器.

参数学习

即s(B|D)最小化时, 第一项固定为常数, 第二项对参数Θ极大似然估计.

B的对数似然LL(B|D) 代入条件独立下的联合概率P_B:

$$ P_B(x_1,x_2,\cdots,x_d)=\prod_{i=1}^d P_B(x_i|\pi_i)=\prod_{i=1}^d \theta_{x_i|\pi_i} $$

得参数θ计算方法: 通过经验估计hat P获得(即数据集D上出现频率):

$$ \theta_{x_i|\pi_i}=\hat P_D(x_i|\pi_i) $$

7.5.3 推断

推断(inference): 根据证据evidence (已知变量观测值)推测待查询变量(query). 即学习完成后的预测过程, 计算后验概率.

推断方法:

1.精确推断: 通过贝叶斯网定义的联合概率分布, 计算后验. (NP难)

2.近似推断

       1)确定性近似: 变分推断

       2)随机采样: MCMC(Markov Chain Monte Carlo)其中Metropolis-Hastings的一种-吉布斯采样

吉布斯采样

Gibbs sampling

符号定义:

变量

变量取值

待查询

Q

q

证据

E

e

其他变量

$$ \mathbf Z=\mathbf E\cup \mathbf Q\setminus\{Q_i\} $$

$$ \mathbf z=\mathbf e\cup \mathbf q^{t-1}\setminus\{q_i^{t-1}\} $$

目标是计算后验概率P(Q=q| E=e)

如西瓜问题例中: q={是,高},即求已知e, 好瓜且甜度高的概率.

吉布斯采样算法:

 算法思想: 在E=e的范围内进行采样, 随机初始化点q0, 每一次采样只改变一个q变量. 根据贝叶斯网B和其他变量的当前取值(即Z=z) 得采样概率(即属性值被选到的概率):

$$ P_B(Q_i|\mathbf Z=\mathbf z) $$

再根据这个概率采样得变量Q_i取值.

其中采样的过程为, 根据确定变量, 跳过初始的一定数量的单元(比如100个),然后隔一定的数量取一个单元(比如隔20个取1个)。这样sample到的单元,是逼近联合分布的。

可参考:

https://blog.csdn.net/pipisorry/article/details/51373090

近似估算出后验概率:

$$ P(y|\boldsymbol x)=P(\mathbf Q=\mathbf q|\mathbf E=\mathbf e)\simeq \frac{n_q}{T} $$

其中n_q为T次采样得与q一致的样本个数.

结束时, 每个查询变量都被更新T轮.

吉布斯采样是随机漫步(random walk), 范围: 所有变量的联合状态空间与证据 E=e一致的子空间.

马尔可夫链(Markov chain): 每一步仅依赖于前一步.

T很大时, 分布收敛于P(Q | E=e), 即相当于在该分布采样.

吉布斯采样算法缺点:

1. 马尔可夫链收敛速度较慢.

2. 对极端概率0/1给出错误概率.

7.6 EM算法

根据南瓜书的提示, EM算法以李航书为主, 西瓜书仅作了解.

隐变量(latent variable): 未观测变量

概率模型的变量都是观测变量: 直接用极大似然估计法,或贝叶斯估计法估计模型参数

模型含有隐变量-EM算法: 含有隐变量的概率模型参数的极大似然估计法,或极大后验概率估计

符号定义:

己观测变量集

X

隐变量集

Z

模型参数

Θ

Θ的对数似然函数:

$$ LL(\Theta)=\ln P(\mathbf X,\mathbf Z|\Theta) $$

隐变量Z无法直接得, 计算Z的期望, 通过边际似然(marginal likelihood)消去Z, 代替原似然函数:

$$ LL(\Theta)=\ln P(\mathbf X|\Theta)=\ln \sum_{\mathbf Z}P(\mathbf X,\mathbf Z|\Theta) $$

EM (Expectation-Maximization) 算法, 两组参数Z和Θ相互约束, 不能同时求解. 则E步与M步交替迭代, 至收敛到局部最优解:

1.期望E步: 基于估计的参数值Θ, 计算Z的期望值. (或计算隐变量的分布-各结果概率/或对数似然LL(Θ)关于Z的期望)

2.最大化M步: 基于X, Z, 对参数值Θ做极大似然估计. (更新Θ, 使E步所得期望最大化)

EM算法(非梯度优化)为坐标下降(coordinate descent)法: 每步迭代沿一个坐标方向x_i进行搜索. (不计算梯度, 仅求解一维搜索问题)

$$ x_i^{t+1}=\arg\min_{y\in \mathbb R}f(x_1^{t+1},\cdots,x_{i-1}^{t+1},y,x_{i+1}^{t},\cdots,x_{d}^{t}) $$

更新值为y, y之前的维度(如x1)都在该轮更新过了, 所以上标t+1.

例: 三硬币模型(统计学习方法)

可先看两硬币模型, 没有那么抽象, 更好理解. 参考:

https://zhuanlan.zhihu.com/p/102275054

假设有3枚硬币,分别记作A,B,C。这些硬币正面出现的概率分别是 π,p和q。进行如下掷硬币试验:先掷硬币A,根据其结果选出硬币B或硬币C,正面选硬币B,反面选硬币C;然后掷选出的硬币,掷硬币的结果,出现正面记作1,出现反面记作0;独立地重复n次试验(这里,n=10),观测结果如下:

1,1,0,1,0,0,1,0,1,1

假设只能观测到掷硬币的结果,不能观测掷硬币的过程。问如何估计三硬币正面出现的概率,即三硬币模型的参数.

三硬币模型可以写作

$$ \begin{aligned} P(y \mid \theta) &=\sum_{z} P(y, z \mid \theta)=\sum_{z} P(z \mid \theta) P(y \mid z, \theta) \\ &=\pi p^{y}(1-p)^{1-y}+(1-\pi) q^{y}(1-q)^{1-y} \end{aligned} $$

这里, 随机变量\( y \)是观测变量, 表示一次试验观测的结果是 1 或 0 ; 随机变量\( z \)是隐 变量, 表示末观测到的掷硬币 \( \mathrm{A} \) 的结果; \( \theta=(\pi, p, q) \) 是模型参数。这一模型是以上数据的生成模型。注意, 随机变量 \( y \) 的数据可以观测, 随机变量 \( z \)的数据不可观测。

将观测数据表示为 Y, 末观测数据表示为 Z, 则观测数据的似然函数为

$$ P(Y \mid \theta)=\sum_{Z} P(Z \mid \theta) P(Y \mid Z, \theta) $$

求模型参数 $\theta=(\pi, p, q)$ 的极大似然估计, 即

$$ \hat{\theta}=\arg \max _{\theta} \log P(Y \mid \theta) $$

迭代时E步计算隐变量的分布, 即Y来自掷硬币B的概率:

(已知第i次迭代固定的参数\( \theta^i \), 计算第i+1次参数)

$$ \mu_{j}^{(i+1)}=\frac{\pi^{(i)}\left(p^{(i)}\right)^{y_{j}}\left(1-p^{(i)}\right)^{1-y_{j}}}{\pi^{(i)}\left(p^{(i)}\right)^{y_{j}}\left(1-p^{(i)}\right)^{1-y_{j}}+\left(1-\pi^{(i)}\right)\left(q^{(i)}\right)^{y_{j}}\left(1-q^{(i)}\right)^{1-y_{j}}} $$

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值