【Traditional Machine Learning】Markov Logic Network

Markov Logic Network

1、Graphical Model是Structured Learning里一种用Graph描述evaluation的方式。Graphical Model有很多中,比如深度学习笔记——理论与推导之Structured Learning【Markov Random Field】(十)中的Factor Graph和MRF都是属于Undirected Graph,Markov Logic Network属于Markov Random Field(MRF)的一种。

这里写图片描述

2、Markov Logic Network是structured learning的一种,MLN是为了让机器能够有逻辑思维。这里需要解决三个问题:

  • Evaluation:现在这个状况有多合乎逻辑,也就是机器背后有一个knowledge base,也就是我们的model。把逻辑这件事情变成graphical model
  • Inference:选择最合乎逻辑的那个。
  • Training:学习这个knowledge base

这里写图片描述

3、专有名词:

  • knowledge base:一系列公式(Formula)
  • Formula:P=>Q,P<=>Q …

       就是一堆由logic operation连接起来的谓语(predicate)。

       Logic operation:~,∧,∨,=>,<=>

  •    Predicate:P,Q

        Predicate:就是一个function

        Input:one or several objects

        Output:True or False

        这里写图片描述

  •     Grounding:在predicate中,将所有可能的常量替换掉所有的变量。

       这里写图片描述

       这里写图片描述

  • World : 也就是一种可能情况,带入所可能得constant,判断每一个grounded predicate是true还是false。如下,有3个person,有3个Predicate所以可以做例如下面的两个世界(全是True or 全是False等):

       这里写图片描述

4、Evaluation-Logic:通过一个给定的Knowledge Base评估这个世界是否合乎逻辑。
假设今天有两个Person,A和B,world就有5个可能,如下,那么有个世界是所有output都是True,一个世界有一个宅(B) = F,接下来我们发现左边的世界是合乎逻辑的,右边的世界是不合乎逻辑的。
这里写图片描述

5、Inference - Logic:
给定已知的Evidence和Knowledge base把word中未知的部分找出来:

这里写图片描述

比如上图,有3个未知的结果,因此有2^3 = 8个可能的值,用Knowledge base检查这8个可能值是否合乎逻辑。

6、Evaluation - Soft Logic:

  • 因为真实的世界比较复杂     L(U) = logical or not => L(U) = how logical it is(这个值越大越合乎逻辑)
  • 每一个formula都会被赋予一个weight,原来代表它的可信值。当这个世界违背了某个formula时,它出现的可能性会变小,而不是变没。

这里写图片描述

  • 如何衡量这个world(U)是有多合乎逻辑:

    下面的i代表一个formula,wi是formula i的weight,ni:这个formula在这个世界成立的次数:

     这里写图片描述

    我们也可以算一个世界出现的几率,如上面右边那个P(U)。

7、Inference - Soft Logic:

      给定一个世界U = {X,Y},X是已知的,找到一个最有可能的Y。

      这里写图片描述

      L(X,Y)也可以化成一个MRF或者factor graph,因此这个Inference可以用Gibbs sampling解。

8、Example:

     一个formula:宅(x) -> 做研究(x)
     一个person,所以有一个Grounding:
    Person = {Anna}
    假设这个w1 =1.5,由于下面除了第二组:宅(A)->做研究(A)中,T是不能推出F的,所以这种情况出现0次即n1(U) = 0。

    这里写图片描述

     因此当给定Evident:宅(A) = T,那么做研究(A) = T的几率为0.82,做研究(A)= F的几率为0.18。

 

   假设我们现在有两个Evidence,两个formula,两个grounding,因此,以第一个为例“做研究(A) = T ,宅(B) = T,做研究(B) = T”,因此对于formula 1:宅(x) =>做研究(x),有以下情       况:宅(A,T)=>做研究(A,T) ;宅(B,T) => 做研究(B,T)在世界U中发生过两次,所以n1(U) = 1+1 = 2

这里写图片描述

Markov Logic Network其实可以用来做一般Machine Learning做的事,因为他其实就是Graphical Model。Markov Logic Network是可以解释的。
上面这些事情可以用Graphical Model来描述它,将ground predicate看成是node,formulas看成是一个factor,所以我们可以计算他们的evaluation function:
这里写图片描述

那么这每个function应该长什么样呢?

这里写图片描述

我们经常将Markov Logic Network写成Markov Random Field的样子,所以:

这里写图片描述

那么如何Learning呢?
情况一:首先定义好一组formulas(这些formulas可以是对的,也可以是错的),world U,并且为这些formulas设置weights。
接下来最大化world的几率

这里写图片描述

情况二:假设这个世界上有些东西是我们无法观察到的,那么我们有两种方法,第一种是将不知道的都设置为false,第二种是将这些不知道的设置为?(当成是Hidden world,可以当成structured svm with hidden information来处理)

这里写图片描述

我们可以根据以下方法来计算带有hidden world的Markov Logic Network(X表示这个世界中可以观察到的部分,H表示这个世界中hidden的部分,接下来穷举H所有的可能值,并计算它的几率,然后我们把所有H的几率加起来代表P(X)的几率,然后我们就可以对权重做微分)
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值