13

我正在尝试使用igraph和为单变量网络数据实现分类工具包python

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

我正在关注网络数据论文中的分类。

我很难理解本文所指的“仅网络贝叶斯分类器”(NBC)是本文中解释的关系分类器之一。

Naive Bayes之前使用词袋特征表示实现了文本数据的分类器。文本数据的想法Naive Bayes在我脑海中很清楚。

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

NBC 在论文的第 14 页中进行了解释,

在此处输入图像描述

概括:

我需要论文第 14 页中解释的“仅网络贝叶斯分类器”(NBC)的伪代码。

伪代码符号:

  1. 让我们调用vs图中的顶点列表。len(vs)是长度。vs[i]是第 i 个顶点。
  2. 假设我们有一个单变量和二元场景,即vs[i].class要么是要么01并且节点没有其他给定特征。
  3. 假设我们之前运行了一个本地分类器,以便每个节点都有一个初始标签,这些标签是由本地分类器计算的。我只对关系分类器部分感兴趣。
  4. 让我们称v我们试图预测v.neighbors()的顶点, 是 的邻居的顶点列表v
  5. 让我们假设所有的边权重都是1

现在,我需要以下伪代码:

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

编辑:

为了让你的工作更轻松,我做了这个例子。我需要最后两个方程的答案。

4

1 回答 1

3

用言语...

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

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

就邻域N_i(的x_i)如果x属于该类的概率c而言,它等于:

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

  • 鉴于来自其邻域的证据,一些x_i属于某个类别的概率是后验概率。(之后……这是什么东西?……请看下文)c

  • N_i如果x_i 属于该类,邻域出现的概率c可能性

  • c本身的概率就是先验概率。之前……这是什么东西?证据。先验告诉你没有任何证据的类的概率,但后验告诉你特定事件(x_i属于c)的概率,给定来自其附近的证据。

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

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

在乘积(第二个等式中表示可能性的大写字母 Pi )中,您有一个条件。条件是邻域节点属于某个类(如果x属于 类)的概率c

朴素贝叶斯分类器的典型应用中,即文档分类(例如垃圾邮件),由庞大的观察数据库得出an email is spam GIVEN THE APPEARANCE OF SPECIFIC WORDS IN ITS BODY的条件,或者,我们真正绝对知道它们属于哪个类别的庞大电子邮件数据库. 换句话说,我必须对垃圾邮件的外观有所了解,最终,大多数垃圾邮件都有一些共同的主题(我是一些银行官员,我有一个赚钱的机会,给我你的银行向您汇款并让您致富的详细信息...)。

没有这些知识,我们就不能使用贝叶斯规则。

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

确切地。

所以这里真正的问题是:你的图表/数据的可能性是多少?

(......或者你要从哪里得到它?(显然,要么是大量已知的观察,要么是关于这种现象的一些知识。例如,考虑到节点的一部分邻域,节点被感染的可能性是多少?也被感染了))。

我希望这有帮助。

于 2015-07-06T08:52:43.437 回答