生成模型

生成模型是区别于判别模型而言的一种监督学习模型,它是一种概率模型,比如决策树、朴素贝叶斯、HMM、GMM、条件随机场等。 而非概率模型有感知机、支持向量机、kNN、AdaBoost、K-means、神经网络等。

# EM 算法

EM 算法是一种迭代算法,用于含有隐变量的概率模型的极大似然估计。

其核心是 Q 函数的确定,

Q函数就是完全数据的对数似然函数 logP(Y,Zθ)\log P(Y, Z | \theta) 在给定观测数据 Y 和当前参数 θ(i)\theta^{(i)} 的情况下关于未观测数据 Z 的条件概率分布 P(ZY,θ(i))P(Z|Y, \theta^{(i)}) 的期望。写作 Q(θ.θ(i))=EZ[logP(Y,Zθ)Y,θ(i)]Q(\theta. \theta^{(i)}) = E_{Z}[\log P(Y, Z | \theta) | Y, \theta^{(i)}]

当确定了 Q 函数之后,通过 E 步和 M 步分别求 Q 和 极大化 Q 即可迭代求解参数 θ\theta

# HMM

隐马尔科夫模型(HMM)是关于时序的概率模型,描述一个由马尔科夫链随机生成不可观测的状态序列,再由各个状态随机生成一个观测从而产生观测序列的过程。 其三要素为

  • 初始状态向量 π\pi
  • 状态转移概率矩阵 AA
  • 观测概率矩阵 BB

在给定三要素的情况下,HMM 模型表示为 λ=(A,B,π)\lambda = (A, B, \pi),它是一个生成模型,表示状态序列和观测序列的联合分布。 HMM 涉及到三个问题

  • 概率计算问题:给定 λ\lambda 和观测序列 O=(o1,o2,,oT)O = (o_1, o_2, \cdots, o_T),计算 P(Oλ)P(O | \lambda),前向-后向算法可以高效进行概率计算。
  • 学习问题:已知观测序列 OO,估计模型 λ\lambda 的参数,使得在该模型下观测序列概率 P(Oλ)P(O | \lambda) 最大,此时需要 EM 算法的支持。
  • 预测问题:已知模型 λ\lambda 和观测序列 OO,求使得 P(IO)P(I | O) 最大的状态序列,维特比算法应用动态规划算法求解路径结构中的最优路径。