多元分析的处理方法
2016-04-02 12:31
344 查看
如何处理多元分析的积分问题
直接使用多元函数积分
考虑如下的例子选自PRML3.13:对于\(t\in\mathcal{R}^1\)和\(w\in\mathcal{R}^d\)求下列积分
\(\int \mathcal{N}(t\,\lvert\,\phi^T(x)w,\,\beta^{-1})\cdot\mathcal{N}(w\,\lvert\,m_N,\,\beta^{-1}S_N)\,dw\)
作如下整理:
\(\frac{1}{(2\pi)^{\frac{1}{2}}(\beta^{-1})^{\frac{1}{2}}}\frac{1}{(2\pi)^{\frac{d}{2}} \lvert \beta^{-1}S_N\lvert^{\frac{1}{2}}}\int e^{-\frac{\beta}{2}(t^2+m_N^TS_N^{-1}m_N+w^T(S_N^{-1}+\phi(x)\phi^T(x))w-2(m_N^TS_N^{-1}+t\phi^T(x))w)}\)
令\(P_N^{-1} = S_N^{-1}+\phi(x)\phi^T(x)\), \(w'=m_N^TS_N^{-1}+t\phi^T(x)\),则有:
原式$ = \frac{1}{(2\pi)^{\frac{1}{2}}(\beta^{-1})^{\frac{1}{2}}}\frac{\lvert \beta^{-1}P_N\lvert^{\frac{1}{2}}}{\lvert \beta^{-1}S_N\lvert^{\frac{1}{2}}}e^{-\frac{\beta}{2}(t^2+m_N^TS_N^{-1}m_N-w'^TP_Nw')}\int\mathcal{N}(w,\lvert,P_Nw',,\beta^{-1}P_N),dw = \frac{1}{(2\pi)^{\frac{1}{2}}(\beta^{-1})^{\frac{1}{2}}}\frac{\lvert \beta^{-1}P_N\lvert^{\frac{1}{2}}}{\lvert \beta^{-1}S_N\lvert^{\frac{1}{2}}}e^{-\frac{\beta}{2}(t^2+m_N^TS_N^{-1}m_N-w'^TP_Nw')}$
下面我们单独计算一下\(w'^TP_Nw' = (m_N^T+t\phi^T(x))(S_N^{-1}+\phi(x)\phi^T(x))^{-1}(S_N^{-1}m_N+t\phi(x)) = (m_N^T+t\phi^T(x)S_N)(I+\phi(x)\phi^T(x)S_N)^{-1}(S_N^{-1}m_N+t\phi(x))\)
由Sherman-Morrision-Woodbury公式,
\((I+\phi(x)\phi^T(x)S_N)^{-1} = I - \frac{\phi(x)\phi^T(x)S_N}{1+\phi^T(x)S_N\phi(x)}\)
令\(\gamma = \phi^T(x)S_N\phi(x)\)上式化为:
\((m_N^T+t\phi^T(x)S_N)(I+\phi(x)\phi^T(x)S_N)^{-1}(S_N^{-1}m_N+t\phi(x)) = m_N^TS_N^{-1}m_N + t^2 - \frac{(t-\phi^T(x)m_N)^2}{1+\gamma}\)
所以,原式$ = \frac{1}{(2\pi)^{\frac{1}{2}}(\beta^{-1})^{\frac{1}{2}}}\frac{\lvert \beta^{-1}P_N\lvert^{\frac{1}{2}}}{\lvert \beta^{-1}S_N\lvert^{\frac{1}{2}}}e^{-\frac{\beta}{2}(t^2+m_N^TS_N^{-1}m_N-w'^TP_Nw')} = \frac{1}{(2\pi)^{\frac{1}{2}}(\beta^{-1})^{\frac{1}{2}}}\frac{1}{\lvert I+\phi(x)\phi^T(x)S_N \lvert^{\frac{1}{2}}}e^{-\frac{\beta}{2(1+\gamma)}(t-\phi^T(x)m_N)^2}$
下面考察一下\(\lvert I+\phi(x)\phi^T(x)S_N \lvert\)
\(\lvert I+\phi(x)\phi^T(x)S_N \lvert = \prod\limits_{i = 1}^d\lambda_i\)
我们注意到如下事实,
\((I+\phi(x)\phi^T(x)S_N)\phi(x) = (1+\gamma)\phi(x)\),所以\(1+\gamma\)是\(I+\phi(x)\phi^T(x)S_N\)的特征根
如果\(\phi^T(x)\varphi = 0\),
则\((I+\phi(x)\phi^T(x)S_N)\varphi = \varphi + \phi(x)\varphi^TS_N\phi(x) = \varphi\),显然和\(\phi(x)\)正交的向量有\(d-1\)个,所以1是\(I+\phi(x)\phi^T(x)S_N\)的\(d-1\)维的特征根。
综合这两点,可以得出\(\lvert I+\phi(x)\phi^T(x)S_N \lvert = \prod\limits_{i = 1}^d\lambda_i = (1+\gamma)\)
所以,原式化成\(\frac{1}{(2\pi)^{\frac{1}{2}}(\beta^{-1}(1+\gamma))^{\frac{1}{2}}}e^{-\frac{\beta}{2(1+\gamma)}(t-\phi^T(x)m_N)^2} = \mathcal{N}(t\,\lvert\,\phi^T(x)m_N,\ \beta^{-1}(1+\phi^T(x)S_N\phi(x))\)
总结:可以看出,虽然我们在初等微积分里面经常强调要手算,但是对于以上的多元情况的概率积分而言,情况显然已经非常的复杂,虽然手算可以算出来,但是非常的麻烦和浪费时间,得不偿失。而且,为了得到某些结果,往往需要具有一定的观察力和经验积累,例如上面的\(\lvert I+\phi(x)\phi^T(x)S_N \lvert\)的计算需要我们从其特征根入手进行转换,\((I+\phi(x)\phi^T(x)S_N)^{-1}\)的计算就需要运用公式,如果对这些不是很熟悉,想要算出最终结果几乎是不可能的。而且,我们可以发现,即使要从最终结果反推回去也是很困难的,必须要有敢于尝试的决心和计算下去的毅力才行。当然,上面相同的处理过程也适用于条件分布公式的计算。
利用公式处理
另外一种做法可能更具有指导意义,就是灵活运用各类公式,例如对于上面的例子,我们可以作如下变形:\(\int \mathcal{N}(t\,\lvert\,\phi^T(x)w,\,\beta^{-1})\cdot\mathcal{N}(w\,\lvert\,m_N,\,\beta^{-1}S_N)\,dw\) = \(\int P(t|w)P(w)dw = P(t)\)
也就是上式变成了一个利用条件分布求边缘分布的问题,那么利用如下的一组公式,可以快速求解:
\[P(x) = \mathcal{N}(x\,\lvert\,\mu,\ \Lambda^{-1})\tag{1}\]
\[P(y\lvert x) = \mathcal{N}(y\,\lvert\,Ax+b,\ L^{-1})\tag{2}\]
\[P(y) = \mathcal{N}(y\,\lvert\,A\mu+b,\ L^{-1}+A\Lambda^{-1}A^T)\tag{3}\]
\[P(x\lvert y) = \mathcal{N}(x\,\lvert\,\Sigma\{A^TL(y-b)+\Lambda\mu\},\ \Sigma)\tag{4}\]
with
\[\Sigma = (\Lambda+A^TLA)^{-1}\].
相关文章推荐
- 轮播图系列教程(一)——和派孔明
- Python-基本语法
- hdu3592 World Exhibition--单源最短路径&差分约束
- KeyValue and HFile create
- 【转】request和response的页面跳转
- mysql 阅读文章
- 【JQuery】toggle函数
- leetcode——118—— Pascal's Triangle
- JavaWeb-10(会话技术之session&JSP)
- 宏和函数的简单比较
- springMVC4(6)Unitils断言与整合测试
- 34.leetcode题目260: Single Number III
- PHP开发APP接口(二)
- cf246 ENew Reform (并查集找环)
- 10分钟-jQuery操作DOM元素
- 深度学习---DBN overview
- 四则运算4(完结)
- 安卓虚拟定位使用教程
- 安装xampp时提示找不到文件“-n”,提示没有安装Microsoft Visual C++ 2008 Redistributable Package (x86)
- 楼梯有n阶台阶,上楼可以一步上1阶,2阶,3阶,编程序计算共有多少种不同的走法?