仅网络贝叶斯分类器的伪代码

时间:2015-07-02 05:55:05

标签: algorithm graph-algorithm igraph pseudocode naivebayes

我正在尝试使用igraphpython为单变量网络数据实施分类工具包。

然而,我的问题实际上更多的是关系分类领域的算法问题,而不是编程。

我正在关注Classification in Networked Data论文。

我很难理解本文所涉及的内容" 仅网络贝叶斯分类器"(NBC),它是本文中解释的关系分类器之一。

我之前使用词包特征表示为文本数据实现了Naive Bayes分类器。关于文本数据Naive Bayes的想法在我的脑海中清晰可见。

我认为这种方法(NBC)是将相同想法简单地翻译成关系分类区域。但是,我对方程中使用的符号感到困惑,所以我无法弄清楚发生了什么。我对论文here中使用的符号也有疑问。

NBC在第14页the paper

中有解释

enter image description here

要点:

我需要在paper,第14页中解释" 仅网络贝叶斯分类器"(NBC)的伪代码。

伪码表示法:

  1. 让我们调用vs图表中的顶点列表。 len(vs)是 长度。 vs[i]是第i个顶点。
  2. 假设我们有一个单变量和二元情形,即vs[i].class01,并且节点没有其他给定的功能。
  3. 假设我们之前运行本地分类器,以便每个节点都有一个初始标签,由本地分类器计算。我只对关系分类器部分感兴趣。
  4. 让我们调用v我们想要预测的顶点,v.neighbors()v的邻居顶点列表。
  5. 假设所有边权均为1
  6. 现在,我需要伪代码:

    def NBC(vs, v):
       # v.class is 0 or 1
       # v.neighbors is list of neighbor vertices
       # vs is the list of all vertices
    
       # This function returns 0 or 1
    

    修改

    为了让您的工作更轻松,我做了example。我需要最后2个方程的答案。

1 个答案:

答案 0 :(得分:3)

用言语......

节点x_i属于类c的概率等于:

  • 如果x_i,则N_i(称为x)邻域的概率 确实属于班级c;乘以......
  • 班级c本身的概率;除以......
  • 邻居N_i(节点x_i)本身的概率。

关于邻居N_ix_i)如果x属于班级c的概率,则等于:< / p>

  • 概率product; (哪个概率?)
  • 如果v_j确实属于班级N_i,则邻域(c)的某个节点(x)属于班级c的概率
    • (提升到连接正在检查的节点和正在分类的节点的边缘的重量......但是你对此感兴趣......)。 (这里的符号有点偏离我认为,为什么他们定义v_j然后从不使用它?......无论如何)。
  • 最后,将product of some probability与某些1/Z相乘。为什么?因为所有p都是probabilities因此在0到1的范围内,但权重w可能是任何东西,这意味着最终,计算出的概率可能超出范围。

  • 某些x_i属于某个班级c的可能性 来自其邻居的证据是后验概率。 (后 什么东西......这是什么东西? ......请见下文)

  • 如果N_i出现邻居x_i的可能性 属于班级c的是似乎

  • 班级c本身的概率是先验概率。 之前有什么......这是什么东西?证据。先前的 告诉你没有任何证据的班级概率 提出,但后验告诉你具体的概率 事件(x_i属于c)给予其证据 附近。

之前的,可以是主观的。也就是说,通过有限的观察得出或者是知情的意见。换句话说,它不一定是人口分布。它只需要足够准确,而不是绝对已知。

似乎更具挑战性。虽然我们在这里有一个公式,但必须从足够大的人口或尽可能多的关于现象的“物理”知识来估计这种可能性。

在产品中(表达似然性的第二个等式中的大写字母Pi),您有条件。条件是如果x属于类c,则邻域节点属于某个类的概率。

Naive Bayesian Classifier的典型应用中,即document classification(例如垃圾邮件),an email is spam GIVEN THE APPEARANCE OF SPECIFIC WORDS IN ITS BODY 派生的条件由庞大的数据库组成观察,或者,一个巨大的电子邮件数据库,我们真的,绝对知道他们属于哪个类。换句话说,我必须知道垃圾邮件是如何形成的,并且最终大多数的垃圾邮件汇集到一些共同的主题(我是一些银行官员,我有钱机会)为了你,给我你的银行详细信息,给你汇款,让你变得富有......)。

如果没有这方面的知识,我们就无法使用贝叶斯规则。

所以,回到你的具体问题。在PDF中,您在产品的派生中有一个问号。

完全。

所以真正的问题是:图表/数据中的似然是什么?

(... 你要从哪里推导出它?(显然,大量已知的观察 OR 对这种现象的一些了解。例如,如果节点被感染的可能性是多少,因为其邻居的一部分也被感染了。)。

我希望这会有所帮助。