潜变量(latent variable)
/ LAY-tunt VAIR-ee-uh-bul /
潜变量,是你相信正在影响你的数据、却无法直接测量的某样东西——它始终待在幕布后面。你从不会把「顾客满意度」或「一个人潜在的健康状况」当成一个数字直接观测到;你观测到的是它们的效应:评价、复购、血检、症状。潜变量,就是你为了把可见的线索讲通而假定出来的那个隐藏原因,是你假设它正在拨动那些你读得到的刻度盘的、看不见的旋钮。
为什么要费劲去虚构一个看不见的东西?因为它往往能把一堆杂乱的观测解释得简单得多。假设你测量了几十项体能与语言测验的分数;与其去追踪它们之间纠缠不清的全部相关性,不如提出一两个隐藏特质——比方说「语言能力」和「空间能力」——一旦知道了它们,那些分数便各归其位。潜变量把混沌压缩成寥寥几个有意义的旋钮,这正是从主题建模、到现代生成模型内部那种紧凑「编码」背后的核心思想。
它为何重要,又该在何处当心:潜变量是概率模型用来捕捉「原始数据里没有明写的结构」的方式,而推断它们,恰恰是EM、变分推断这类算法生来要做的事。诚实的提醒是:潜变量是一种建模的选择,而非被发现的事实。你可以拟合一个假定了「智力」或「人格类型」的模型,得出漂亮的数字,但那个隐藏之物是否存在、以及任何关于它「究竟」是什么的说法,都是你强加的假设——而非「幕后藏的正是你所命名之物」的证明。
对新闻文章做主题建模。你能数得着的词语是观测到的;而每篇文章的「主题」——体育、政治、财经——则是一个无人标注的潜变量。模型假定每篇文章混合了若干隐藏主题,而每个主题偏爱某些特定的词。把潜在主题推断出来,系统便能把文章归类,尽管从没有人告诉过它那些类别。
一个潜变量(文章的主题)从未被直接观测,而是从它倾向于产生的词语中推断出来的。
一个能很好拟合数据的潜变量,并不因此就被证明真实存在。那些假定了隐藏「因子」或「类型」的模型,可以既有用又能预测,而它所命名的那个实体,始终只是一种解释性的假设——切勿把一个方便好用的隐藏原因,错当成一个已被证实的原因。