对posterior = prior * likelihood、hyperparameter的理解

机器学习的问题可以分为两步,一是modeling/inference,二是predicting。modeling就是试图为数据/visible variable(s)/training set做出解释——找出数据产生的模型distribution/模式pattern(数据与所属类别的关系、数据与regression的关系);predicting是利用这种解释来做决策——对具体的new data进行分类、回归。

这两步都可看做试图从visible variable(s)推知latent variable。inference中是从数据集D推知model——求解p(u|D),u为模型参数;decision是从具体数据推知所属类别或相关regression——求解p(c|x)或p(y|x)。

posterior = prior * likelihood

p(latent variable|visible variable) is propotional to p(latent variable) * p(visible variable|latent variable)

prior代表在未研究visible variable之前我们对latent variable的认识(或许叫belief更合适),posterior代表在研究了visible variable之后我们对latent variable的认识。之所以引入prior是因为likelihood alone只考虑了数据,因此有overfitting的毛病,prior可以对这种overfitting加以控制。

单独对modeling inference来说,是为了确定数据分布或者说u,不同的u决定了不同的数据分布模型,因此我们的prior belief应该是u的分布p(u),而不同的分布(不同的belief)则需要通过所谓hyperparameter(s)来控制,如beta distribution中的a,b。

多说一点关于likelihood和probability,两者形式相同,都是描述某分布下某数据产生的概率。只不过probability把重点放在数据上,考虑的是在this particular distribution之下不同数据产生的概率;而likelihood考察的则是不同distribution,考虑的是this particular set of data在不同distribution之下产生的概率,或者说考虑的是不同distribution对数据的支持程度。

posted @ 2013-01-09 17:39  ChrisMachineLearning  阅读(1310)  评论(0)    收藏  举报