在机器学习里面经常遇到推断和学习两个词,下面对其进行区分。
图模型通常包括三种节点,观测变量、隐变量和参数, 分别用 表示。习惯上把计算隐变量分布的过程称作推断,把对参数的后验估计称作学习。具体的,推断是指计算的过程, 而学习是计算
的过程。 在上面的过程中,如果先验分布是均匀分布,那么 极大后验估计就退化成了极大似然估计。 这样的区分是有一定道理的,通常情况下,参数的个数是相对较少的, 后验分布是一个尖顶分布,因此可以用点估计。隐变量本身就是随机变量, 因此需要得到一个分布,频率派很自然的这样的理解。
上面的说法在贝叶斯派里面不再成立,这是因为贝叶斯派认为 参数也是随机变量,学习也可以看成是推断, 二者没有明显区别。 不过我们仍然可以进行区分。参数和隐变量的主要区别在于它们的数量的 增长情况不同。一般情况下,一个观测变量会有几个隐变量,隐变量的数量会 随着训练集的增加而显著增加。与此相对的是参数的数量不随着 训练集的变化而变化。 从数量的角度考虑,由于参数的数量相对较少, 我们可以对其进行点估计,或者求后验分布。相反的,由于数量的过多的 原因必须把隐变量积分掉以避免过拟合的出现。
最后,以上说法总是一般的情况,有时候参数和隐变量是相对的。例如在主题模型里面,文档级别参数θ在文档 里面是参数,而在整个文档集里又可以看作隐变量。不过对的计算需要整个文档集,不能对其进行点估计,因此计算的过程看作是推断更符合一般的 思维。