一、   研究背景

在社会和经济网络中,影响最大化问题在过去十年中得到广泛的研究,由于其广泛应用于病毒式营销[1,2],突破检测[3],谣言监测[4]等。例如公司可以通过向初始用户(称为种子)发送免费样品,并通过口碑(World of Mouth)效应,在社交网络中进行宣传活动,越来越多的用户受到社会关系的影响加入宣传活动,宣传促销活动。这个问题首先由Kempe等人提出[5],他们提出了独立的级联模型和线性阈值模型,考虑信息扩散的社会心理因素来模拟这种随机的收养过程。他们给出了influence maximization问题的形式化定义:给一个有向图G = (V,E) ,V代表节点,E代表有向边,每一条边有一个权值  ∈ [0,1],代表源点对终点的影响因子(源点有多大的几率对终点产生影响)。定义参数向量θ=( ) e∈E 代表每一条边上的影响因子。我们定义 (S)为影响传播函数,( (S)代表从S出发能传播到的所有节点数目的期望值) 其中L代表图G的子图, [L]代表在参数向量θ下子图L出现的概率。(每一条边出现的概率就是传播因子)RL(S)代表在子图L中从S节点能到达所有节点的个数。Influence maxization问题就是要找到使得  (S)取得最大值得集合S。

(S)具有下面三个性质:(1)(∀S⊆V, (S)≥0);(2)单调递增(∀S⊆T⊆V, (S)≤ (T));(3)(∀S⊆T⊆V, ∀v∈V, (S∪{v})− (S)≥ (T∪{v})− (T))。

正是由于 (S)具有这三个性质,使得greedy算法是正确的。

从此人们对影响力最大化进行了广泛的研究,特别是提高了求解独立级联模型中影响最大化问题的效率,但是所有这些都假设我们真正知道真实的影响概率,但是在真正的社交网络中影响概率并不容易计算。一些研究[6]提出了提取影响概率的学习方法。但是由于固有的数据限制,没有学习方法可以得到影响概率的精确值,但是我们可以实现的是对真实影响概率的估计,我们可以得到一个置信区间使得真实值落在区间内有极高的可能性。然而,影响概率估计的不确定性可能会对影响最大化任务的结果产生不利影响,但是这个话题大多没有被探索。解决这个问题的唯一尝试是[7]最近的一项研究,但[7]中研究结果相当有限。所以这篇论文就尝试来解决这个问题。

二、 现有研究方法

在这篇论文中,作者运用鲁棒优化的概念[8]进行研究,以解决不确定性影响最大化问题。本文的创新点在于:我们考虑到影响最大化任务的输入不再是社会图的每个边的影响概率,而是真正概率的置信区间。因此,输入实际上是参数空间Θ,它是所有边上的所有区间的乘积。对于任何种子集S,令 表示S在参数设置θ∈Θ下的影响扩展。然后我们将S的鲁棒比定义为 = 其中 表示 是在参数θ下达到最大影响扩展的最佳种子集。直观上,S的鲁棒率表示 与最坏影响参数θ∈Θ下的 之间的差距,因为我们不确定哪个θ∈Θ是真实概率设置。那么我们的优化任务是找到一个大小为k的种子集合,它可以使已知参数空间Θ下的鲁棒比值最大化 - 我们称之为鲁棒影响最大化(RIM)。下面形式化定义这个问题:给一个有向图G = (V,E) ,V代表节点,E代表有向边,每一条边有一个权值区间 ,代表源点对终点的影响因子的置信区间。定义参数空间Θ= (Θ实际就是每一条边上权值区间的笛卡尔乘积),我们希望能找到一个大小为k的集合,使得目标函数g(Θ,S)取得最大值。也就是找公式中的集合 (定义如下)

很明显,当影响概率不存在任何不确定性时,这意味着Θ坍缩成单个真实参数θ,RIM退化为经典的影响最大化问题。然而当存在不确定性时,解决RIM可能是一个更困难的任务。

在本文中,我们首先提出一个算法LUGreedy来解决RIM任务与其性能的解决方案依赖的约束,这意味着可以在选择种子集之后验证其性能。然后我们证明了如果只给出输入参数空间Θ,并且每条边上影响概率的区间不能减小,那么即使针对RIM问题最好的种子集合得到的鲁棒性也会很小(例如O(  / ),其中n是图中的节点)。这促使我们研究采样方法以进一步收紧参数空间Θ,从而提高我们的算法的鲁棒性。

于是我们创新性的提出了采用均匀采样和自适应采样,以提高RIM性能。对于均匀采样,我们提供了时间复杂性的理论结果,以实现输出种子集的给定鲁棒比。对于自适应采样,我们提出了一种基于信息级联的启发式方法,将我们的采样效果能够自适应地偏移到重要的边上,降低重要边上影响概率的置信区间。通过广泛的实践评估,我们表明(a)鲁棒性对置信区间的宽度敏感,当置信区间的宽度增加时,鲁棒性迅速下降; 因此,由于相对较大的置信区间(因此具有很高的不确定性),之前研究的算法极有可能导致不良的鲁棒性。下面是在NetHEPT,Flixster(Mixed)和Flixster(Topic 8)上运行LUgreedy算法得到的鲁棒性的上界和下界。从图中可以看到,随着每一条边上置信区间的增大,鲁棒性的上界和下界迅速下降。

(b)基于信息级联的自适应采样方法比均匀采样更好,可以显着提高影响最大化任务的鲁棒性。下面是在NetHEPT集合上运行ICS-RIM(自适应采样),US-RIM(均匀采样)和OES-RIM(其他论文中的算法,在这里作为基准来对比均匀采样和自适应采样算法)算法得到的鲁棒性的上界和下界,从图中可以看出,随着采样次数的增多,ICS-RIM算法的优势很快显示出来,并且很快的稳定到达最大值。

三、 改进方法

仔细分析作者的论文就不难发现,作者提出的LUGreedy算法uniform sampling算法以及 adaptive  sampling算法都是对Greedy算法结果的进一步加工,但是Greedy算法的时间复杂度比较高,是 O( k*n*m )这样的时间复杂度太高了,而且作者提出的adaptive  sampling算法和uniform sampling算法要多次运行Greedy算法,所以说Greedy算法作为其他算法的基石必须要进行改进。

下面我就针对Greedy算法提出改进并用Greedy++算法进行命名。

分析贪心算法的伪代码就可以发现,贪心算法的思想其实很简单,

每一次循环都找到使得目标函数增长幅度最大的节点,然后加入到种子集合之中,但是我们每找一个节点都要把所有节点计算一遍,没有利用到之前的计算出来的信息,十分的慢。我的想法是基于一个假设,在一轮循环中,对目标函数贡献值大的节点但是没有被选为种子节点,在接下来的循环中极有可能被选为种子节点,所以我们可以优先计算这些节点的贡献值,这样的话,就可以减少很多不必要的计算。我的做法就是在找第一个节点的过程中使用一个优先队列来记录每一个节点对于目标函数的贡献,然后之后的每一次循环按照节点的贡献从大到小重新计算,然后到优先队列之中更新节点的贡献值。如果碰到某一个节点在一轮之中已经被计算过的话,那么这个节点就是我们想要的节点,它能使得目标函数的增长最大化,然后加入到种子节点之中。

因为我们往往很快就能够找到节点所以我们假设while循环的执行次数是O(1),每一次循环之中计算目标函数 是O(m),所以通过我的改进,使得算法的时间复杂度降低为O(k*m)。

实验结果对比

下面两个表格就是实验的结果图,第一个表格是在260个节点3900个边的社交网络图上进行的实验,第二个表格是在15233个节点58891个边的社交网络图上进行的实验,第一行是算法的运行时间,第二行是在两个算法分别找到的种子集合计算  (S)影响传播函数的大小。可以发现Greedy++算法能够很快的结束,而且时间并没有增长多少,不仅如此,对比Greedy算法的结果来看,Greedy++算法的运行结果和Greedy算法的结果近似相同。其实本质上来说,greedy++算法的结果应该和greedy算法的结果相同,但是实验表现却不如greedy算法的原因,我觉得是因为计算 的结果并不是精确的,(计算目标函数的精确解法时间复杂度是指数量级的,所以我就采用了模拟的方法来运行IC模型,得到近似的结果 ,使得时间复杂度随着图的规模线性增长)这样的话,如果某一个节点在greedy++算法中,计算出的贡献值小于真实的贡献值的话,那么在之后的循环之中,就不会优先计算它,甚至可能导致,永远不会再次计算它。这样的话,它就不可能加入到种子节点集合中,但是在greedy算法中,就算在某一次循环中,一个节点对于 的贡献被错误的估计了,那么在下一次的循环之中,这个节点的贡献值还要被重复计算,这样的话,就能防止种子节点被遗弃。总之在greedy++算法中,节点对于 的贡献被估计小了,那么它很难再次被计算,但是greedy算法中,它还可以被重复计算,这样的话减小了由于求解 采用近似算法引入的误差。所以图中greedy算法的结果要比greedy++算法的结果表现要好。

N=260,m=3900

Greedy

Greedy++

时间

12.546000s

1.187000s

结果

66

52

N=15233,m=58891

Greedy

Greedy++

时间

90.154000s

1.375000s

结果

604

519

     
             

四、 结论

这篇论文Robust Influence Maximization是influence maximization领域十分有名的论文,是微软亚洲研究院wei chen先生的论文,论文给我的感觉是数学知识十分的复杂,推导过程很艰深难懂,但是通过自己仔细的阅读研究还是能看出论文推理过程之中的一些疏漏,以及作者做得不够好的地方。通过我的改进使得算法的时间复杂度得以大幅下降,最好情况下的时间复杂度降低从O( k*n*m )降低到O(n*m),并且使得结果能够近似接近真实的结果,成功实现了算法的改进。

[1]P. Domingos and M. Richardson. Mining the network

value of customers. In KDD 2001.

[2] D. Kempe, J. Kleinberg, and E. Tardos. Maximizing

the spread of influence through a social network. In

KDD 2003.

[3] J. Leskovec, A. Krause, C. Guestrin, C. Faloutsos,

J. VanBriesen, and N. Glance. Cost-effective outbreak

detection in networks. In KDD 2007.

[4] C. Budak, D. Agrawal, and A. El Abbadi. Limiting

the spread of misinformation in social networks. In

WWW 2011.

[5] D. Kempe, J. Kleinberg, and E. Tardos. Maximizing

the spread of influence through a social network. In

KDD 2003.

[6] K. Saito, R. Nakano, and M. Kimura. Prediction of

information diffusion probabilities for independent

cascade model. In Knowledge-Based Intelligent

Information and Engineering Systems, pages 67–75.

Springer, 2008.

[7] X. He and D. Kempe. Stability of Influence

Maximization. ArXiv e-prints, Jan. 2015.

[8] A. Ben-Tal and A. Nemirovski. Robust

optimization–methodology and applications.

Mathematical Programming, 92(3):453–480, 2002.

Robust Influence Maximization的更多相关文章

  1. influence maximization 第二弹

    Robust Influence Maximization 首先简要介绍一下这个问题:在一个社交网络图中寻找固定数量的节点,使得这些节点对所有节点的影响值尽可能的大.先对这个问题给出形式化的定义:给一 ...

  2. influence maximization

    Robust Influence Maximization 首先简要介绍一下这个问题:在一个社交网络图中寻找固定数量的节点,使得这些节点对所有节点的影响值尽可能的大.这个问题由于在病毒式营销,谣言监控 ...

  3. 讲座:Influence maximization on big social graph

    Influence maximization on big social graph Fanju PPT链接: social influence booming of online social ne ...

  4. KDD2016,Accepted Papers

    RESEARCH TRACK PAPERS - ORAL Title & Authors NetCycle: Collective Evolution Inference in Heterog ...

  5. KDD2015,Accepted Papers

    Accepted Papers by Session Research Session RT01: Social and Graphs 1Tuesday 10:20 am–12:00 pm | Lev ...

  6. [Network Analysis] 复杂网络分析总结

    在我们的现实生活中,许多复杂系统都可以建模成一种复杂网络进行分析,比如常见的电力网络.航空网络.交通网络.计算机网络以及社交网络等等.复杂网络不仅是一种数据的表现形式,它同样也是一种科学研究的手段.复 ...

  7. CIKM 2013推荐系统论文总结

    这几天在家没事,介绍几篇CIKM上关于推荐系统的文章, Personalized Influence Maximization on Social Networks Social Recommenda ...

  8. 论文翻译:Data mining with big data

    原文: Wu X, Zhu X, Wu G Q, et al. Data mining with big data[J]. IEEE transactions on knowledge and dat ...

  9. 【图机器学习】cs224w Lecture 13 & 14 - 影响力最大化 & 爆发检测

    目录 Influence Maximization Propagation Models Linear Threshold Model Independent Cascade Model Greedy ...

随机推荐

  1. webpack多入口优化

    最近接手的项目是公司之前搭的多页面应用脚手架,然后到现在入口页面大大小小超过半百了,然后每次更新完配置之后,重启页面就贼拉卡,实在太影响开发效率了,于是开始优化呗. 最开始发现如果你想要让加载速度变快 ...

  2. vue 配置了全局的http拦截器,单独某个组件不需要这个拦截器,如何设置

    之前写过关于全局配置http拦截器的随笔,现在有个需求,在微信支付时,生成二维码,页面显示一个遮罩层,二维码页面需要每两秒请求一次接口,若返回结果为已支付,则进行页面跳转,但因为全局http中load ...

  3. CentOS-07安装Redis学习笔记

    CentOS-07安装Redis 下载 http://download.redis.io/releases/redis-3.0.0.tar.gz 安装第一步:将下载的Redis源码包上传大奥Linux ...

  4. CentOS如何手动增加 删除swap区

    SWAP是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的.它类似于Windows中的虚拟内存.在Windows中,只可以使用文件来当作虚拟内存.而linux可以文件或者分区来当作 ...

  5. css伪类及伪元素用法

    注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的读者可以自己尝试: :active  大致效果为用鼠标 ...

  6. SpringBoot跨域问题

    1.先来说说跨域原理: 跨域原理简单来说就是发起跨域请求的时候,浏览器会对请求域返回的响应信息检查HTTP头,如果Access-Control-Allow-Origin包含了自身域,则允许访问,否则报 ...

  7. SqlSever 使用 CROSS APPLY 与 OUTER APPLY 连接查询

    前言 日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求.比如,左表一条关联右表多条记录时,我需要控制右表的某一条或 ...

  8. ListView点击事件失效(item里面有button按钮控件)解决方法

    ListView点击事件失效解决方法: 一般出现这个情况,就是你的item里面有按钮的点击事件,你的item里面有button控件,button控件是抢占焦点的,只要在你的item布局里面这样子写就可 ...

  9. centos 7.3 安装配置python3.6.1

    1.先安装一些我遇到的依赖问题(如果有依赖问题按提示安装): yum install xz gcc zlib zlib-devel 2.官网下载源码包 地址:https://www.python.or ...

  10. mysql传统主从配置与主从监控

    主从简介 在现代企业中,数据显得尤为重要,而存储数据的数据库选择又五花八门,但无论是何种数据库,均存在着一种隐患. 当数据规模非常大,读写量也很高时,一台数据库已经无法负担全部读写任务,就需要多台数据 ...