基于《Web Intelligence and Big Data》的自我梳理 五

五、CONECT

有了facts 和 rules,我们可以进行推断。比如:

fact: Obama is president of USA

rule: X is president of C => X is leader of C

我们可以推出 Obama is leader of USA。


Semantic Web 语义网大致思路就是从网上抓取facts (如,Wekipedia) 和 学习 rules (如,通过associative rule mining),然后进行推理。然而逻辑上的推理会面临两个问题:undecidablility(算法不会结束,即无法推出结果)和 intractability(能算出结果,不过是需要很长时间,如NP问题)。虽然有办法缓解这两个问题,但是逻辑推理的硬伤在于:uncertainty,不确定性。就像例子所举的那样:

A:For most firemen are men 

B: most men have safe jobs

不能推出 For most firemen have safe jobs. 


于是,我们考虑概率的方法:bayes formula。贝叶斯公式能让我们从先验概率和似然概率中得到后验概率。这就是一种reasoning。有趣的是,它也可以大致描述我们认识世界的过程:最开始,一个小孩子开始头脑里对世界只有个初步的认识。比如,sheep是长“这个”样子的。这就是先验P(h)。然后当大人指着一只羊,告诉他,那是只羊P(d|h)。于是它就会根据贝叶斯公式 --P(h'|d) = P(d|h)· P(h) / P(d)--更新它的认知得到一个新的h'。如此重复上述过程,小孩子头脑中羊的模型会跟真实世界的模型越来越接近。(突然有种Hidden Markov models的感觉...)


上面贝叶斯公式只涉及到3个变量,实际可以扩展到多个,那就是贝叶斯网络。课中提到可以使用SQL语句实现贝叶斯公式的计算,比如likelihood和prior相乘可以使用SQL中的join操作。这个方法看起来很fashion,但是若你的式子涉及到很多变量(eg. 1000个),那你可能要涉及到1000张表的join。这样开销十分巨大,复杂度是2^(变量个数),属于纯蛮力算法。解决的方法是什么?其实我们若罗列出所有组合的式子,我们能发现式子中有很多公共项可以提出来。于是使用动态规划的思想,我们可以避免很多重复计算。这里贴图好麻烦,就不上了。而junction tree是种数据结构,它能合理地安排数据的位置,便于上述算法的实现。


另外,需要指出的是,若我一整个bayes network中有1000个变量,假设网络已经建好,若我要求其中某个变量发生的概率,难道要动用其他所有变量?!那样计算量太大了。其实,对于一个变量x,它的Markov blankets(parents,children, co-parents(可以理解为配偶))能将它与系统中的其他变量隔离开来,也就是使它们independent的。于是,最终式子里能用上的就是blankets里面的变量了。


讲了这么多,那么对于一个给定结构的bayes network, 我们如何学习每个节点对应的概率表呢?如

 图片来自 SPSC340 Inference in Probabilistic Graphical Models

(其中,Alarm对应p(A|E,B); Radio对应p(R|E),Call对应p(C|A),还有另外p(E),p(B) )


答案是最大似然估计maximum likehliood estimation或bayesian learning(具体的公式就不给出了)。它们分别代表概率上两个派别的观点:、

①一是Frequentist派,它们认为存在一个唯一的ture参数。对,就像传说中中唯一的真理一样。

②而另一派的观点是不存在这唯一不变的true parameter。比如不同的实验环境下,参数也是不同的。比如,这参数本身服从某个分布。公式上,它只用在“一”的基础上乘上先验分布:对于binomial分布,常用的是beta分布。


不过无论使用哪种方法,都只是简单的counting而已。写到这里,问题还没有完全解决。前面限定了一个网络结构,但若网络的结构也未知怎么办?即,我不知道哪个参数是哪个的父节点,哪个是其子节点。答案是找到一种结构,是所有变量的join probability最大。可以参看这篇论文(这个我自己没时间看)


最后说说Hidden Markov models,它是种特殊的bayes network,,引入了序列的概念。马尔科夫模型中,有一个初始(initial) distribution p(x_0), 一个转移(transition)模型p(x_t | x_t-1), 和一个观察(observation)模型p(y_t|x_t)。(举个具体的例子:x代表人的情感状态:sad、 happy;y代表请感状态下人的行为:哭,刷微博,睡觉,看电影。)其中,初始分布和和转移模型是固定的,事先count出来。剩下的就是,在时间 T 观察到一个行为,然后预测T时刻它的情感状态。HMM还有其他应用:如fact抽取,词性标记,语音识别等。





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值