大师兄的贝叶斯网络学习笔记(五十五):贝叶斯网络(二十九)
大师兄的贝叶斯网络学习笔记(五十七):贝叶斯网络(三十一)
九、隐结构模型学习
4. 隐类模型
4.1 隐变量模型选择与大样本理论
- 在讨论模型选择时曾经提到,在隐变量模型中,最大似然估计是不唯一的。
- 所以在对边缘似然度进行大样本近似时,拉普拉斯方法并不适用。
- 下面以隐类模型为例说明隐变量模型中最大似然估计的不唯一性。
- 设G是一个由隐变量X和显变量
所组成的隐类模型,D是关于显变量的一组数据,其中X的取值缺失。
- 设θ*时G的参数的一个最大似然估计。
- 另外,设
为X的两个不同的状态,并且
。
- 定义另一组参数值θ'为$\usepackage{amsmath}
\usepackage{ctex} % 支持中文编译
\begin{align}
P(X = x \mid \mathcal{G}, \theta') &=
\begin{cases}
P(X = x_2 \mid \mathcal{G}, \theta^), & \text{当 } x = x_1 \
P(X = x_1 \mid \mathcal{G}, \theta^), & \text{当 } x = x_2 \
P(X = x \mid \mathcal{G}, \theta^), & \text{其它情况}
\end{cases} \[10pt]
P(Y_i \mid X = x, \mathcal{G}, \theta') &=
\begin{cases}
P(Y_i \mid X = x_2, \mathcal{G}, \theta^), & \text{当 } x = x_1 \
P(Y_i \mid X = x_1, \mathcal{G}, \theta^), & \text{当 } x = x_2 \
P(Y_i \mid X = x, \mathcal{G}, \theta^), & \text{其它情况}
\end{cases}
\end{align}$
- 那么有
- 这意味着
于隐类模型不唯一。
- 上面揭示的事实可以推广为:在隐变量模型中,调换隐变量状态的名称(renaming states of latent variables)不会改变显变量的分布。
- 这是一种特殊的不可分变性,称为隐状态的不可分变性(unidentifiability of latent states)。
9.4.3 隐类模型学习算法
- 隐类模型学习又称为隐类分析(latent class analysis),它的出发点是一组关于显变量
的数据。
- 通过对这些数据进行分析,要确定的是:
- (1) 隐变量X的势;
- (2) 概率分布
![]()
- 确定隐变量的势等于是确定隐类的个数,确定
就是确定每个隐类的统计特性。
- 因此,隐类分析是一种基于模型的聚类(model-based clustering)分析。
LearnLCM-HC(Y, 𝒢, f, δ)
输入:Y —— 一组显变量; 𝒟 —— 一组关于 Y 的数据;
f —— 一个模型评分函数; δ —— EM 算法收敛阈值。
输出:一个隐类模型;
1: C ← 2;
2: 𝒢 ← LCM(Y, C);
3: θ ← EM(𝒢, 𝒟, δ);
4: oldScore ← f(𝒢, θ | 𝒟);
5: while (true)
6: C ← C + 1;
7: 𝒢' ← LCM(Y, C);
8: θ' ← EM(𝒢', 𝒟, δ);
9: newScore ← f(𝒢', θ' | 𝒟)
10: if(newScore > oldScore)
11: 𝒢 ← 𝒢'; θ ← θ'; oldScore ← newScore;
12: else
13: return (𝒢, θ);
14: end if
15: end while
- 以上是一个学习隐类模型的爬山算LearnLCM-HC。
- 其中LCM(Y,C)代表由显变量集合Y和一个势位C的隐变量所组成的隐类模型。
- 另外,尽管诸如BICe、CS、BIC和AIC的评分函数在理论上只依赖模型结构G和数据D,但是在实际中需要计算G的参数的最大似然估计,然后基于这个估计计算模型的评分,所以在LearnLCM-HC算法中,评分函数f被视为是模型G、数据D以及参数估计θ三者的函数。
- LearnLCM-HC算法首先考虑隐变量的势为2的情况,调用EM估计模型的参数,并计算模型的评分。
- 然后逐步增加隐变量的势,直到模型评分不再增加为止。