2022-09-10

WARNING: This article may be obsolete
This post was published in 2022-09-10. Obviously, expired content is less useful to users if it has already pasted its expiration date.
This article is categorized as "Garbage" . It should NEVER be appeared in your search engine's results.

所谓“改进的Forward-backward Algorithm”

首先合并一个老笔记:p=7808

下面是笔记原文:


🔗 [卡尔曼滤波与隐马尔可夫模型 - TrueNobility303] https://truenobility303.github.io/Filter/


这篇草稿写于2022-08-04,但直到2022-09-10才开始处理。已经有一段时间没有推导bayesian net那些东西了,我认为上面的这个公式并不难推导,并没有隐藏着什么新知识,使用常规方法即可。

但我并不认为这个forward-backward有时间效率上的“改进”,但可能在计算一系列bayesian smoothing数值的时候更容易理解“迭代”的优点。现在对这个公式进行总结:

目标:求bayesian smoothing: [mathjax]\alpha(S_t)=P(S_t \vert O_{1:T})[/mathjax] .

方法:需要递推当前时间[mathjax]t[/mathjax]对应的前向概率[mathjax]\alpha(S_t)=P(S_t \vert O_{1:t})[/mathjax],以及一个从后往前递推的bayesian smoothing迭代值:[mathjax]\gamma(S_k)=P(S_k \vert O_{1:T})[/mathjax],这个迭代数值会从[mathjax]t=T[/mathjax]开始一直向前递推。所以说当前时间[mathjax]t[/mathjax]对应的bayesian smoothing可以使用前向概率[mathjax]\alpha(S_t)[/mathjax]和上一组bayesian smoothing的数值[mathjax]\gamma(S_{t+1})[/mathjax]计算得出,而[mathjax]\alpha(S_t)[/mathjax]和[mathjax]\gamma(S_{t+1})[/mathjax]都是可以递推得到的:[mathjax]\alpha(S_{t+1})[/mathjax]可以由上一个递推的前向概率[mathjax]\alpha(S_{t-1})[/mathjax]递推而来,[mathjax]\gamma(S_{t+1})[/mathjax]同样可以由上一个递推的bayesian smoothing [mathjax]\gamma(S_{t+2})[/mathjax]递推而来。

其实,在forward-backward algorithm中,如果保留递推的[mathjax]\alpha(S_t)[/mathjax]和[mathjax]\beta({S_t})[/mathjax],一样可以节省计算效率...只是写法略有不同而已。

生成模型和判别模型的区别

生成模型和判别模型的区别

前一次类似的笔记在:🔗 2021-10-08 - Truxton's blog,但是没有详细说明判别模型和生成模型的区别

这次补全了它们的对比,但写在了2021-10-08的笔记原文,方便资料集中。

新补充了一个例子

Forward和forward-backward之间是否有“准确度”的可比性

再合并一篇笔记:p=7866


最后总结:我认为我应该是混淆了EM算法“一定会收敛”的特性。现思考如下:

所谓[mathjax]P(S_t \vert O_{1:t})[/mathjax]和[mathjax]P(S_t \vert O_{1:T})[/mathjax]根本没有可比性,因为两者表达的不是同一个事件!我不知道这个笔记一开始写的时候是怎么考虑这个所谓的 准确性 的。

(在下面的公式里,首先要注意不要混淆了单独的forward(贝叶斯滤波)和forward-backward algorithm:2022-03-20 preview

如果要把公式放在一起对比(但并不是比较它们的“准确度”),那就是这样:

[mathjax-d]P(S_t \vert O_{1:T})=\frac{\alpha(S_t)\beta(S_t)}{\sum\limits_{S_t}\alpha(S_t)\beta(S_t)}[/mathjax-d]

这个公式参考了:preview 🔗 [卡尔曼滤波与隐马尔可夫模型 - TrueNobility303] https://truenobility303.github.io/Filter/

对比

[mathjax-d]P(S_t \vert O_{1:t})=\frac{\alpha(S_t)}{\sum\limits_{S_t}\alpha(S_t)}[/mathjax-d]

这个公式参考了:preview 🔗 2022-03-20 - Truxton's blog

这里的两个公式都使用了相同的前向概率定义(和李航统计学习方法、NTU公开课李琳山等主流教材保持一致):[mathjax]\alpha(S_t)=P(S_t, O_{1:t})[/mathjax]

所以说这两个东西并没有什么所谓的“准确程度的对比”,完全就是不同的2个条件概率。


下面是最开始的笔记原文:

2022-08-05,在完成了2022-08-02笔记(🔗 [2022-08-02 - Truxton's blog] https://truxton2blog.com/2022-08-02/#Bayesian_filtering的prior和posterior)后,现在对forward-backward以及bayesian filtering有了更清晰的认知。

所以倒退回去修改2022-03-20的笔记,里面有一些错误内容:https://truxton2blog.com/wp-content/uploads/2022/08/20220804_124156_kId4V.png

此外,我还推导过forward+backward:🔗 [贝叶斯网络 - Truxton's blog] https://truxton2blog.com/bayesian-network-introduce/#HMM_variable_elimination

现在新的问题来了:

为什么covariance使用n-1

合并一篇草稿p=8003: why covariance n-1


原始问题:(这个问题应该是在学习kalman filter的时候写下来的)

🔗 [Covariance Matrix - Formula, Examples, Definition, Properties] https://www.cuemath.com/algebra/covariance-matrix/


总结:看起来好像涉及到了统计学里的无偏估计和有偏估计。

总结起来就是:

首先,covariance的第一步会写成[mathjax]\text{var}(X)[/mathjax],然后它会被写为:

[mathjax-d]\text{var}(X)=E[(X-E[X])^2][/mathjax-d]

上面那个公式嵌套了2个期望公式[mathjax]E[\cdot][/mathjax],里面的那一层[mathjax]E[X][/mathjax]是用平均值计算的,但外面那层期望[mathjax]E[(X-E[X])^2][/mathjax]就需要好好讨论一下怎么计算了。因为:里面的那层[mathjax]E[X]=\bar X[/mathjax]处理的全都是随机采样的数据(公正客观),但外面那层[mathjax]E[(X-E[X])^2][/mathjax]处理的并不是100%随机采样的数据:因为包含了平均值[mathjax]\bar X[/mathjax],所以会对结果造成干扰!为了试图消除这个干扰,平均值[mathjax]\bar X[/mathjax]仍然会参与计算,但我们要把它从另一个角度“无视、冷落掉”,以表明我们试图纠正偏差的决心与立场。

比如:公司开年会需要统计到场员工人数,我特意把人数减去了1,减去的就是老板的那一个人,因为在我眼里,那个只会乱指挥的乐色老板完全就是个废物,不能算员工。或者用下面这张图的专家评分来举例,我知道团队里有一个永远取平均值、不贡献个人想法的专家,所以我需要用一些方法试图消除这个专家带来的影响。

下面的一些截图均来自 🔗 [为什么样本方差(sample variance)的分母是 n-1? - 知乎] https://www.zhihu.com/question/20099757


首先看一个最容易理解的解答:

为什么样本方差(sample variance)的分母是 n-1? - 张英锋的回答 - 知乎 https://www.zhihu.com/question/20099757/answer/658048814

原回答很长,这里截取一些关键部分帮助快速复习(如果看不懂就去看原文):

这里的专家评分类似于体育比赛中的裁判打分,但暂时不考虑去掉最低分最高分的那一步

其他回答:



 Last Modified in 2022-10-04 

Leave a Comment Anonymous comment is allowed / 允许匿名评论