Sai*_*ait 13 algorithm pseudocode igraph graph-algorithm naivebayes
我正在尝试使用igraph和实现单变量网络数据的分类工具包python.
但是,我的问题实际上更多的是关系分类领域的算法问题,而不是编程.
我很难理解本文所指的" 网络唯一贝叶斯分类器 "(NBC),它是本文中解释的关系分类器之一.
我之前Naive Bayes使用单词包特征表示实现了文本数据的分类器.Naive Bayes关于文本数据的想法在我的脑海中清晰可见.
我认为这种方法(NBC)是将相同的想法简单地翻译成关系分类区域.但是,我对方程中使用的符号感到困惑,所以我无法弄清楚发生了什么.我也有在纸中使用的符号的一个问题在这里.
NBC 在论文的第14页有解释,

摘要:
我需要在第14页的论文中解释的" 仅网络贝叶斯分类器 "(NBC)的伪代码.
伪码表示法:
vs图中的顶点列表.len(vs)是长度.vs[i]是第i个顶点.vs[i].class或者是0或者1没有节点的其他给定特征.v我们试图预测v.neighbors()的顶点,并且是邻居的顶点列表v.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
Run Code Online (Sandbox Code Playgroud)
编辑:
为了让您的工作更轻松,我做了这个例子.我需要最后2个方程的答案.
用言语来说...
x_i节点属于该类的概率c等于:
x_i(称为N_i)如果x
确实属于该类的邻域的概率c;乘以...c;除以 ...N_i(节点 )的邻域本身的概率x_i。就邻域N_i( 的x_i)x属于该类的概率c而言,它等于:
v_j邻域 ( ) 的某个节点 ( N_i) 属于该类(c如果x确实属于该类)的概率c
v_j然后从不使用它?......无论如何)。最后,将product of some probability与一些相乘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 中,您在产品的推导过程中有一个问号。
确切地。
所以这里真正的问题是:你的图表/数据的可能性是多少?
(...或者你要从哪里得出它?(显然,要么是大量已知的观察结果,要么是有关该现象的一些知识。例如,考虑到某个节点的邻域的一部分,该节点被感染的可能性是多少)也被感染了))。
我希望这有帮助。
| 归档时间: |
|
| 查看次数: |
2006 次 |
| 最近记录: |