Graph 部分复习(考试向)

news2024/11/28 19:25:02

Graph Review

  • Overall
  • Page Rank
  • Spam Farm
  • Brandes’ Algorithm
  • Spectral Clustering
  • Infuence Maxization- Independent cascade model

Overall

在这里插入图片描述

Page Rank

对于某个互联网网页A来说,该网页PageRank的计算基于以下两个基本假设:

  • 边(Link)数量假设:在Web图模型中,如果一个页面节点接收到的其他网页指向的入链数量越多,那么这个页面越重要。

  • 权重(Wight)质量假设:指向页面A的入链质量不同,质量高的页面会通过链接向其他页面传递更多的权重。所以越是质量高的页面指向页面A,则页面A越重要。

基于以上两个假设,PageRank算法刚开始赋予每个网页相同的重要性得分(权重),通过迭代递归计算来更新每个页面节点的PageRank得分,直到得分稳定为止。PageRank计算得出的结果是网页的重要性评价,这和用户输入的查询是没有任何关系的,即算法是主题无关的。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

由于一些节点存在出链为0,也就是那些不链接任何其他网页的网,也称为孤立网页,使得下一条可能会是任意网
站,很多网页能被访问到。因此需要对PageRank公式进行修正,即在简单公式的基础上增加了阻尼系数(dampingfactor)q。其意义是,在任意时刻,用户到达某页面后并继续向后浏览的概率。1−q就是用户停止点击,随机跳到新URL的概率。最后,即所有这些被换算为一个百分比再乘上一个系数q。由于下面的算法,没有页面的PageRank会是0。所以,Google通过数学系统给了每个页面一个最小值。

Google不断的重复计算每个页面的PageRank。如果给每个页面一个随机PageRank值(非0),那么经过不断的重复计算,这些页面的PR值会趋向于正常和稳定。这就是其适合于搜索引擎算法的原因。

Spam Farm

Dead Ends(不存在外链): PageRank算法之所以能成功收敛到非零值,很大程度依赖转移矩阵这样一个性质:每列的加和为1。而在这个图中,M第四列将全为0。在没有Dead Ends的情况下,每次迭代后向量v各项的和始终保持为1,而有了Dead Ends,迭代结果将最终归零处理Dead Ends的方法如下:迭代拿掉图中的Dead Ends节点及Dead Ends节点相关的边(之所以迭代拿掉是因为当目前的Dead Ends被拿掉后,可能会出现一批新的Dead Ends),直到图中没有Dead Ends。对剩下部分计算rank,然后以拿掉Dead Ends逆向顺序反推Dead Ends的rank。

Spider Traps及平滑处理:可以预见,如果把真实的Web组织成转移矩阵,那么这将是一个极为稀疏的矩阵,从矩阵论知识可以推断,极度稀疏的转移矩阵迭代相乘可能会使得向量v变得非常不平滑,即一些节点拥有很大的rank,而大多数节点rank值接近0。而一种叫做Spider Traps节点的存在加剧了这种不平滑。Spider Trap(只链向自己),如果对这个图进行计算,会发现D的rank越来越大趋近于1,而其它节点rank值几乎归零。为了克服这种由于矩阵稀疏性和Spider Traps带来的问题,需要对PageRank计算方法进行一个平滑处理,具体做法是加入teleport。teleport ,就是我们认为在任何一个页面浏览的用户都有可能以一个极小的概率瞬间转移到另外一个随机页面。当然,这两个页面可能不存在超链接,因此不可能真的直接转移过去,心灵转移只是为了算法需要而强加的一种纯数学意义的概率数字。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Target的总rank为y:
1、可达页的rank贡献,设为x。
2、teleport的贡献,为β/n。其中n为全部网页的数量,β为转移参数。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Brandes’ Algorithm

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

下一层=上一层连接节点之和

Node= 1+边
边= Node * (node/sum of leaf node)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Spectral Clustering

最常用的相似矩阵的生成方式是基于高斯核距离的全连接方式,最常用的切图方式是Ncut。而到最后常用的聚类方法为K-Means。下面以Ncut总结谱聚类算法流程。

输入:样本集D=(x1,x2,…,xn),相似矩阵的生成方式, 降维后的维度k1, 聚类方法,聚类后的维度k2输出:cluster划分C(c1,c2,…ck2)

(1) 根据输入的相似矩阵的生成方式构建样本的相似矩阵S
(2)根据相似矩阵S构建邻接矩阵W,构建度矩阵D
(3)计算出拉普拉斯矩阵L
(4)构建标准化后的拉普拉斯
(5)计算最小的k1个特征值所各自对应的特征向量f
(6) 将各自对应的特征向量f组成的矩阵按行标准化,最终组成n×k1维的特征矩阵F
(7)对F中的每一行作为一个k1维的样本,共n个样本,用输入的聚类方法进行聚类,聚类维数为k2。
(8)得到簇划分C(c1,c2,…ck2)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

行列式计算公式:Aij=(-1)i+j*Mij

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Infuence Maxization- Independent cascade model

该模型的基本假设是节点u试图激活其邻接节点v 的行为能否成功是一个概率为p(u,v)的事件。且一个处于非活跃状态的节点被刚进入活跃状态的邻居节点激活的概率独立于之前曾尝试过激活该节点的邻居的活动。

此外该模型还做出了这样的假设:网络中任意的节点u只有一次机会尝试激活其邻居节点v,无论能否成功,在以后的时刻中,u 本身虽然仍保持活跃状态,但它已经不再具备影响力,这一类节点称为无影响力的活跃节点。

Algorithm Steps:
1.初始的活跃节点集合A。
2.在t 时刻,新近被激活的节点u 对它的邻接节点v 产生影响,成功的概率为p(u,v)。若v有多个邻居节点都是新近被激活的节点,那么这些节点将以任意顺序尝试激活节点v。
3.如果节点v 被激活成功,那么在t+1 时刻,节点v 转为活跃状态,将对其邻接非活跃节点产生影响;否则,节点v 在t+1 时刻状态不发生变化。
4.该过程不断进行重复,直到网络中不存在有影响力的活跃节点时,传播过程结束。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1166389.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【信息安全原理】——IP及路由安全(学习笔记)

目录 🕒 1. IPv4协议及其安全性分析🕒 2. IPsec(IP Security)🕘 2.1 IPsec安全策略🕤 2.1.1 安全关联(Security Association, SA)🕤 2.1.2 安全策略(Security…

【数据结构】单双链表超详解!(图解+源码)

🎥 屿小夏 : 个人主页 🔥个人专栏 : 数据结构解析 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言🌤️链表概念🌤️链表的分类☁️单向或双向链表☁️带头或不带…

如何规范嵌入式软件开发

键盘的诱惑一直是所有太多嵌入式开发的失败。编写代码很有趣。很好 我们觉得我们正在该项目上取得进展。我们的老板通常不擅长构建固件的细微差别,他们赞成批准,微笑着,因为我们显然正在做有价值的事情。 作为从事基于汇编语言的系统的年轻开…

克隆音-自用教程

硬件准备: 8g以上显存的显卡(3060Ti以上)、16g以上内存、cpu是x86_64架构且支持avx2指令集、电源500w以上、1T的磁盘 free -g看内存 cat /proc/cpuinfo | grep avx2查指令集 资源准备 磁盘扩容 我扩大根目录 sudo lvextend -l 100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv …

坏死性凋亡+预后模型+实验,简单思路也能拿下7+。可升级

今天给同学们分享一篇坏死性凋亡预后模型实验的生信文章“Analysis of necroptosis-related prognostic genes and immune infiltration in idiopathic pulmonary fibrosis”,这篇文章于2023年3月27日发表在Front Immunol期刊上,影响因子为7.3。 IPF是一…

Vulkan Buffer 的构造的坑

Vulkan Buffer 的构造的坑 1. DeviceSize 和 memcpy 的大小是数组的数据总量的大小&#xff0c;而不是数组的元素个数 假设你读取模型之后的顶点和索引数组是这样的 std::vector<float> vertices; std::vector<uint16_t> indices;那么你传给 DeviceSize 和 m…

PerfectPixel 插件,前端页面显示优化工具

1.简介 PerfectPixel 插件是一款适用于 Chrome 浏览器的网页前端页面显示优化工具&#xff0c;该插件能够帮助开发人员和标记设计人员在开发时将设计图直接加载至网页中&#xff0c;与已成型的网页进行重叠对比&#xff0c;以规范网页像素精度 作为一款可以优化前端页面显示的…

AI AIgents时代-(六.)OpenAgents

最近Agents框架层出不穷&#xff0c;我们这次选择了OpenAgents&#xff0c;一个声称在Interface和Environment上全方面超越AutoGPT&#xff0c;OpenInterPreter等框架&#x1f92f; 接下来我们逐步拆解OpenAgents的独特之处&#xff01;OpenAgents开发的LLM-powered代理XLang集…

界面组件DevExtreme v23.1 —— UI模板库更新新功能

在DevExtreme在v22.2版本中附带了针对Angular、React和Vue的新UI模板库&#xff0c;这个新的UI模板库包含多个响应式UI模板&#xff0c;您可以将其用作业务应用程序的起点&#xff0c;模板包括类似CRM的布局、仪表盘、身份验证表单等。在这篇文章中&#xff0c;我们将看看在v23…

如何使用NXP RTD技术来完成AUTOSAR与NON-AUTOSAR的结合--以S32K3系列为例

目录 1、基本介绍 2、准备工作 3、从Can Demo开始 3.1 ASR CAN demo 3.1.1 文件概述 3.1.2 配置说明 3.1.3 文件结构 3.2 Non-ASR can通信 4 总结 1、基本介绍 RTD(Real Time Drivers)是NXP实现的一种复杂软件接口抽象&#xff0c;提供给符合AUTOSAR和非AUTOSAR的产品…

140CPU67260 5136-RE-VME 简化与外部分析软件平台的连接

140CPU67260 5136-RE-VME 简化与外部分析软件平台的连接 2022年5月26日-爱默生全球软件、技术和工程领导者今天宣布发布其PACSystems RSTi-EP CPE 200可编程自动化控制器(PAC)。这一新的紧凑型PACs系列通过最大限度地减少对专业软件工程人才的需求&#xff0c;帮助原始设备制…

如何让 Bean 深度感知 Spring 容器

Spring 有一个特点&#xff0c;就是创建出来的 Bean 对容器是无感的&#xff0c;一个 Bean 是怎么样被容器从一个 Class 整成一个 Bean 的&#xff0c;对于 Bean 本身来说是不知道的&#xff0c;当然也不需要知道&#xff0c;也就是 Bean 对容器的存在是无感的。 但是有时候我…

mac matplotlib显示中文

以下默认字体&#xff0c;在mac ventura上测试能成功显示中文&#xff1a; import matplotlib.pyplot as plt import matplotlib#from matplotlib import font_manager #plt.rcParams[font.sans-serif] [Heiti TC]#plt.rcParams[font.sans-serif] [Songti SC]#plt.rcParams[f…

goquery库编写程序

goquery库的爬虫程序&#xff0c;该程序使用Go来爬取视频。。 package main ​ import ("fmt""net/http""net/http/httputil""io/ioutil""log""strings""golang.org/x/net/proxy""golang.org/x/n…

C++失传千年经典系列(二):类

C失传千年经典系列(一):基础语法认知 忙着去耍帅,后期补充完整..............

Clion 下载、安装、使用教程,附详细图文(2023年亲测可用)

文章目录 一、下载Clion二、安装教程三、安装MinGW方法一、直接下载MinGW安装① 下载MinGW② 配置Clion 方法二、使用Dev cpp安装① 安装Dev cpp② 配置Clion 四、常用快捷键 大家好&#xff0c;今天为大家带来的是 Clion 的下载&#xff0c;安装&#xff0c;使用教程&#xff…

3.vue3项目(三):路由配置,登录页面搭建:登录功能调用,登录后的消息提示,登录时的表单校验

一、模板的路由的配置 首先我们需要登录页,首页,404页面,任意路由。 1.安装依赖 pnpm install vue-router 2.新建三个页面 新建登录页面、首页、404页面。 在src下面新建views文件夹,然后分别新建login,home,404三个文件夹,然后每个文件夹内新建一个index.vue。我们这…

社区智能奶柜,未来市场新机遇

我们无法左右大局&#xff0c;但可以通过对时代趋势的深入理解&#xff0c;精准把握机遇&#xff0c;乘势而上&#xff01;未来优秀的商业项目&#xff0c;将遵循以下几个标准&#xff1a;产品具有高频需求、刚性需求、高毛利空间和低人力成本。社区智能奶柜之所以能在当前市场…

【入门Flink】- 02Flink经典案例-WordCount

WordCount 需求&#xff1a;统计一段文字中&#xff0c;每个单词出现的频次 添加依赖 <properties><flink.version>1.17.0</flink.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><…

enum和Collection.stream()你这样用过么

最近在做一个数据图表展示的功能&#xff0c;显示订单近七天或者近半月的数量和金额。可以理解成下图所示的样子&#xff1a; 我是用枚举和集合的stream方法实现的数据初始化和组装&#xff0c;枚举用来动态初始化时间范围&#xff0c;集合的stream方法来将初始化的数据转换成…