Targeted influence maximization in competitive social networks

abstract

   利用口碑效应的广告对于推销产品是相当有效的。在过去的十年中,人们对营销中的影响力最大化问题进行了深入的研究。影响力最大化问题旨在将社交网络中的一小群人识别为种子,最终他们将引发网络中最大的影响力传播或产品采用。在网络营销的实际场景中,网络中同类产品之间存在竞争、针对特定用户群体进行促销的情况是很常见的。例如,活动主办方在社交平台上发布活动广告,希望吸引最多当地居民的关注。与此同时,社交平台上正在推广多项竞赛活动。在本文中,我们提出了竞争性社交网络中的目标影响力最大化(TIMC)等问题。为了模拟影响扩散,我们将目标节点和竞争关系组合成一个独立的级联模型。我们提出了一种基于反向可达集合的贪心(RRG)算法来解决TIMC问题,并从理论上证明了其逼近率。我们还设计了修剪策略以进一步加快所提出算法的性能。大量实验证实了所提出的 RRG 算法的效率。我们还发现该算法对于竞争激烈的稀疏大型网络特别有效。

1. Introduction

   在线社交网络已成为传播新闻、信息和观点的流行交流平台。许多公司已经开始使用社交网络作为主要的广告工具来推广他们的产品。借助朋友之间的口碑传播效应,影响力会在网络社交网络上被触发并快速传播。一个基本问题是确定将向其分发产品样品的一小群人。从他们开始,通过口碑效应引发连锁反应。这称为病毒式营销,它允许以相对较小的成本或预算覆盖网络的大部分。病毒式营销背后的基本问题被表述为经典的优化问题:影响力最大化(IM)。影响力最大化(IM)问题旨在找到 k 个用户的种子集,以最大化社交网络中所有用户的预期影响力。该问题由 Kempe [21] 于 2003 年首次提出。由于该问题是 NP 难问题,Kempe 等人提出了 NP-hard 问题。提出了一种贪心算法来求解,该算法授予 ð1 1=e Þ 下最优解的近似比例两种经典的扩散模型:独立级联模型(IC)和线性阈值模型(LT)。贪心算法虽然具有确定的性能比,但是非常耗时。人们提出了许多启发式策略来提高算法的速度[11,24,31]。陈等人。 [11,10]提出了 DegreeDiscount 启发式方法,它对于统一独立级联模型效果很好。 [31]提出了IC模型的PMIA算法。莱斯科维奇等人。 [23]提出了一种经济高效的前向延迟(CELF)算法来减少计算次数。戈亚尔等人。 [16]提出了CELF++算法,比CELF算法效率提高了33%~55%。为了进一步解决效率问题,提出了一种名为反向影响集(RIS)的最先进的解决方案来支持 ð1 1=e Þ 近似比率。该方法使用随机采样并且可以支持已经提出的各种传播模型。最近对 IM 问题的研究主要集中在利润最大化 [12,14,20] 和谣言传播 [33,26,34,35] 等变体上。

   在网络营销的实际场景中,网络中同类产品的竞争、针对特定用户群体的推广是很常见的。例如,活动组织者在社交平台上发布活动广告,希望吸引最多数量的本地用户参加。与此同时,社交平台上正在推广多项竞赛活动。传统的 IM 问题解决方案无法直接应用于解决该问题。受实际场景的启发,我们在本文中研究了竞争性社交网络中的目标影响力最大化(TIMC)。在本文中,我们考虑影响力最大化,其目标是在社交网络中传播具有竞争性影响力的特定用户群体。我们提出了一种基于反向可达集的贪婪(RRG)算法来解决 TIMC 问题。论文的主要贡献如下。

   - 我们考虑竞争性社交网络中的目标影响力,并将该问题正式表述为竞争目标影响力最大化(TIMC)。 TIMC 问题的灵感来自于在线营销的盗版场景。

  - 在对社交网络中的影响力扩散进行建模时,我们通过考虑目标用户和竞争影响力来改进传统的独立级联模型。

   - 我们从理论上证明 TIMC 问题的目标函数是单调子模的。为了解决 TIMC 问题,我们提出了一种基于反向可达集的贪婪(RRG)算法。设计了剪枝算法来进一步降低时间成本。 - 在四个真实数据集上进行了大量实验,以验证 RRG 算法在大规模社交网络中的效率。

   本文的后续内容整理如下。第二节介绍了竞争性社交网络、目标影响力最大化和影响力扩散模型等主题的现有研究。在第 3 节中,我们阐述了 TICC 问题并介绍了改进的扩散模型。第 4 节介绍了我们用于解决 TIMC 问题的基于反向可达集合的贪婪 (RRG) 算法。在第五节中,我们分析实验设计和实验结果。第 6 节总结了本文。

2. Related work

    在本节中,我们将简要介绍最近在竞争性社交网络、目标影响力最大化和影响力传播模型三个方面的研究工作。

2.1. Competitive Social Networks

   最近有许多研究关注多重影响的最大化。巴拉蒂等人。 [3]首先提出了竞争性社交网络影响力最大化问题,并给出了近似理论证明ð1 1 eÞ。基于IC模型,Lin Yishi [27]提出了两阶段竞争影响最大化(TCIM)问题。该框架可以解决传播模型下竞争影响力最大化的问题。由于IC模型的局限性,目前的研究工作集中在IC模型的扩展上。例如,丁达等人。 [36]利用竞争独立级联(CIC)模型,在正面和负面意见同时存在的前提下最大化相对影响力(RIM)。英等人。 [37]研究了多影响力竞争背景下如何公平分配种子节点,提出了时间无效的独立级联模型。他们还设计了一种运行时间相对较快的贪婪算法。曼等人。 [30]讨论了基于地理位置的竞争影响的最大化。慧敏等人。 [19]研究了多元竞争条件下追随者影响力最大化的问题。他们提出了竞争互补性的独立级联模型(CCIC),通过深度递归网络动态跟踪实体的相关性,级联因果关系与评级之间的相关性,计算节点与目标产品之间的影响概率,有效地预测影响概率。

     除了 IC 模型之外,线性阈值 (LT) 是 IM 问题的另一种经典扩散模型。鲍罗丁等人。 [4]在一个或多个竞争者的情况下扩展了LT模型,他们证明了该问题不仅是NP-hard问题,而且具有理论上的近似保证。 Cali o 和 Tagarelli [6] 提出了竞争与非竞争实时变化情况下的敌友动态线性阈值模型(F2DLT),将信任与不信任关系的强度融入到扩散概率中。他们还引入了一个静态函数来表示比赛中的延迟。 Xinran等人基于竞争线性阈值模型(CLT)。 [18] 研究了如何预防流感尽可能阻止对方扩散,这就是影响力封锁最大化(IBM)。 Peng和Pan[32]进一步研究了IBM问题,发现贪心算法解决IBM问题非常缓慢。因此他们提出了利用最大影响树状结构来提高效率的启发式算法CMIA-H和CMIA-O。

    在移动社交网络中,Huang 等人。 [15]研究了两种相似的竞争产品如何传播和竞争,并提出平衡竞争独立级联(BCIC)模型来解决该问题。萨拉斯等人。 [29]提出了多个竞争产品的意识影响力(AtI)模型。根据组合多臂老虎机框架,Zuo 等人。 [38]研究了在线竞争影响力最大化(OCIM)问题。库尔希德等人。 [2]应用深度强化学习来解决进化社交网络中的CIM问题。

2.2. Targeted Influence Maximization

  在很多场景中,网络营销都有针对性的用户。换句话说,产品的推广是针对特定的用户群体的。例如,活动组织者在社交平台上传播某些活动信息,并希望影响活动地点附近最多的人。

   Abhishek和Tushar[17]研究了如何根据用户属性计算信息传播的概率,并设计了SHIM启发式算法以最大化目标的影响力。基于种子多样性和目标影响力的概念,Cali o 和Tagarelli [7]设计了单调子模函数。这确保了具有理论近似保证的有效且可扩展的近似方法。然后,Cali o 和 Tagarelli [8] 还研究了将种子多样性概念的分类描述整合到 IM 问题中。他们首先提出了一种正式的系统化方法,该方法确定了影响传播中的子模块集多样性。苏等人。 [28]将促销产品与特定目标和地理位置相结合,并将其定义为目标函数。为了最大化目标用户的传播,每个树节点都设计了TR树索引结构,通过深度优先搜索来存储用户主题和地理位置。在线下预先计算用户的初始影响力,并估计在线用户的边际影响力上限。对影响力较小的节点进行剪枝,可以有效找到目标用户。安东尼奥等人。文献[5]率先将拓扑驱动的多样性嵌入到最大化目标影响力问题中,使得k个用户的多样性敏感目标函数达到最大值。李令飞等人。 [25]提出了一种基于多因素传播的MFIP模型。他们利用节点的一阶影响力来估计影响力,并设计了加权度降低算法来选择种子节点。

2.3. Propagation Model

  信息传播在复杂的社会结构中发挥着重要作用。当用户采用某种产品或接受某种意见时,可能会有意无意地影响他们的朋友。影响力就这样扩散开来。 Domingos 和 Richardson [13] 是将影响力扩散作为优化营销策略的算法问题进行研究的先驱。他们通过马尔可夫随机场建立了一个模型,然后开发了一种启发式算法来探索解决方案。受到他们工作的启发,Kempe 等人。 [21]介绍了IC和LT模型,它们是影响力最大化问题的基本模型。

  - 独立级联模型(IC)。活动节点将尝试以独立的概率激活其不活动的邻居节点。不同的活跃节点试图影响同一邻居节点的行为而不互相干扰,这称为独立级联模型。

- 线性阈值模型(LT)。多个活动节点尝试一起激活不活动的相邻节点。如果不活跃节点的影响力总和大于节点的阈值,则该节点变为活跃节点。

  肯佩等人。证明IM问题是一个NP-hard问题,并且目标函数在这两个基本模型下是子模且单调的。陈等人。 [9]考虑了通信的积极和消极影响并扩展了IC模型。新模型仍然保持了子模块性,并提出了树结构算法来解决IM问题。他等人。 [18]提出OSN中的产品之间存在竞争关系,并提出了竞争LT模型。

   为了区分 IM 问题和 TIMC 问题,我们给出一个图,

如图 1 所示:假设 A 是种子节点,A 可以以不同的概率影响 B、C、D。如果概率大于0.13,该节点可以将影响传播到邻居节点。在图1(a)中,我们可以发现节点A可以激活B和C的两个邻居节点。但是在图1(b)中,竞争节点和目标节点被添加,传播概率变得更低,并且节点A只能激活B。但是B并不是我们想要影响的对象,所以这个过程是无效的。为了便于阅读,

表1总结了本文中的一些重要符号。

3. TICC Model Design

  TICC模型结合了产品的竞争力和现实营销中用户的特殊性。我们从V定义一个目标集T,这意味着种子S需要最大程度地影响目标集T。为了有竞争力,我们采用竞争系数而不是竞争节点。竞争系数将反映全球竞争的强度,这也使得由于数据集特征很少而可以轻松模拟竞争性社交网络。用户节点在整个传播过程中只有两种状态:活跃或非活跃。假设 IcðS; tÞ 是判断G中节点t是否可以被激活,

 最初,所有节点均处于非活动状态。传播过程以离散步骤执行。 TICC模型的传播过程如下:

1. 在时间戳t 1⁄4 0,初始化种子节点集合S。种子集合中的所有节点都被激活,而其他节点处于非激活状态。

2. 在时间戳 t × 1 时,如果节点 v 处于活动状态,它将尝试以 qðv 的概率激活其相邻的不活动节点 u; uÞ.Orv 是一个竞争节点,当 v 处于活动状态时,竞争节点 v 将以 qðv;uÞ cvu 概率激活其邻居节点。

3. 确认激活的节点是否属于目标节点。属于目标节点的激活节点不能用作种子节点。

4. 重复传播过程,直到没有目标节点改变状态。然后传播就完成了。

   当一个节点变为活动状态时,它只有一次机会激活其相邻节点,这些节点保持非活动状态。如果一个节点受到其邻居的影响,则状态将变为活动状态,并且状态将继续。图2是TICC模型下的简单扩散图,其中用户u为初始节点,6为目标节点,3和4为竞争节点,其他节点为传播节点。图2(a)是没有竞争节点的传播,如果我们要激活目标节点6,有几条路径u! 1! 3! 5! 4! 6;你! 3! 5! 4! 6 还有你! 2! 4!如图6所示,可以成功激活目标节点6。图2(b)和图2(c)分别是具有竞争的目标传播过程。图2(b)的竞争节点为3。如果竞争大,传播就会中断。这样只能激活目标节点6通过你! 2! 4! 6.即使竞争力不强,激活目标节点的可能性也比图2(a)小。图2(c)中的竞争节点4是激活目标节点6的唯一途径。因此,如果竞争性较高,则无法激活目标节点。

4. Our Proposed Solution

   为了捕捉社交网络中的竞争,我们采用竞争系数而不是竞争节点。竞争系数代表了全球竞争的强度。令cuv代表用户u对用户v的影响力的竞争系数,且cuv大于1。竞争系数反映了竞争的强度。在计算影响力分布值时,我们不计算目标节点的所有激活值,而只计算目标用户在其中的分布值。定向扩散的目标是选择能够触发或激活网络中最大数量目标用户的种子节点。

4.1. Problem Formulation

  等G 1⁄4ðV; EÞ对应社交网络,其中V是节点集合,E是有向边集合,即jVj1⁄4n; jEj1⁄4m。对于 ðu; vÞ,我们定义u为v的邻居节点,v为u的出局邻居节点的节点,每条边e 2 E都有自己的概率。 TICC模型下,集合S激活节点v的概率:

   如果用户u被激活,则此时u仅存在一次激活邻居用户v的机会。 qðu; vÞ 表示TICC模型下u激活v的概率,是一个有竞争的目标扩散,扩散概率为qðu;vÞ cuv 。

  TIMC 问题是一个 NP 难题。我们定义集合T#V,与种子集合S竞争的目标用户数量称为rcðSÞ1⁄4P t2T IcðS; tÞ,从S集合中获得的竞争目标影响力最大化的预期影响扩散为:rðSÞ1⁄4P v2T Pðv; SÞ rcðSÞ。

  定义 1。(通过竞争实现目标影响力最大化)给定网络 G 1⁄4ðV; EÞ,一个正整数k和一个目标用户集T G,TIMC问题是选择k个非目标用户S V 作为种子节点,使得它们在有竞争的目标用户中触发最大的影响力传播,即S 1⁄4 arg maxjSj1⁄4k; S # VnT rðSÞ。

4.2. Head with Pruning algorithm

   我们利用 IM 问题的子模性来实现 HP 算法的剪枝部分。首先计算所有节点的最大边际影响力,然后删除边际影响力等于0的节点。无法选为种子节点的节点将在这一步被删除,从而得到节点总数。降低了。 HP算法删除了一些节点,同时也选择了一些种子节点作为备份。

   通过算法的剪枝部分,我们选择了候选种子集Sc。我们利用边际影响力来选择候选种子并将其放入候选种子集中,然后在Sc中选择合理的节点并将其添加到种子集S中以最大化影响力。首先,我们计算集合K中每个节点的边际影响力qu2E 1⁄4computeMarginðuÞ。对于边际影响力等于0的节点,将直接删除。其次,根据大于0的边际影响力节点,构建最大堆H。最后,我们计算顶部节点的边际影响。如果顶节点的边际影响力不是最大,则调整堆H。如果堆顶节点的边际影响力仍然最大,则删除顶节点并将其添加到候选种子集Sc中。

  现在我们演示从集合E中选择候选种子节点的步骤。图3(a)(h)给出了一个示例图,它展示了算法如何选择候选种子集Sc。详细步骤如下

  在选择候选种子节点之前,我们首先删除边际影响力等于0的节点,然后将边际影响力大于0的节点放入堆H中。假设删除边际影响力为0的节点,剩余节点为uiði 1⁄4 1; ; 10Þ,边际影响力为19; 16; 13; 9; 8; 11; 4; 3;分别为7和2。

  图3(a)为uiði 1⁄4 1后的最大堆H; ; 10Þ 根据边际影响进行调整。我们首先删除最大边际影响力u1并将其放入候选种子集Sc中。将u1放入候选种子集中后,我们重新调整堆H。从图3(b)中我们可以看到u2是堆的顶部节点。 u2的边际影响需要重新计算。此时qu2 1⁄4 14,u2的边际影响仍然最大。因此,不需要调整堆H。接下来,我们需要删除u2并将其添加到候选种子集中。 (c)是重新计算u3之后的边际影响图添加 u2 作为候选种子集。由于 qu3 < qu6 ,因此需要重新调整堆 H。调整后的堆H就是图(d),我们需要重新计算u6的边际影响力,但它的值没有改变。因此,u6被删除并放入候选种子集中。 (e)是删除u6后调整后的堆H。由于u3是最大的边际影响,需要重新计算qu3,可得qu3 1⁄4 5; qu3不是最大边际影响,则需要调整堆H,如图(f)。调整计算后,qu4 1⁄4 9 就是需要添加到候选种子集的节点。我们删除u4,调整堆H后的图为(g),图(h)重新计算顶部边际影响qu5 1⁄4 7.当边际影响小于或等于某个特殊数时,我们不再考虑添加候选种子集。循环结束。

   在选择候选种子集的节点时,不需要计算每次迭代中所有节点的边际影响力。 HP算法删除一些不能用作种子节点的节点,然后将可以用作种子节点的节点添加到候选种子集Sc中。在候选种子集合Sc中选择种子节点时,避免了大量的过度计算,提高了选择效率。

4.3. Targeted Influence Maximization with Competition Algorithm Design

   由于需要不断的仿真迭代,传统的贪心算法需要较长的时间。一些启发式方法是有效的。然而他们没有理论上的保证。因此,在本文中,我们设计了竞争算法的目标影响力最大化。我们使用反向可达集(RRS)并应用贪心算法来选择尽可能多的节点来覆盖反向可达集。该算法不仅保证了ð1 1 eÞ的近似比例,而且加快了运行时间。

   具有目标影响力最大化竞争算法(RRG)的RR-贪婪集的设置分为三个步骤。首先,根据需要,生成一定数量的RRS;其次,算法通过RRS选择种子节点;最后,计算种子节点的影响力扩散(参见算法2-4)。

4.4. Theoretical Analysis 

  精细节点集 V 和子集 A # B # V。 单调性:f ðAÞ 6 f ðBÞ 子模性:f ðA [fugÞ f ðAÞ P f ðB [fugÞ f ðBÞ for u 2fV n Bg。简而言之,我们有 Muf ðAÞ :1⁄4 f ðA [fugÞ f ðAÞ。

定理 1. 算法 3 中选择的节点返回的集合是 R 最佳覆盖的 1 1 e 的近似值。

证明。算法3是最大覆盖问题的贪心算法的实现。由于单调性和次模性,算法3的近似值也是1 1 e。

引理1.假设候选种子集Sc#V,节点u; v 属于 Sc; x 为 V n Sc 的节点,qðu;vÞ cuv 定义为竞争概率,可得:

证明。在候选种子集合Sc#V中,节点u激活节点v的概率,相当于候选种子集合中节点u激活节点v的概率与节点u通过节点x激活节点v的概率之和。也就是说:

定理2.假设S是部分种子集,x是候选种子节点。对于每个节点 v 2 V n S; Pðv; SÞ 是节点 v 激活并加入部分种子集 S 的概率,则:

证明。概率 Pðv; SÞ 是竞争节点 v 激活的概率 qðu;vÞ cuv 的总和,即 Pðv; SÞ1⁄4P v2S qVnS u;v ðÞ cuv .结合引理1,我们可以得到:

使用贪心算法选择种子节点时,初始种子集为空。剪枝算法删除边际影响力小于等于0的节点,将边际影响力较大的节点添加到候选种子集中。边际影响定义如下:

定义2.设S为部分种子节点集,x 2 V n S为候选种子节点,我们定义MxrðSÞ1⁄4rðS [fxgÞ rðSÞ 为向部分种子集添加新种子节点x的边际影响。

定理3.假设S是部分种子节点的集合,目标用户集合T,候选种子节点x 2 V n S。对于节点v 2 V n S,我们可以得到边际影响力4SrðxÞ2 0; jTjP v2VnSP v; S [fxg ðT Þ

 根据式1,得到Ic S的值; t ðÞ 和 Ic S [fxg; t ð 只能为 0 或 1。 如果 Ic S [fxg; t ð0 Þ, t 1⁄4he Ic S 值; t ðÞ 不能为 1,因此 A B 的结果有三种情况,而不是四种情况,如下所示,

6. Conclusion

   他的论文研究了竞争性社交网络(TIMC)中目标影响力最大化的问题。我们证明了 TIMC 问题的目标函数是单调且子模的。我们提出了一种高效的基于反向可达集的贪婪(RRG)算法来解决 TIMC 问题。为了进一步提高算法的效率,我们使用边际修剪节点的影响。我们还证明了边际影响力的上限。当竞争系数增大时,影响力扩散也显着增大。 RRG算法更适合竞争性强的稀疏大型网络。未来,我们将进一步研究如何应用非随机传播模型来选择多实体竞争背景下最具影响力的种子节点。

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

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

相关文章

C++ 继承(一)

一、继承的概念 继承是面向对象编程中的一个重要概念&#xff0c;它指的是一个类&#xff08;子类&#xff09;可以从另一个类&#xff08;父类&#xff09;继承属性和方法。子类继承父类的属性和方法后&#xff0c;可以直接使用这些属性和方法&#xff0c;同时也可以在子类中…

SpringBoot中全局异常捕获与参数校验的优雅实现

一&#xff0c;为什么要用全局异常处理&#xff1f; 在日常开发中&#xff0c;为了不抛出异常堆栈信息给前端页面&#xff0c;每次编写Controller层代码都要尽可能的catch住所有service层、dao层等异常&#xff0c;代码耦合性较高&#xff0c;且不美观&#xff0c;不利于后期维…

DLT 直接线性变换

DLT 直接线性变换 对于单应变换 x i ′ H x i x_i^{\prime}Hx_i xi′​Hxi​&#xff0c;易知两图中对应的特征点&#xff0c;如何找出所需要的 H H H​&#xff0c;为了解决这个问题&#xff0c;可以采用DLT算法 原理 其中采用Least Squares Error去拟合 其中目标是获得最佳…

【办公类-22-05】20240419 UIBOT填写“PATHS课程”的《SSBS校园行为问卷》

背景需求&#xff1a; 每年都有一个PATHS课程的“家长问卷调查”和“教师问卷调查”需要填写 作为教师&#xff0c;每次要对全班所有的孩子进行评价&#xff0c;每位孩子64题&#xff01; 反复点题目&#xff0c;感觉非常累&#xff0c;工作操作就是两位老师&#xff0c;每人做…

Golang | Leetcode Golang题解之第25题K个一组翻转链表

题目&#xff1a; 题解&#xff1a; func reverseKGroup(head *ListNode, k int) *ListNode {hair : &ListNode{Next: head}pre : hairfor head ! nil {tail : prefor i : 0; i < k; i {tail tail.Nextif tail nil {return hair.Next}}nex : tail.Nexthead, tail my…

U盘秒变0字节?别慌,数据恢复有妙招!

在日常的工作和生活中&#xff0c;U盘已成为我们不可或缺的数据存储工具。然而&#xff0c;有时候我们可能会遇到一个令人头疼的问题&#xff1a;原本存有重要文件的U盘&#xff0c;突然间容量显示为0字节。这意味着U盘中的数据全部丢失&#xff0c;无法读取。那么&#xff0c;…

hackthebox - Redeemer

2024.4.19 TASK 1 Which TCP port is open on the machine? 6379 TASK 2 Which service is running on the port that is open on the machine? redis TASK 3 What type of database is Redis? Choose from the following options: (i) In-memory Database, (ii) Traditiona…

UltraScale+的10G/25G Ethernet Subsystem IP核使用

文章目录 前言一、设计框图1.1、xxv_ethernet_01.2、xxv_ethernet_0_sharedlogic_wrapper1.3、xxv_ethernet_0_clocking_wrapper1.4、xxv_ethernet_0_common_wrapper 二、IP核配置三、仿真四、上板测速 前言 前面我们学习了很多基于XILINX 7系列的高速接口使用&#xff0c;本文…

组合预测 | Matlab实现ICEEMDAN-SMA-SVM基于改进完备集合经验模态分解-黏菌优化算法-支持向量机的时间序列预测

组合预测 | Matlab实现ICEEMDAN-SMA-SVM基于改进完备集合经验模态分解-黏菌优化算法-支持向量机的时间序列预测 目录 组合预测 | Matlab实现ICEEMDAN-SMA-SVM基于改进完备集合经验模态分解-黏菌优化算法-支持向量机的时间序列预测预测效果基本介绍程序设计参考资料预测效果 基本…

爬取微博评论数据

# -*- coding: utf-8 -*- import requests #用于发送请求并且拿到源代码 from bs4 import BeautifulSoup #用于解析数据 1.找到数据源地址并且分析链接 2.发送请求并且拿到数据 3.在拿到的数据中解析出需要的数据 4.存储数据 headers { "User-Agent": "…

Go微服务: go-micro集成链路追踪jaeger

关于链路追踪jeager的原理 参考: https://blog.csdn.net/Tyro_java/article/details/137754812 核心代码演示 1 ) 概述 这里接前文结构框架&#xff1a;https://blog.csdn.net/Tyro_java/article/details/137753232 2 &#xff09;核心代码&#xff1a;common/jaeger.go p…

C++中string的用法总结+底层剖析

前言&#xff1a;在C语言中&#xff0c;我们经常使用字符串进行一系列操作&#xff0c;经常使用的函数如下&#xff1a;增删改查 &#xff08;自己造轮子&#xff09;&#xff0c;C中设计出string容器&#xff0c;STL库中为我们提供了以上函数&#xff0c;所以我们使用string容…

华为OD-C卷-密码解密[100分]Python3+C语言-90%

题目描述 给定一段“密文”字符串 s,其中字符都是经过“密码本”映射的,现需要将“密文”解密并输出。 映射的规则(a ~ i)分别用(1 ~ 9)表示;(j ~ z)分别用("10*" ~ "26*")表示。 约束:映射始终唯一。 输入描述 “密文”字符串 输出描述 …

libftdi1学习笔记 7 - MPSSE I2C

目录 1. 初始化 2. 原理 3. i2cStart 4. i2cStop 5. i2cRecvByte 6. i2cSendByte 7. i2cRead 8. i2cWrite 9. 验证 9.1 初始化i2c 9.2 初始化gpio 9.3 写10个字节到EEPROM 9.4 读回10字节数据 9.5 运行结果 I2C&#xff08;主&#xff09;采用2个或3个GPIO模拟的…

QTableView获取可见的行数

场景 当我们需要实时刷新QTableView时&#xff0c;而此时tableView的数据量较大&#xff0c;如果全部刷新显然不合理&#xff0c;如果可以只对用户看的到的数据进行刷新那就最好了&#xff0c;经过一番摸索找到了几种方式&#xff0c;可供参考 代码 方法1 QVector<int>…

64B/66B编码 自定义PHY层设计

一、前言 之前的一篇文章讲解了64B/66B的基本原理&#xff0c;本篇在基于64B/66B GT Transceiver的基础之上设计自定义PHY。基本框图如下。 二、GT Mdule GT Module就按照4个GT CHannel共享一个GT COMMON进行设置&#xff0c;如下图。要将例子工程中的GT COMMON取出&#xff…

docker环境搭建

项目环境搭建 1、安装 Linux 虚拟机 &#xff08;1&#xff09;下载安装&#xff1a; VM VirtualBox 下载安装&#xff1a;Downloads – Oracle VM VirtualBox&#xff0c;要先开启CPU虚拟化 &#xff08;2&#xff09;通过vagrant&#xff0c;在VirtualBox中安装虚拟机 下…

STM32学习和实践笔记(15):STM32中断系统

中断概念 CPU执行程序时&#xff0c;由于发生了某种随机的事件(外部或内部)&#xff0c;引起CPU暂 时中断正在运行的程序&#xff0c;转去执行一段特殊的服务程序(中断服务子程序 或中断处理程序)&#xff0c;以处理该事件&#xff0c;该事件处理完后又返回被中断的程序 继…

修改Ubuntu的镜像源为清华镜像源

修改Ubuntu的镜像源为清华镜像源 1、首先使用以下命令备份现有的镜像源&#xff1a; cd /etc/apt sudo cp sources.list sources.list.bak 2、使用以下命令打开镜像源文件&#xff1a; sudo vim /etc/apt/sources.list 3、在vim插入模式下使用以下内容替换掉原镜像源…

MySQL基础-----约束详解

目录 一. 概述: 二.约束演示&#xff1a; 三.外键约束&#xff1a; 3.1介绍&#xff1a; 3.2外键约束语法&#xff1a; 3.3删除&#xff0c;更新行为&#xff1a; 一. 概述: &#x1f9d0;&#x1f9d0;概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制…