- 博客(19)
- 收藏
- 关注
原创 α的分析
α被用于平衡基于边和基于模式的关系。α=0表示仅使用基于模式的关系进行权值计算,α=1意味着只使用了基于边的关系。在这部分,将展示α如何在三个数据集中影响NDCG。为简单起见,只显示一个模式在每个数据集上的结果,即DBLP和Epinions上的M7和Ciao上的M4。结果如图5所示。可以看到,在大多数情况下,趋势是一致的,最好的性能是在(0,1)的某个值实现的。这意味着结合基于边的关系和基于模式的关系可以在三个数据集上获得最佳性能。有趣的是,在Epinion和Ciao上top500排名结果和Cia.
2021-01-13 21:27:33
196
原创 性能增益的显著性检验
为了弄清性能增益的重要性,对结果进行t-test。从数据集中随机选取80%的结点,然后重复实验30次。比较BPR、WPR和MPR,对于MPR,为每个数据集只选择一个模式,即DBLP和Epinion的M7和Ciao的M4。报告每个数据集上top10、top50、top500的平均NDCGs。此外,也报告了基准方法的p值,即BPR和WPR,与MPR比较。结果如表5所示。从表5可以看出,在top10、top50、top500的NDCGs中,MPR在所有三个数据集中的表现都明显优于BPR和WPR。这与上一
2021-01-13 20:30:20
385
原创 MPR的线性组合性能
用线性和非线性组合的方法运行MPR,分别根据下面两个等式,报告通过调整参数α对结果的影响。表4是采用线性组合法报告了3结点模式MPR性能的结果。从表4可以看出MPR的性能优于所有基准方法。观察发现,每个数据集的最佳性能是通过不同类型的模式来实现的,这意味着模式的有效性是特定领域的。首先:当K=10时,可以看到BPR在DBLP和Epinions上的NDCGs大于0.94,这在实际中是很强的。而MPR的简单或锚模式仍然可以进一步改进NDCGs。MPR在DBLP上从0.9464提高到0.9920,在
2021-01-13 17:26:11
604
原创 3结点anchor模式
简单模式和anchor模式之间的区别在于它们anchor集的大小。下图为3结点的anchor模式,其中圆形结点为anchor结点。例如第十个anchor模式是被方形结点anchor住,即当两个结点被第三个中间结点连接时,基于模式的邻接矩阵将使eij的权值增加1。anchor10模式可看作是属于简单模式M6的一种关系。anchor10模式,当(uk,ui,uj)在位置(1,2,3)和(1,3,2)时,anchor模式10的邻接矩阵对应(i,j)处值加1。具体的可由表2计算得到各个模式的邻接矩阵。
2021-01-13 13:54:32
259
原创 基于模式的邻接矩阵计算举例
以图2中的M6来说明基于模式的邻接矩阵的计算。取任意两个节点,ui和uj,我们使用(WM6)ij记录他们参与M6的频率。在M6中有六种不同ui和uj的情况。使用1、2、3来表示节点可能出现的位置。那么,ui和uj与uk中间可以生成6个位置组合,即{(3,1,2),(2,1,3)},{(1,2,3),(3,2,1)},{(1,3,2),(2,3,1)},其中我们假设三个节点被排序为(ui, uj, uk)。如图2所示,e23是一个双向边,而e13和e12是单向边。计算ui和uj参与M6的频率,需要把所有六种.
2021-01-11 22:13:52
455
原创 基于模式的邻接矩阵
基于模式的邻接矩阵:当给定一个模式集M(B,A)时,利用anchor集合中两个结点的共现来捕获相应的高阶关系。基于模式的邻接矩阵或一个模式M共现矩阵被定义为:这里i≠j,并且1(s)为真值指标函数,即如果命题s为真,1(s)=1,否则为0。即只有当i和j出现在anchor结点的索引集中时,权重才会添加到(WM)ij。(WM)ij越大,表示i与j在模式内的关系越不一般。给定一个模式Mk,如果我们想要获取高阶关系,我们需要构建基于模式的邻接矩阵WMk。下面给出具体示例:...
2021-01-11 16:34:45
319
原创 模式的相关概念
PageRank最初是用于对互联网上的网页进行排名,后还被用于很多其他领域,如引文网络分析和链接预测。还被用来识别社交网络中的意见领袖和寻找值得信赖的用户。加权的PageRank在引文网络排名研究中被证明是有效的,与MPR相比,以往的研究不论是加权的还是未加权的,都只考虑了直接边,忽略了多个结点之间的高阶关系。 模式是复杂网络中高阶关系的特征。模式在社交网络、学者网络、生物学、神经科学和时间网络方面均被证明是有用的。...
2021-01-11 16:32:59
225
原创 代码题笔记——快速排序算法
快排思想:在数组中选一个基准数(通常为数组第一个);将数组中小于基准数的数据移到基准数左边,大于基准数的移到右边;对于基准数左、右两边的数组,不断重复以上两个过程,直到每个子集只有一个元素,即为全部有序。例如有一需要排序的数组为:23,45,17,11,13,89,72,26,3,17,11,13(从小到大排序):用图具体示意:将数组第一个数23赋给temp变量,指针 i 指向数组第一个元素,指针 j 指向数组最后一个元素。从 j 开始遍历(从右往左),遇到13时,因为13<=te
2021-01-08 14:59:57
106
原创 代码题笔记—非递归前中后遍历二叉树
前序遍历:void Preorder(struct BiTNode * t){ struct BiTNode * St[MaxSize], *p; int top = 0; //置空栈 if (t! = NULL){ St[top++] = t; while(top){ p = St[--top]; printf("%c ", p->data); if(p->rchild != NULL) St[top++] = p->...
2021-01-08 11:30:16
76
原创 MPR算法
1)研究了3结点模式,包括简单的和锚定的。因为基于边和基于模式的关系在用户排名中是互补的。因此研究了一种线性和非线性的方法来有效地结合基于边和基于模式的邻接矩阵。α∈[0,1],平衡了以边为基础和以模式为基础的关系。2)研究了4结点和5结点的模式。最后报告了MPR的性能,并融合七个3结点简单模式。经证明,基于模式的高阶关系整合到传统的基于边的关系中对实现社交网络中用户排名是有效的。在MPR框架中,在组合邻接矩阵上运行PageRank算法。即计算转移概率矩阵并用PMk代替下式中的转移概率矩阵P
2021-01-07 21:47:51
1770
原创 基准比较排名算法
IND:根据结点的进入度选择有影响的结点,即对于作品被大多数其他作者引用的DBLP作者,以及受大多数其他用户信任的Epinions和Ciao用户。BET:根据betweenness score选取有影响的结点,betweenness score是一种中心性测度,定义为一个结点在其他两个结点之间的最短路径充当桥梁的次数。CLO:基于closeness score选择有影响力的结点。一个结点的closeness score是一个中心性度量,它是图中结点与所有其他结点之间最短路径的平均长度。BPR:该方法在
2021-01-07 20:48:07
289
原创 实验数据集和相关性评分标准
学者网络DBLP:使用作者的H-indexes作为相关性评分。在研究界,H-index是衡量作者在研究界影响力的常用指标。它以引文网络为基础,考虑作者发表论文的质量和数量。作者的h指数越大,其影响力越高。(文章链接:E:\论文相关\05精读文章\0_1Zhao2019A\ArnetMiner)信任网络Epinions和Ciao: 使用用户评论的average-helpfulness度作为用户可信性评分。用户的帮助度评分越大,用户的可信性越高。(文章链接:E:\论文相关\05精读文章\0_1Zhao
2021-01-07 19:58:49
449
原创 计算机专业基础复习——第一天——TCP三次握手和四次挥手
三次握手背景:TCP位于传输层,作用是提供可靠的字节流服务,为了准确无误地将数据送达目的地,TCP协议采纳了三次握手策略。原理:1)发送方首先发送一个带有SYN标志地数据包给接收方。2)接收方接收后,回传一个带有SYN/ACK标志的数据包传递确认信息信息,表示我收到了。3)最后,发送方再回传一个带有ACK标志的数据包,代表我知道了,表示握手结束。通俗的说法1)Client:嘿,李四,是我,听到了吗?2)Server:我听到了,你能听到我的吗?3)好的,我们互相都能听到多方的话,我们的通信可
2020-08-20 14:46:29
82
原创 关系模式的候选码
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。若W是候选键,则必须满足两个条件:W的闭包是U;W没有冗余。求候选码的简单方法:(1)不在函数依赖集中出现的属性,必包含在候选码中;(2)不在函数依赖集中任何函数依赖的右边出现的属性,必包含在候选码中;(3)只在函数依赖集的左边出现的属性,一定包含在候选码中。(4)属性或属性组能唯一标识元组,则它就是候选码;按以下步骤求候选键:1.只在FD右部出现的属性,不属于候选码;2.只在FD左部出现的属性,一定存在于某候选码当中;
2020-07-04 09:59:35
6846
原创 冒泡排序(Java)
原理:每次比较两个相邻的元素,将较大的元素交换至右端。思路:每次冒泡排序操作都会将相邻的两个元素进行比较,看是否满足大小关系要求,如果不满足,就交换这两个相邻元素的次序,一次冒泡至少让一个元素移动到它应该排列的位置,重复N次,就完成了冒泡排序。图中可以看出,经过一次冒泡,6这个当前数组中最大的元素飘到了最上面,如果进行N次这样操作,那么数组中所有元素也就到飘到了它本身该在的位置,就像水泡从水...
2019-09-17 15:17:15
84
原创 归并排序(java)
归并排序 是利用递归和分而治之的技术 将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的半子表合并成越来越大的有序序列。public static int []sort(int [] a,int low,int high){int mid=(low+high)/2;if(low<high){sort(a,low,mid);//递归对左边元素进行...
2019-09-17 11:04:20
103
原创 插入排序(java)
插入排序算法(伪代码)1、以数组的某一位作为分隔位,比如index=1,假设左面的都是有序的。2、将index位的数据拿出来,放到临时变量里,这时index位置就空出来了。3、从leftindex=index-1开始,将左面的数据与当前Index位数据(即temp)进行比较,如果array[leftindex]>temp,则将array[leftindex]后移一位,即array[...
2019-09-16 13:14:51
127
转载 用scanner类输入数字、字符?并直接把输入的数字赋值给一个变量!
使用该类创建一个对象.Scanner Sc=new Scanner(System.in);然后Sc对象调用下列方法(函数),读取用户在命令行输入的各种数据类型: next.Byte(),nextDouble(),nextFloat,nextInt(),nextLin(),nextLong(),nextShot() 。这些方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认。例如,拥护在键...
2019-07-06 14:11:17
1151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人