logsumexp与路径概率

1.单条路径的概率

1.1 已知单点概率求路径概率

        已知每个节点概率分别是P_{a}, P_{b}, P_{c},求整条路径概率:

P_{l} = P_{a}P_{b}P_{c}

1.2 已知单点概率log值求路径概率log值

         假设现在只已知每个节点概率的log值,求整条路径概率:

log(P_{l}) = log(P_{a}P_{b}P_{c}) = log(P_{a}) + log(P_{b}) + log(P_{c})

        注意当已知的是单点概率的log值后, 新增一个节点只需要加上新增节点概率的log值。

2.多条路径的概率

2.1 已知多条路径概率log值求全部路径的概率log值

        如果已知两条路径概率的log值分别是log(P_{l1}), log(P_{l2})。两条路径的概率和的log为:

log(e^{log(P_{l1})} + e^{log(P_{l2})}) = log(P_{l1} + P_{l2})

        从上面式子可以看到,右边很明显就是两条路径概率和的log值,为什么要写成左边比较复杂的情况了,1是因为假设我们现在只知道路线概率的log值,而不知道对应的概率;2是因为左边这个在计算路径概率时是一个常用的函数即:logsumexp,从字面意思看就是先求exp,再求和,再求log,注意这是一个很重要的公式

log(e^{log(P_{l1})} + e^{log(P_{l2})}) = logsumexp(log(P_{l1}), log(P_{l2}))

2.2 已知多条路径概率log值及新增节点概率求全部路径概率的log值 

        当已知路径a-b-c概率log值为log(P_{l1}),路径m-n-z概率log值为log(P_{l2}),并且往后扩展一个节点,那么两条路径的概率和的log值如何求?综合1.2及2.1结论可得:

logsumexp(log(P_{l1})+log(P_{e}), log(P_{l2})+log(P_{e}))

 3.应用

        作者看ctc、crf等模型代码的时候经常会出现logsumexp计算,而且是反复出现,上面公式看起来比较简单,当只要掌握,看相关代码时就不会懵了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值