半监督主题模型Correlation Explanation

半监督主题模型Correlation Explanation

Correlation Explanation是一种分析变量相关性的方法,可用于包含离散变量的任意数据(作者似乎把连续数据的模型也弄出来了,详细可参考作者的Github)。Correlation Explanation的基本原理是,假设变量 Y Y Y能对变量 X X X很好地进行“解释”,即变量 Y Y Y X X X强相关,那么 X X X应该具有较低的不确定性,而对解释程度的量化是使用熵来描述的。

换个思路理解这个原理,有点像使用 Y Y Y去对 X X X进行聚类(对特征聚类而不是对数据聚类),假设 X X X N N N个维度,我们现在想用 M M M Y Y Y去“解释” X X X,当 X i X_i Xi分配合理时,每个 Y j Y_j Yj应该包含若干个 X i X_i Xi,且每个 Y j Y_j Yj内的 X i X_i Xi达到较高相关度解释。

把这个思路对应到NLP中,就是做文本聚类/主题模型了,但也有点不一样,这里应该是对词/Token做聚类,文档的主题分布反而是副产品。

至于为什么是半监督,是因为建模的过程中引入了一个选择主题的变量 α i , j \alpha_{i, j} αi,j,可以在优化时固定某些值,即事先设定一些主题的Anchor词,优化后可以把相关的其他词聚在一起。

模型使用熵去描述目标函数,使用Lagrange乘子法优化,优化的过程类似EM过程或者坐标上升法,原理上比起Bayesian相关的Gibbs采样、Variational Inference,要简单一些。但是也由于这个模型需要信息论相关的知识体系(比如信息瓶颈之类的),在当前机器学习社区里面讨论的不多,造成原文理解起来有一定难度,所以这里就作一些浅显的解读。

  1. Discovering Structure in High-Dimensional Data Through Correlation Explanation
  2. Agglomerative Information Bottleneck
  3. Anchored Correlation Explanation: Topic Modeling with Minimal Domain Knowledge
  4. Correlation Explaination 学习笔记

信息论基础

随机变量 X X X的熵为:

H ( X ) = − ∑ X p ( x ) ⋅ log ( p ( x ) ) H(X) = -\sum_{X}{p(x) \cdot \text{log}(p(x))} H(X)=Xp(x)log(p(x))

两个随机变量的互信息为:

I ( X 1 : X 2 ) = H ( X 1 ) + H ( X 2 ) − H ( X 1 , X 2 ) I(X_1: X_2) = H(X_1) + H(X_2) - H(X_1, X_2) I(X1:X2)=H(X1)+H(X2)H(X1,X2)

定义Total Correlation:

T C ( X G ) = ∑ i ∈ G H ( X i ) − H ( X G ) {TC}(X_G) = \sum_{i \in G}{H(X_i)} - H(X_G) TC(XG)=iGH(Xi)H(XG)

其中 G G G X X X的一个子集,直观来看就是子集中每一个随机变量熵之和减去子集的联合熵,当 G G G中只有两个变量时, T C TC TC等价于两个变量的互信息。也就是说 T C TC TC描述了集合中变量间的依赖程度。使用KL散度去理解可能会更加清晰:

T C ( X G ) = ∑ i ∈ G H ( X i ) − H ( X G ) = ∑ i ∈ G l o g ( p ( x i ) ) ( ∫ j ≠ i p ( x G ) d x j ) d x i − H ( X G ) = ∫ x G p ( x G ) l o g ( p ( x G ) ∏ i ∈ G p ( x i ) ) d x G = D K L ( p ( x G ) ∥ ∏ i ∈ G p ( x i ) ) (6) \begin{array}{rcl} TC(X_G) & = & \sum\limits_{i \in G} H(X_i) - H(X_G) \\ & = & \sum\limits_{i \in G} log\big( p(x_i) \big) \big( \int\limits_{j \neq i} p(x_G)d{x_j} \big) d{x_i} - H(X_G) \\ & = & \int\limits_{x_G} p(x_G)log\big( \frac{p(x_G)}{\prod\limits_{i \in G} p(x_i)} \big) d{x_G} \\ & = & D_{KL}\bigg( p(x_G) \| \prod\limits_{i \in G}p(x_i) \bigg) \end{array} \tag{6} TC(XG)====iGH(Xi)H(XG)iGlog(p(xi))(j=ip(xG)dxj)dxiH(XG)xGp(xG)log(iGp(xi)p(xG))dx

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值