导航:首页 > 编程大全 > 图论在社交网络的应用

图论在社交网络的应用

发布时间:2023-01-04 01:23:38

Ⅰ 图论的应用领域有哪些

图论的应用领域有很多。凡是涉及排列组合优化问题的都免不了要用到图论中的各种知识。比如通信编解码,矩阵运算,任务分配,GPS路径规划等等。

至于图论的经典著作,可以自己去google一下graph theory。

Ⅱ 图论的实际应用例子

图论的实际应用例子如下:

什么是图形?

大多数人对"图形"这个术语有着非常广泛的理解,代表了大多数数学图形描述。然而,正如人们所期望的那样,在数学中有一个非常清晰的定义,即图形是什么,我们围绕它们建立有用的规则和计算,使它们对试图解决的问题有用。

多图是两个顶点之间具有有多条边的图,通常描绘不同的关系。可以想像一下飞机航线路线图,每条航线都是航班号。伦敦和纽约之间会有大量的边(路线)。

伪图(Pseudographs)是允许将顶点连接到自身的图形。毋庸置疑,在描绘人际关系的图表中通常不需要这样做。但是,例如你需要使用图表来描绘办公室中的咖啡订单以及谁正在购买适合他们的商品时,那么采用伪图将非常有用。

在完整的图形中,没有更多的边可以添加到边集上。所有顶点都相互连接。它可以是一个有用的数学工具来证明图形是完整的。

树图也非常明显,但它们在数学上被定义为连接且没有循环的图形。这意味着任何一对不同的顶点都可以通过一组边相互连接,但不可能通过一组边将顶点连接到自身。家谱通常就是这样的一个例子。例如皇室成员,那么可以看看西班牙国王查尔斯二世的家谱。

Ⅲ 「社交网络分析」是门怎样的学科

我们知道每个用户的活动时间序列,知道用户之间的联系,但显然不能简单地认为谁粉丝多谁就值钱,因为有些人粉丝质量高。那最简单的办法就是咱们来个page rank,至少我能知道谁相对谁更值钱。这样我至少能在一定程度上量化影响力了,然后再根据其他的feature做一些调整。

但这个方法还是有问题。因为pagerank没有考虑时间序列。影响力估计的不准。那再进一步,做一个generative model,每个user都以一定的概率(可以简单的时变)观看,转发,点赞他们关注的人的post,为了减少参数,再引入一些隐含变量声明用户分多少多少类。做一个agent based model。然后把这个model 放进data 里面,做参数估计。最后user的粉丝的点赞的期望,可能可以作为影响力的量化。

Ⅳ 2019-05-12

关于漫威英雄的社交网络系列已写了好几篇文章,是时候结束它了。作为本系列的最后一篇文章,我们将来研究一下如何在cypher语句映射的虚拟图上进行中心性计算,我们将使用Neo4j和图形算法库来找出漫威英雄网络中最有影响力的英雄或其他重要的英雄。

关于漫威社交网络的研究已完成的文章有以下几篇:

在Neo4j中构建漫威社交网络

在Neo4j中对漫威社交网络进行初步分析

Neo4j中基于三角形个数和连通分量的漫威英雄初步社群分析

Neo4j中使用Louvain和标签传播算法对漫威英雄进行客户群分析

正如我在前面文章中说过的,使用Cypher映射虚拟图是真的好用,他可以使我们简单快速的映射一个我们想要的虚拟图,我们简称为“Cypher加载”。为了更好的理解这个神奇的功能,我们需要深入了解它是如何工作。

与直接使用结点标签和关系类型加载子图不同,Cypher加载允许我们定义关系的方向,通常是以下三种值“incoming”,"outgoing"或者"both"(双向/无向),但是Cypher加载不支持单条无向关系。

这看起来可不太友好,但事实上,Cypher加载允许我们使用Cypher查询语句映射各种虚拟图去尝试执行图像算法。我在之前的文章中也使用过,只是没有详细的介绍它而已。 

假设我们现在有两个英雄结点以及在他们之间有一个单向的关系。将此图加载为无向图或者有向图的唯一区别就是:在使用Cypher查询语句映射时是否指定关系的方向。当我们在查询时不指定方向,Cypher引擎会为每个关系返回两个方向的结果,这样我们映射图也就是双向的,你也可以称他为无向的。

在图论与网络分析中,中心性是用来表示网络中结点重要性的指标之一。在社交网络中,其用来表明最有影响力的人。在互联网、城市网络甚至传染病学中,用来表明关键结点。中心性概念最初应用在社交网络中,并且它的很多术语都可以反应出其社会学起源,随后中心性被推广到其它类型网络的分析中。[1]

Pagerank是因Google专有的搜索算法。它通过计算链接到页面的链接数量和质量来决定当前页面的重要性。其基本的假设是,重要的结点肯定会有许多的页面链向它。关于Pagerank更多内容可以看此文(https://neo4j.com/docs/graph-algorithms/3.5/algorithms/page-rank/)

我们使用Cypher加载来漫威网络中最大社群的结点,并且设置关系的weight阈值为100.

美国队长是Pagerank分数最高的,他位于网络的中心,有24个关系,并且与其他重要英雄如雷神托尔、蜘蛛侠、钢铁侠都有联系。如果我们仔细看一下与美国队长有联系的英雄,会发现一个有趣现象,他们因为与美国队长有联系,而使得他们的pagerank分也比较高。

接近中心性定义了一个点到所有其他点最短距离的和,换句话说,要计算接近中心性,首先需要计算每对结点之间的最短路径长度。然后再对每个结点计算其到所有其他结点的最短路径和。[2]

接近中心性可以理解为信息流到达网络中任一点的所消耗的时间指标。这个接近中心性分数越高,代表信息流从一个结点到另一个结点所花的时间就越长。因此,我们可以认为接近中心性代表着一个结点到达其他结点的潜在能力。关于更多信息可见文档(https://neo4j.com/docs/graph-algorithms/3.5/algorithms/closeness-centrality/)

我们仍将使用Cypher加载漫威网络中最大社群中的结点并将关系的weight阈值设置为100。对于接近中心性而言,最重要的是需要加载一个独立社群。

不幸的是,当图是非连通图时,接近中心性是无法使用的,因为在非连通图中,两个点可能属于不同的社群,则这两个点是无法连接的,这样他们之间的距离就是无穷大。对于这样的图中的每一个点,都有属于另一个社群的点与之无法连接。因此图中所有顶点的都是没有用的,而接近中心性的计算也被限制在最大的社群中,其他社群中结点的作用是被忽略的。

上图中可以看出,美国队长的位置非常特殊,事实上,在所有类型的中心性上,美国队长都是排第一。我们可以看到,在较紧密的社群里,其结点的接近中心性的值相对较大,而在边缘或较少连接的结点上,其接近中心性的值也较小。另外,我们还注意到图中结点的分布也很重要,一般中间社群结点的接近中心性值要比周边社群的高。例如,钢铁侠和幻视要比蜘蛛侠的接近中心性高。但有意思的是蜘蛛侠的Pagerank值要比较他们大。

从毕达哥拉斯和柏拉图时代起,人们就知道,和谐就是“谐调和优美的比率”的表述,后来,音乐家用来表达规范音阶,建筑学家描述建筑的完美比例。[4]

社交网络分析是一门快速发展的且跨学科领域,它由社会学、物理学、历史学、数学、政治等多种学科共同发展而来。可能是由于缺少综合性研究,造成其中有些方法存在着不足,但已被普遍所接受(Freeman, 1978; Faust & Wasserman, 1992),而接近中心性在非连通网络的不适用性就是其一。和谐中心性也正是用来在非连通网络中代替接近中心性的。实际情况显示,在真实环境下,我们解读的结果发现其与接近中心性指标一致,计算复杂度相同,但最重要的是它可用于非连通网络![3]

因为和谐中心性是为了帮助接近中心性解决其在非连通图上的问题,所以,得到的结果也是相似的。 

在图论中,中介中心性是一种基于最短路径的中心性指标。在连通图中,每对点都存在着至少一条最短路径,对于无权重图,最短路径是指路径所包含的关系数最少,对于权重图,最短路径是指路径所含边的权重之和最小。而每个点的中介中心性值就是通过这个点的最短路径的条数。更多描述见(https://neo4j.com/docs/graph-algorithms/current/algorithms/betweenness-centrality/)

我们仍然使用Cypher加载那个最大的社群并设置关系的weight阈值为100

美国队长仍然排在第一位,但这次野兽排到了第二位,这并不奇怪,因为他产中间和右边社群的桥梁。蜘蛛侠和浩克扮演着与野兽相同的角色,但不同的是,他们俩所关联的社群较小,所以,他们的中介中心性值也更低。

[1] https://en.wikipedia.org/wiki/Centrality

[2] http://qualquant.org/wp-content/uploads/networks/2008+1-7-3.pdf

[3] https://infoscience.epfl.ch/record/200525/files/[EN]ASNA09.pdf?

[4] https://arxiv.org/pdf/cond-mat/0008357.pdf

[6] https://en.wikipedia.org/wiki/Betweenness_centrality

大数据怎么学

处理大数据需要一个综合、复杂、多方位的系统,系统中的处理模块有很多,而数据挖掘技术以一个独立的身份存在于处理大数据的整个系统之中,与其他模块之间相辅相成、协调发展。在大数据时代中,数据挖掘技术的地位是无可比拟的。

数据挖掘的基本流程
在正式讲数据挖掘知识清单之前,我先和你聊聊数据挖掘的基本流程。

数据挖掘的过程可以分成以下 6 个步骤。

商业理解:数据挖掘不是我们的目的,我们的目的是更好地帮助业务,所以第一步我们要从商业的角度理解项目需求,在这个基础上,再对数据挖掘的目标进行定义。

数据理解:尝试收集部分数据,然后对数据进行探索,包括数据描述、数据质量验证等。这有助于你对收集的数据有个初步的认知。

数据准备:开始收集数据,并对数据进行清洗、数据集成等操作,完成数据挖掘前的准备工作。

模型建立:选择和应用各种数据挖掘模型,并进行优化,以便得到更好的分类结果。

模型评估:对模型进行评价,并检查构建模型的每个步骤,确认模型是否实现了预定的商业目标。

上线发布:模型的作用是从数据中找到金矿,也就是我们所说的“知识”,获得的知识需要转化成用户可以使用的方式,呈现的形式可以是一份报告,也可以是实现一个比较复杂的、可重复的数据挖掘过程。数据挖掘结果如果是日常运营的一部分,那么后续的监控和维护就会变得重要。

数据挖掘的十大算法
为了进行数据挖掘任务,数据科学家们提出了各种模型,在众多的数据挖掘模型中,国际权威的学术组织 ICDM (the IEEE International Conference on Data Mining)评选出了十大经典的算法。

按照不同的目的,我可以将这些算法分成四类,以便你更好的理解。

l 分类算法:C4.5,朴素贝叶斯(Naive Bayes),SVM,KNN,Adaboost,CART

l 聚类算法:K-Means,EM

l 关联分析:Apriori

l 连接分析:PageRank

1. C4.5

C4.5 算法是得票最高的算法,可以说是十大算法之首。C4.5 是决策树的算法,它创造性地在决策树构造过程中就进行了剪枝,并且可以处理连续的属性,也能对不完整的数据进行处理。它可以说是决策树分类中,具有里程碑式意义的算法。

2. 朴素贝叶斯(Naive Bayes)

朴素贝叶斯模型是基于概率论的原理,它的思想是这样的:对于给出的未知物体想要进行分类,就需要求解在这个未知物体出现的条件下各个类别出现的概率,哪个最大,就认为这个未知物体属于哪个分类。

3. SVM

SVM 的中文叫支持向量机,英文是 Support Vector Machine,简称 SVM。SVM 在训练中建立了一个超平面的分类模型。如果你对超平面不理解,没有关系,我在后面的算法篇会给你进行介绍。

4. KNN

KNN 也叫 K 最近邻算法,英文是 K-Nearest Neighbor。所谓 K 近邻,就是每个样本都可以用它最接近的 K 个邻居来代表。如果一个样本,它的 K 个最接近的邻居都属于分类 A,那么这个样本也属于分类 A。

5. AdaBoost

Adaboost 在训练中建立了一个联合的分类模型。boost 在英文中代表提升的意思,所以 Adaboost 是个构建分类器的提升算法。它可以让我们多个弱的分类器组成一个强的分类器,所以 Adaboost 也是一个常用的分类算法。

6. CART

CART 代表分类和回归树,英文是 Classification and Regression Trees。像英文一样,它构建了两棵树:一颗是分类树,另一个是回归树。和 C4.5 一样,它是一个决策树学习方法。

7. Apriori

Apriori 是一种挖掘关联规则(association rules)的算法,它通过挖掘频繁项集(frequent item sets)来揭示物品之间的关联关系,被广泛应用到商业挖掘和网络安全等领域中。频繁项集是指经常出现在一起的物品的集合,关联规则暗示着两种物品之间可能存在很强的关系。

8. K-Means

K-Means 算法是一个聚类算法。你可以这么理解,最终我想把物体划分成 K 类。假设每个类别里面,都有个“中心点”,即意见领袖,它是这个类别的核心。现在我有一个新点要归类,这时候就只要计算这个新点与 K 个中心点的距离,距离哪个中心点近,就变成了哪个类别。

9. EM

EM 算法也叫最大期望算法,是求参数的最大似然估计的一种方法。原理是这样的:假设我们想要评估参数 A 和参数 B,在开始状态下二者都是未知的,并且知道了 A 的信息就可以得到 B 的信息,反过来知道了 B 也就得到了 A。可以考虑首先赋予 A 某个初值,以此得到 B 的估值,然后从 B 的估值出发,重新估计 A 的取值,这个过程一直持续到收敛为止。

EM 算法经常用于聚类和机器学习领域中。

10. PageRank

PageRank 起源于论文影响力的计算方式,如果一篇文论被引入的次数越多,就代表这篇论文的影响力越强。同样 PageRank 被 Google 创造性地应用到了网页权重的计算中:当一个页面链出的页面越多,说明这个页面的“参考文献”越多,当这个页面被链入的频率越高,说明这个页面被引用的次数越高。基于这个原理,我们可以得到网站的权重划分。

算法可以说是数据挖掘的灵魂,也是最精华的部分。这 10 个经典算法在整个数据挖掘领域中的得票最高的,后面的一些其他算法也基本上都是在这个基础上进行改进和创新。今天你先对十大算法有一个初步的了解,你只需要做到心中有数就可以了,具体内容不理解没有关系,后面我会详细给你进行讲解。

数据挖掘的数学原理
我说了这么多数据挖掘中的经典算法,但是如果你不了解概率论和数理统计,还是很难掌握算法的本质;如果你不懂线性代数,就很难理解矩阵和向量运作在数据挖掘中的价值;如果你没有最优化方法的概念,就对迭代收敛理解不深。所以说,想要更深刻地理解数据挖掘的方法,就非常有必要了解它后背的数学原理。

1. 概率论与数理统计

概率论在我们上大学的时候,基本上都学过,不过大学里老师教的内容,偏概率的多一些,统计部分讲得比较少。在数据挖掘里使用到概率论的地方就比较多了。比如条件概率、独立性的概念,以及随机变量、多维随机变量的概念。

很多算法的本质都与概率论相关,所以说概率论与数理统计是数据挖掘的重要数学基础。

2. 线性代数

向量和矩阵是线性代数中的重要知识点,它被广泛应用到数据挖掘中,比如我们经常会把对象抽象为矩阵的表示,一幅图像就可以抽象出来是一个矩阵,我们也经常计算特征值和特征向量,用特征向量来近似代表物体的特征。这个是大数据降维的基本思路。

基于矩阵的各种运算,以及基于矩阵的理论成熟,可以帮我们解决很多实际问题,比如 PCA 方法、SVD 方法,以及 MF、NMF 方法等在数据挖掘中都有广泛的应用。

3. 图论

社交网络的兴起,让图论的应用也越来越广。人与人的关系,可以用图论上的两个节点来进行连接,节点的度可以理解为一个人的朋友数。我们都听说过人脉的六度理论,在 Facebook 上被证明平均一个人与另一个人的连接,只需要 3.57 个人。当然图论对于网络结构的分析非常有效,同时图论也在关系挖掘和图像分割中有重要的作用。

4. 最优化方法

最优化方法相当于机器学习中自我学习的过程,当机器知道了目标,训练后与结果存在偏差就需要迭代调整,那么最优化就是这个调整的过程。一般来说,这个学习和迭代的过程是漫长、随机的。最优化方法的提出就是用更短的时间得到收敛,取得更好的效果。

随着大数据时代的到来,社会对“挖掘”到的数据要求变得更加严格,每一个精准的结果都具备独自的“价值”,这时,大数据时代的新增属性——“价值”被演绎得有声有色。数据挖掘(data mining, DM)是一门新兴的、汇聚多个学科的交叉性学科,这是一个不平凡的处理过程,即从庞大的数据中,将未知、隐含及具备潜在价值的信息进行提取的过程。1989年8月,在美国底特律市召开的第十一届人工智能联合会议的专题讨论会上,知识发现(knowledge discover in database,KDD)初次被科学家们提出,同时,也有人将知识发现称为数据挖掘,但两者并不完全等同。1995年,KDD这个术语在加拿大蒙特利尔市召开的第一届知识发现和数据挖掘国际学术会议上被人们接受,会议分析了数据挖掘的整个流程。实质上,数据挖掘是知识发现的子过程。

数理统计与数据挖掘的区别

更普遍的观点认为,数据挖掘是数理统计的延伸和发展,如果一定要加以区分,它们又有哪些区别呢?数据挖掘在如下几个方面与数理统计存在比较明显的差异。数理统计的基础之一就是概率论,在对数据进行数理统计分析时,分析人员常常需要对数据分布和变量间的关系作假设,确定用什么概率函数来描述变量间的关系,以及如何检验参数的统计显著性。但是,在数据挖掘的应用中,分析人员不需要对数据分布做任何假设,数据挖掘中的算法会自动寻找变量间的关系。因此,相对于海量、杂乱的数据,数据挖掘技术有明显的应用优势。

阅读全文

与图论在社交网络的应用相关的资料

热点内容
js去掉页面双击选中 浏览:434
php获取json数据 浏览:21
四叶草引导黑苹果教程 浏览:851
营销建网站怎么建 浏览:820
秘密的秘密安卓下载 浏览:737
数字营销程序化交易 浏览:545
后期app都有哪些 浏览:462
ipad蜂巢移动数据怎么收费 浏览:71
青鸟java和传智的java 浏览:42
在微信中打开的dwg文件存在哪里 浏览:667
终极解码2014设置教程 浏览:810
拍照破解手机图案密码 浏览:885
安卓shell查看进程 浏览:158
mysql数据库longtext 浏览:568
嵌入式linux有哪些特点 浏览:587
展开收缩代码 浏览:189
archlinuxfn 浏览:744
文件档案管理系统毕业设计 浏览:391
网络机顶盒电视没信号怎么回事 浏览:384
苹果手机如何下载来玩 浏览:826

友情链接