HDP 的学习
Dirichlet process
详细见world笔记
参考MIT那篇博士论文相关部分
框架
1.Bernoulli 分布、二项分布 binomial distribution→ 2.Beta分布、多项式分布→ 3.Dirichlet分布→ 4.dirichlet 过程→ 5.分层dirichlet过程(HDP)
(Bernoulli 分布→Beta分布→ Dirichlet分布参考《模式识别和机器学习》第二章内容)
1, Bernoulli分布
投掷不完美硬币的实验:
一次实验结果x=1or0,且P(X-1)=μ,则x的分布为:
,其中x=0或1; (1)
假设我们有一个数据集D={X1,X2,…XN}来自于独立观察N次的结果,则有似然函数:
(2)
然后我们通过极大化似然函数或log似然函数(求导)来得到 的值:
(2.1);
Binomial distribution
投掷多次不完美硬币的实验:进行N次独立重复的0-1实验后,x=1的次数m服从二项分布(binomial distribution)
(3)
2,Beta 分布
由于似然函数(3)的形式,可知,如果我们选择一个先验,它的形式也是 和1- 的乘积形式,那么得到的后验形式也和(3)一样,即也是 和 各自的指数的乘积的形式。这就叫做共轭。也就是说,共轭是和似然函数的形式有关的。
于是,我们考虑采用beta分布,因为其分布函数为:
(4)
在这里,a,b为超参数,因为它们是对 进行控制的,可以分别表示先验中对x=1和x=0出现次数的估计。 是归一化参数,为了保证beta在0,1上的积分为1.
且有期望、方差满足:
E[ (4.1)
假设经过观测,出现x=1和x=0出现次数分别为m和l,利用似然函数(3)计算后验,只考虑和 有关的因子,则有
(5)
对照(4),得到系数为 .
即得到后验为:
(6)
如果后续还有观测值,(6)也可以作为先验,继而不断地对先验进行修正。
如果要进行预测,可用下公式:
| (7)
关于当观测值趋近无穷时以上推导就各种不适应了(这是不是跟后来dirichlet过程有关?)
但是观测的数据量接近无穷时,也就是m和n 都趋近于无穷,此时(7)无法进行预测;且(4.2)中方差趋近于0,也就是当数据量无穷增大时,利用后验进行预测的稳定性我们不能确定。
多项式分布 multinomial distribution 扔骰子
多项式分布,经典例子为扔不完美骰子,实际上是伯努利分布的一个推广,后者观测结果只有0和1,独立重复N次后x=1的次数服从伯努利分布;但多项式分布的结果可以有k个,注意每次观测中只有一个结果发生;同样独立重复N次后,每个可能结果出现的次数m1,m2….mk,服从的就是多项式分布。如上,假设一个实验有6个结果,某次实验出现第三个结果表示为x=(0,0,1,0,0,0)。也就是扔骰子,出现3就表示为(0,0,1,0,0,0)。
具体阐述如下:
一次实验可能有k个可能,设某次实验中第k个事件发生,且对应的概率为 ,则有:
(8)
现在进行独立重复的N次实验,有N个观测结果xN ,则联合概率分布函数表示为:
(9)
mk= 即在所有观测结果中,第k个事件出现的次数,也叫做这个分布的sufficient statistics,引入拉格朗日因子后利用最大似然求出:
(10)
根据(9),则m1,m2….mk的联合概率分布为:
(11)
且有:
3 dirichlet分布
我们上面巴拉巴拉说了半天多项分布,是因为我们这里要说的dirichlet分布,其实是为了给多项分布中的μ找个先验而提出的,也就是dirichlet分布其实是多项分布的先验。
因此,为了满足共轭,我们观察多项分布的似然函数(9),发现共轭先验的形式应该是:
(12)
这个分布的规范化的形式为:
(13)
其中
把先验(13)带入到多项式分布的似然函数(11)中,得到的后验形式也是dirichlet分布的形式,如下:
(14)
因此对照dirichlet分布函数,可以得到它的系数,则有:
(15)
由于beta分布中的超参数a,b 可以认为是对x=1和x=0的先验估计,因此dirichlet分布中的α也可以认为是观测值xk=1的一个先验估计。
这样理解会比较容易,Dirichlet分布定义的其实是一个概率,确定某个事件k的概率则把k带入公式(13)中进行计算就可以得到某事件的概率,这样把它作为事件的概率带入多项式公式中计算表示每个事件各发生多少次的向量,就可以得到该向量发生的概率后验。
概念:
中性:dirichlet过程中测度空间可以划分为很多小的区域,一个分布是中性的概念指:任何一个小区域里,它的分布和其他的小区域中的分布时没有关系的,也就是说除了normalization constraint ,各个小区域(cell)之间互不影响。
每个cell的后验分布,与落入其中的观测值有关,与没有落入其中的观测值无关。
截棍模型 stick-breaking process
截棍模型是一个DP过程的生成过程,而罐子模型\中国餐馆模型可以看成一个预测模型
的另一种理解:由于 ,所以在截棍模型中, 越大,它截取新的一截木棍的比例就越小。
罐子模型[相关公式见收藏夹[Polya urn model (Polya 罐子模型) [转]]
In an urn model, objects of real interest (such as atoms, people, cars, etc.) are represented as colored balls in an urn or other container. In the basic urn model, the urn contains x white and yblack balls; one ball is drawn randomly from the urn and its color observed; it is then placed back in the urn, and the selection process is repeated. Questions can then be asked about the probability of drawing one color or another, or some other properties.(取出黑球或白球后,再放回,再随机取出)
The Polya urn model differs only in that, when a ball of a particular color is drawn, that ball is put back along with a new ball of the same color. Thus, unlike in the basic model, the contents of the urn change over time, with a self-reinforcing property sometimes expressed as the rich get richer.(随机取出黑球或白球,然后另找个和这个球颜色一样的球,伴随原来取出的球一起放回去.再随机抽取新的球)
Note that in some sense, the Polya urn model is the "opposite" of the model of sampling without replacement(是说只取不放么?--貌似是). When sampling without replacement, every time a particular value is observed, it is less likely to be observed again, whereas in a Polya urn model, an observed value is more likely to be observed again. In both of these models, the act of measurement has an effect on the outcome of future measurements. (For comparison, when sampling with replacement, observation of a particular value has no effect on how likely it is to observe that value again.) Note also that in a Polya urn model, successive acts of measurement over time have less and less effect on future measurements, whereas in sampling without replacement, the opposite is true: After a certain number of measurements of a particular value, that value will never be seen again.
中国餐馆模型