[INFOCOM 2019] NeuralWalk:使用神经网络的在线社交网络中的信任评估

news2024/12/23 11:27:28

NeuralWalk: Trust Assessment in Online Social Networks with Neural Networks | IEEE Conference Publication | IEEE Xplore

摘要:

评估信任社交网络(TSN)中用户之间的信任是许多应用中的关键问题,例如电影推荐,垃圾邮件检测和在线借贷。尽管存在各种信任评估方法,但现有解决方案仍然存在的挑战是如何准确确定影响TSN内信任传播和信任融合的因素。为了应对这一挑战,我们提出了NeuralWalk算法来同时应对信任因子估计和信任关系预测问题。NeuralWalk采用名为WalkNet的神经网络来模拟TSN中的单跳信任传播和融合。通过将TSN中的原始信任关系视为标记样本,WalkNet能够学习将用于信任计算/评估的参数。与传统解决方案不同,WalkNet能够以归纳方式准确预测未知的信任关系。神经网络基于WalkNet,通过得到的单跳信任计算规则,迭代评估用户间未知的多跳信任关系。在两个真实世界的TSN数据集上的实验表明,NeuralWalk的性能明显优于最先进的解决方案。

第一节.介绍

信任社交网络(TSN)可以看作是一个图,其中节点是用户,边缘是用户之间的信任关系。评估两个用户(通常称为委托人和受托人)之间的信任是TSN中的基础研究问题。TSN中的信任评估在许多应用中都是必不可少的,包括在线借贷1、恶意网站识别 [1]、社交网络分析 [2]、[3]、车载网络 [4] 和主动好友 [5]。TSN中信任评估的研究工作大致可分为两类:信任建模和信任推断。不同的理论框架,包括Beta分布[6],Dempster-Shafer(DS)证据理论[7]和主观逻辑(SL)[8]被用于设计各种信任模型。这些研究的主要局限性在于,在设计信任模型时,它们没有明确考虑TSN中的多跳信任推理问题。另一方面,大多数现有的信任推理算法在TSN中促进多跳信任推理,例如TidalTrust [9],TrustRank [10]和MoleTrust [11],通常使用简化的信任模型,例如,使用二进制数来指示用户是否可信。

尽管最近的一些工作,例如AssessmentTrust [12]和OpinionWalk [13],试图通过共同考虑TSN中的信任建模和信任推断来填补空白,但它们很难将复杂的信任模型连接到现实世界的数据集。例如,一个用户通常使用信任评级来量化另一个用户的信任;但是,AssessmentTrust和OpinionWalk假设信任是一个三值意见,而不是一个标量数。因此,通过启发式方法将信任评级转化为信任意见,导致信任评估错误。

A. 建议的解决方案

与多跳信任评估问题的传统解决方案不同,我们建议“学习”整个信任计算过程,而不是在数学上定义它。所提出的解决方案称为NeuralWalk,它采用神经网络架构WalkNet来捕获TSN中的信任传播和融合。以前的研究表明,信托意见确实从一个用户传播到另一个用户,并且可以融合几个信托意见(受托人)以得出新的信托意见。因此,建议使用贴现算子和组合算子来模拟这两种操作[8]。现有的文献[14],[12],[13]试图理解这些操作,然而,信任传播和融合的潜在机制仍然不清楚。 在WalkNet中,这些操作是通过神经网络中神经元的连接来实现的。这两个操作的参数是从训练数据集中学习的。

除了缺乏对信任意见操作的理解之外,多跳信任评估面临的一个实际问题是,在大多数现有数据集中,用户之间的信任通常表示为评级,而不是意见。信任评级是序数或分类值,表示不同的信任级别;因此,必须首先将其转化为准确信任评估的意见。为了解决这个问题,从 WalkNet 中神经网络层的信任评级中学习意见。信任计算后,结果意见将转换为标量数字,以匹配数据集中的原始信任评级。这是通过 softmax 函数实现的,该函数将意见转换为多项式分布,从中可以获得最有可能的信任评级。最后,我们使用交叉熵函数作为损失函数来促进对训练过程至关重要的反向传播算法。

随着WalkNet启用单跳信任评估,我们进一步提出了一种名为NeuralWalk的算法来支持多跳信任评估。NeuralWalk是一种迭代算法,每次迭代有两个步骤:训练和推理。在训练步骤中,通过最小化预测信任评级和标签(基本事实)之间的交叉熵来训练 WalkNet。训练后,可以学习将信任评级转换为意见的参数,以及用于贴现和组合运算符的参数。在推理步骤中,NeuralWalk 迭代地使用经过训练的 WalkNet 对未知信任关系执行单跳信任推理。基于每次迭代中的单跳信任推理结果,该算法将以广度优先搜索(BFS)的方式“遍历”整个TSN,进行多跳信任评估。

B. 技术挑战

NeuralWalk解决了现有信任评估解决方案中未充分研究的三个技术挑战。首先,据我们所知,大多数现有的多跳信任评估方法,包括信任传播和融合,都是演绎的。这意味着这些模型和算法中的信任操作必须遵守从基于认知识别的假设派生的规则或逻辑。然而,这些规则和/或假设被批评为不切实际或无法在不同系统中提供灵活的信任评估。例如,“敌人的敌人就是我的朋友”这句话在不同情况下可能是真的,也可能是假的[15]。因此,必须定制信任评估中使用的规则和假设,并根据经验微调相应的信任模型;否则,演绎解决方案将很难捕捉到信任传播和融合的本质。为了应对这一挑战,NeuralWalk模型以归纳方式信任用户之间的传播和融合。在WalkNet中,信任传播和融合的规则是从从真实数据集中获得的训练样本中学习的。通过这种方式,NeuralWalk会自动适应数字拟合最多的模型,从而消除了任何手动工作。

其次,以前的一些多跳信任评估模型[12],[13],[16]使用证据(例如,正面,负面和不确定的证据)作为准确量化信任关系的输入。 但是,几乎所有现有数据集中通常都无法获得这些信息。此外,在许多情况下,由于隐私问题,不允许收集信息。事实上,大多数信任社交网络中仅提供有序或分类的信任评级。就我们的知识而言,关于如何有效地从有序或分类信托评级转换为信托意见的研究非常有限,反之亦然。为了打破这一限制,NeuralWalk将转换整合到WalkNet中,即通过一层神经网络将有序或分类的信任评级转换为信任意见。层的参数是共同学习的,也是意见算子的参数被学习的。

最后,TSN中的信任传播和融合很难通过端到端神经网络来解决。这是因为 TSN 中用户之间的网络拓扑不一致且复杂,尤其是当它们彼此相距多个跃点时。因此,对于架构一致的端到端神经网络来说,很难(如果不是不可能的话)精确捕获信任传播和信任融合。为了应对这一挑战,WalkNet被设计为仅处理单跳信任传播和融合,WalkNet的架构是一致的。神经网络算法基于学习的WalkNet,以BFS的方式迭代搜索TSN,实现多跳信任评估。

C. 贡献

本文的贡献主要在以下四个方面。

首先,我们首次提出了一种独特的基于神经网络的解决方案,用于信任社交网络中的多跳信任评估。

其次,现有的信任模型过于复杂,无法通过现有的TSN数据集进行验证,然而,拟议的WalkNet解决了这个长期存在的问题,它提供了一种在信任评级和信任意见之间自由映射的机制。

第三,实验结果表明,与以前的方法相比,WalkNet不仅是一个有效的信任计算模型,而且NeuralWalk算法能够提供准确的信任评估,即实现最先进的性能。

最后,NeuralWalk中的WalkNet模型可以被任何其他机器学习模型所取代,从而为更准确的信任评估提供机会。此功能还使NueralWalk成为可以轻松适应其他网络应用程序的基本框架。

SECTION II.Preliminaries

A. 问题定义

 

B.信任意见

为了实现准确的信任评估,最近采用了基于矢量的信任意见[8],[12],[13],[16]来模拟TSN中用户之间的信任传播和融合。在这些模型中,原始信任关系被认为是三种不同状态的概率分布,即信念、不信任和不确定性。用户可信、不可信或不确定的概率由每个相应状态的观察证据确定。

 

C. Opinion Operators

除了原始的信任关系外,TSN中潜在信任关系的预测近年来也引起了许多关注。潜在信任用于表示没有显式信任关系的两个用户之间未知但可能的信任关系。

 

两个用户之间的信任评估图示。

SECTION III.Walknet

尽管有几项关于建模信任传播和信任融合的工作[14],[17],[18],[12],[13],但据我们所知,大多数现有的解释这两种操作的方法都是演绎的。 这意味着这些信任模型遵循基于认知识别的假设得出的逻辑定律。然而,这些假设在实践中被批评为不切实际[15]。更糟糕的是,演绎信任模型中的所有参数都必须根据经验确定,这严重影响了信任评估的准确性。因此,值得探索以归纳方式对信任传播和融合进行建模的新方法。

A. 步行网概述

我们没有严格定义信任运算符,而是建议使用神经网络WalkNet“学习”运算符。为了简单起见,我们使用一个例子来说明WalkNet是如何工作的。如图1所示,用户的过程我评估信任j可以分解为五个步骤。第一步是检索原始信任评级(例如,我对现有数据集的信任),并将这些评级转换为信任意见,如步骤 2 所示。在大多数现有的TSN数据集中,用户之间的信任由有序或分类标量表示,该标量表示我的信任评级为s.信任的标量表示阻碍了信任意见的应用,导致信任评估不准确。为了解决这个问题,从标量信任评级到基于向量的信任意见的转变变得至关重要,这将在第三节B中讨论。

 

B. 意见评级

现有研究表明,基于向量的信任意见能够准确地对信任进行建模,从而确保精确的信任评估[12],[13],[16]。另一方面,当收集信任社交网络的数据集时,标量数字通常用于表示用户之间的信任关系。为了缩小这一差距,值得研究有效地将评级转换为意见的机制,反之亦然。


WalkNet的架构图示。

 例如,在Advogato数据集[19]中,用户之间的信任关系由四个等级量化:学徒,观察者,旅行者和主人。在此示例中,由于信任评级分为四个可能的级别,因此四个相应的独热向量可以表示为

 

 

 

C. Discounting Operation

 

D.Combining Operation


组合操作用于将多个信任意见融合成共识意见。

 

 

 

 

E. Opinion to Rating

到目前为止,WalkNet能够代表贴现和合并操作。在最后一步中,WalkNet 将计算出的意见转换为标量信任值,用于训练和验证目的。转换是通过 softmax 函数实现的,该函数是逻辑函数的泛化。它将多维向量压缩为某些标量数(信任评级)上的概率分布。 Given an opinion Ωij, 它与评级对应的概率k可以表示为 P(r^ij =k|Ωij) where r^ij is the推断信任评级。通过利用softmax函数,它变成了

 此步骤的输出将是所有可能评级的多项式概率分布。概率最高的评级被认为是 i 对 j 的推断信任。

F. 损失函数

引入WalkNet的主要原因是利用TSN中的原始信任关系来训练意见操作的参数,然后使用经过训练的WalkNet来预测潜在的信任关系。为了便于训练过程,我们使用交叉熵作为损失函数。该函数表示为

 

SECTION IV.Neuralwalk

使用WalkNet和给定的TSN,NeuralWalk算法“走过”TSN,并交替计算与WalkNet的信任。在本节中,我们将分两部分详细介绍NeuralWalk算法。首先,我们解释了算法如何“遍历”TSN并计算受托人的信任。其次,我们详细说明了如何通过WalkNet计算信任的细节,而不是原始的意见操作。

I. A.The “Walking” Process

 

 

 

B. 布尔矩阵运算

在以直截了当的方式展示了“行走”的过程之后,我们介绍了如何使用布尔矩阵运算实现NeuralWalk。通过使用布尔矩阵运算,可以在并行或分布式环境中使用矩阵高效的工具包显著加速 NeuralWalk。此外,如果使用 GPU 实现布尔矩阵运算,则计算速度有望进一步提高。

 

C. NeuralWalk Algorithm

Algorithm 1 NeuralWalk (G, V, H)

 

SECTION V. 实验和结果分析

NeuralWalk(NW)的性能将与最先进的信任评估解决方案进行比较,包括OpinionWalk(OW)[13],Matri[23]和TidalTrust(TT)[9]。两个真实世界的数据集,Advogato [19]和Pretty Good Privacy (PGP) [24],将在评估中使用。评估的重点将是不同算法在信任评估方面的准确程度。

A. 数据集

第一个数据集Advogato是从在线软件开发社区获得的,其中两个用户之间的联系代表了人们对花药软件开发能力的信任。用户之间的信任分为四个不同的层次:学徒、观察者、旅行者和主人。第二个数据集PGP是从公钥认证网络中收集的,其中从一个节点到另一个节点的边缘表示该节点证书另一个节点的信任。PGP中节点之间的信任也分为四个层次。两个数据集中的不同级别反映了不同的信任值,因此我们使用数字 1、2、3 和 4 来表示它们。数据集的统计数据汇总在表I中。

B. 实验设置

在评估中,我们对OW,Matri和TT使用相同的参数设置,就像它们在论文[13],[23],[9]中一样,来初始化用户之间的信任意见。由于数据集中的信任评级已经是分类值,因此它们将作为输入直接输入到NW中。

如果合并意见仍然小于 32,则空白位置将填充为零。整个NW算法都是使用python 3.6开发的。特别是,WalkNet是由PyTorch 0.4实现的。

由于 OW 和 TT 是演绎算法,因此无需出于训练目的分离数据集的某一部分。对于这些算法,我们从数据集中随机选择一个信任者 u,并找到它所有的 1 跳邻居 v。对于每个邻居节点 v,如果至少存在一条从 u 到 v 的路径,我们从数据集中删除边缘 (u, v)。 从uv的原始信任评级被认为是基本事实。使用更新的数据集,执行 OW 和 TT 算法来估计 u 对 v 的信任。然后将估计的信任值与基本事实进行比较,以确定算法在信任评估中的准确性。我们在评估中从Advogato或PGP中随机选择1000名委托人,以获得具有统计学意义的结果。

对于 NW 和 Matri 算法,数据集分为两部分:一部分用于训练,另一部分用于测试。对于Matri,我们首先识别数据集中的所有委托人-受托人对(u,v),并将它们之间的信任评级视为标签。然后,随机选择20%的边缘并从图形中删除,以组成测试集。其余的图形用作训练集。训练 Matri 后,它用于估计测试集中边缘的信任值。估计值和真实值之间的差异将被记录下来,并将其视为算法在信任评估中的准确性。同样,对于NW,我们将数据集分别分为训练集和测试集的80%和20%。

C. 评价指标

用于评估这些算法提供的信任评估准确性的指标是 F1 分数、平均绝对误差 (MAE) 和二进制 F1 分数。由于 NW 本质上是一个分类分类器,因此 F1 分数是最合适的指标。但是,OW,Matri和TT旨在为给定的委托人-受托人对计算连续的信任值。因此,为了进行公平比较,在评估中使用了MAE。要使用 MAE 评估 NW,四个信任级别分别转换为 0.1、0.4、0.7 和 0.9。为了获得 F1 分数,对于 Matri、OW 和 TT,估计的信任值将四舍五入到最接近的分类信任值。最后但并非最不重要的一点是,知道节点是否可信通常很有用,因此将四个不同的信任级别折叠为两个级别,即可信和不可信,以获得不同算法的二进制 F1 分数。原来的第一级和第二级信任合并为一个级别,其他两个级别合并到另一个级别。

D. 准确性

使用Advogato数据集,我们评估了不同算法的信任评估准确性。如图4a和图4b所示,NW在F1分数,二进制F1分数和MAE方面提供了最高的精度。有趣的是,NW的F1得分高达0.746,比OW高0.051 - 这是文献中的最佳解决方案。由于 F1 分数的范围为 [0, 1],因此 F0 分数高出 051.1 被认为是实质性的改进。NW 和其他算法的二进制 F1 分数高于它们的 F1 分数,这是有道理的,因为二进制 F1 分数仅提供粗略的准确度测量。毫不奇怪,所有算法都达到了 0.8F1 分数>如图 4a 所示。观察结果表明,如果信任评估仅用于确定用户是否值得信赖,则信任评估会变得容易得多。尽管如此,NW还是取得了最好的表现,二进制F1得分为0.886。这仍然比第二好的算法 - Matri更好。如图4b所示,当MAE用于衡量信任评估的准确性时,NW的出色表现也得到了证实。具体来说,NW的MAE低至0.076,比第二好的解决方案OW低近25%。

为了确认NW的性能不依赖于数据集,然后我们使用PGP数据集评估NW以及所有其他算法。如图 5a 和图 5b 所示,与它们在 Advogato 中的性能相比,所有算法的性能都更好。例如,NW达到了1.91%的最高F6得分。它比第二好的Matri高出16.7%。有趣的是,OW的精度低于Matri,而使用Advogato数据集时并非如此。这意味着Matri和OW在Advogato和PGP中都不会持续表现良好。正如我们预期的那样,NW 和所有其他算法的二进制 F1 分数高于它们的 F1 分数。在所有解决方案中,NW实现了最高的二进制F1得分0.935。如图5b所示,MAE的整体趋势与Advogato相似。NW仍然表现最好,而Matri是第二好的。事实上,NW的MAE仅为0.054,比Matri(第二好)低近50%。

从上述实验中,我们得出结论,在Advogato和PGP数据集中,NW明显优于现有的(归纳或演绎)信任评估解决方案。主要原因是NW继承了3VSL在精确建模信任方面的能力。此外,基于机器学习(贴现和组合)的意见操作可实现更精确的信任计算,这是原始3VSL信任模型中所缺乏的。

E. 稳健性

除了准确性之外,我们还对NW对训练样本量的鲁棒性感兴趣。作为一种归纳方法,当没有足够的训练样本可用时,NW的性能可能会下降。评估NW对样本量的鲁棒性的方法是调整训练集和测试集之间的比率。特别是,我们比较了当训练集分别占整个数据集的 80%、60% 和 40% 时 NW 的性能。我们将NW与Matri进行比较,忽略OW和TT算法,因为Matri是归纳解决方案,而其他不是。

如图6所示,当Avogato数据集中的比率降低到40%时,NW的性能下降并不明显。在图 6a 中,当训练集比率分别为 1% 和 0% 时,NW 的 F743 分数分别为 0.739 和 60.40。NW的F1分数仅比比例为0%的最佳分数(其中F003分数为0.007)小80.1和0.746。另一方面,当比率分别为 1.0% 和 663% 时,Matri 的 F0 分数分别为 641.60 和 40.0。Matri 从最好的 015.0 降级 037.0 和 678.1,即 Matri 显示出更差的鲁棒性。对于二进制 F0 分数,NW 的性能从最好的 004.0 下降 006.0 和 886.1,可以忽略不计。当比率分别降低到0%和006%时,Matri的二进制F0得分比最佳情况低015.60和40.6。如图0b所示,NW的MAE从最好的001.0增加了003.0和076.<>。总体而言,当调整训练/测试比率时,我们没有观察到NW的显着性能差异。

使用PGP数据集,可以在图7中找到类似但更好的观测结果。在图 7a 中,当训练集分别为 1%、0% 和 916% 时,NW 的 F0 分数分别为 915.0、914.80 和 60.40。性能差异太微妙,不值得注意。另一方面,当比率分别为1%、0%和749%时,Matri的F0得分分别为728.0、706.80和60.40。Matri的性能下降速度比NW快得多。 如果在评估中使用二进制F1分数,则NW的性能也会轻微下降。最后,如图7b所示,当比率从80%变为60%,然后变为40%时,NW的MAE不会发生显着变化。总之,我们得出结论,NW对训练样本大小是鲁棒的,即,即使可用的训练样本量较少,它也能提供相当稳定的性能。

第四节.相关工作

以往在信托评估方面的研究主要集中在两个方面,即信托推断和信任建模。信任推理侧重于在复杂网络中进行多跳信任评估。假设信任是一个标量数,并且信任值是从委托人和受托人之间的路径得出的,提出了一些研究工作[11],[9]。[11],[9]中提出的方法旨在通过在网络中执行路径搜索来计算可信度,并将信任传播建模为网络中的流衰减和聚合。但是,这些方法缺乏对信任进行建模的准确方法。另一方面,信任建模侧重于用数学模型表示两个用户之间的现有信任。传统方法将信任建模为基于证据或观察的统计分布[7],[8]。这些方法的优点是它们能够以可解释的方式对信任的复杂性进行建模。然而,限制是这些方法由于[12]中确定的限制而无法处理复杂的网络。结合信任建模和推理,提出AssessmentTrust[12]和OpinionWalk [13]在复杂网络中进行信任评估,例如在线社交网络。然而,AssessmentTrust和OpinionWalk仍然存在的一个不平凡的问题是,它们的参数必须根据经验来确定,这限制了它们的准确性,并且在信任评估系统中是不切实际的。最近,基于矩阵分解的方法[25],[23],如Matri,被提出以归纳方式进行信任建模和推理。 通过最小化观察到的信任值与相应委托人/受托人向量的内部积之间的误差,可以通过在其特征向量上进行内部产品来预测未观察到的信任值。这些方法的主要限制是该模型的输出是指示信任强度的连续标量,因此无法准确拟合到大多数信任数据集中存在的离散信任评级中。此外,它们都不考虑信任融合操作,因此它们的准确性会受到影响。

WalkNet的想法受到最近在图表示学习方面的研究[26],[27],[28],[29]的启发。在[26]中,提出了一种称为DeepWalk的方法,该方法基于局部区域中节点的共现来学习社交网络中节点的分布式表示。分布式表示是具有相同维度的向量。因此,社交网络中两个节点之间的连接强度可以通过表示它们的向量之间的距离来衡量。基于DeepWalk,在[27]中进行了改进,以考虑社交网络的动态性和可扩展性。在[28]中,提出了一个名为GraphSage的框架,通过学习和聚合目标节点周围k跳节点的特征表示来预测目标节点的特征。与GraphSage类似,在[29]中,提出了一种称为R-GCN的模型,通过目标边缘周围节点的特征(实体类型)表示来预测目标边缘的特征(链接类型)。

请注意,WalkNet模型和NeuralWalk算法与上述工作不同。一方面,WalkNet利用串行和并行类型中边缘特征的相互作用来预测某个边缘的特征。另一方面,WalkNet仅被视为单跳信任评估的端到端解决方案。与WalkNet合作,NeuralWalk算法以BFS的方式跨TSN进行多跳信任评估。

第七节.结论

我们提出了一种机器学习驱动的算法NeuralWalk来解决信任社交网络中的信任评估问题。与传统解决方案不同,NeuralWalk采用称为WalkNet的神经网络架构来模拟单跳信任传播和信任组合。当NeuralWalk算法在信任社交网络中进行搜索时,通过神经网络的标准训练框架学习WalkNet中的参数。基于学习的单跳信任计算,即贴现和组合操作,NeuralWalk以BFS的方式迭代进行多跳信任评估。针对两个真实世界的数据集进行了实验,结果表明NeuralWalk的性能优于最先进的解决方案。作为一个基本框架,NeuralWalk可以扩展以应对更复杂的信任推理算法。所获得的信任评级和信任意见转换机制可用于覆盖现有数据集,以支持复杂信任模型的验证。

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

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

相关文章

buuctf5

目录 [极客大挑战 2019]BabySQL [极客大挑战 2019]PHP 神秘龙卷风 假如给我三天光明 后门查杀 webshell后门 [极客大挑战 2019]BabySQL 1. 发现存在sql注入 2.使用bp用fuzz字典爆破一下哪些词被过滤了&#xff0c;发现or&#xff0c;select等都被过滤了 尝试双写注入 3.…

Vue.js 框架能力的官方认证

这两天Vue官方推出了Vue.js 认证计划。 即框架能力官方认证&#xff0c;即 Vue.js 框架能力证书。该认证由 Vue School 与 Vue.js 团队合作提供支持。官网&#xff1a;Vue.js - Official Certification Program 官方介绍此次的试题集和代码挑战由 Vue.js 核心团队审核&#xff…

docker 安装 datax和datax-web 之 datax-web登录时提示账号或密码错误

docker 安装docker 安装 datax和datax-web 安装教程地址&#xff1a; https://www.cnblogs.com/leihongnu/p/16612273.html 根据该博客的教程安装成功后&#xff0c;登录页面能打开&#xff0c;但是所提供的账户密码一直报错&#xff0c;这个就需要根据日志一步步去寻找原因了…

《编程思维与实践》1037.一元多项式乘法

《编程思维与实践》1037.一元多项式乘法 题目 思路 比较容易想到将步骤分为三步: 1.读取多项式每项的系数(coefficient)和对应的指数(dim); 2.进行多项式乘法; 3.输出进行多项式乘法后的非零项系数. 其中多项式乘法可以通过循环来处理,输出可以用if来判断系数是否为0,需要考虑…

多重共线性问题如何解决?

​ 一、多重共线性说明 多重共线性一般是指&#xff1a;如果有两个或者多个自变量高度相关&#xff08;相关系数大于0.8&#xff09;&#xff0c;难以区分一个自变量对因变量的影响和作用&#xff0c;将自变量相关性产生的后果定义为多重共线性&#xff0c;一般提出多重共线性…

Pytorch 安装

Pytorch PyTorch介绍 特点&#xff1a; 1.简单易用、分布式训练、服务器部署方便、移动端部署方便&#xff1b; 2.PyTorch 是基于以下两个目的而打造的python科学计算框架&#xff1a; 无缝替换NumPy&#xff0c;并且通过利用GPU的算力来实现神经网络的加速。 3.通过自动…

ubuntu-18.0.04 鸿蒙OpenHarmony系统源码(OHSP)下载

如果想下载HarmonyOS中 api7里面的java 源码的&#xff0c;可以止步了。因为这一块并没有开源&#xff0c;api 7里面java的部分属于HarmonyOS&#xff0c;不是openharmony的部分… 怪不得网上找不到任何一个介绍Ability.java AbilitySlice.java这种源代码的文章。java应该只是鸿…

Cilium架构简介eBPF数据流向查看

1 环境准备 上一篇文章将 k8s 的网络插件改为 cilium 同时部署了观测平台 hubble&#xff0c;部署方式可参考上篇。 基于eBPF的k8s网络插件Cilium部署与流量治理浅尝 本篇讲一下 cilium 的架构和数据流向的查看方式。首先&#xff0c;你需要一个kubernetes集群&#xff0c;并使…

算法记录 | Day43 动态规划

1049.最后一块石头的重量 II 思路&#xff1a; 本题其实就是尽量让石头分成重量相同的两堆&#xff0c;相撞之后剩下的石头最小&#xff0c;这样就化解成01背包问题了。 本题物品的重量为stones[i]&#xff0c;物品的价值也为stones[i]。 对应着01背包里的物品重量weight[i…

[学习笔记] [机器学习] 3. KNN( K-近邻算法)及练习案例

视频链接数据集下载地址&#xff1a;《3. KNN及练习案例》配套数据集 1. K-近邻算法(KNN)概念 学习目标&#xff1a; 掌握K-近邻算法实现过程知道K-近邻算法的距离公式知道K-近邻算法的超参数 K K K值以及取值问题知道kd树实现搜索的过程应用KNeighborsClassifier实现分类知…

什么是ERP?可能是全网最权威的解读

ERP的概念定义 ERP是企业资源规划的简称。要理解ERP是什么&#xff0c;最简单的方法是先思考企业正常运营需要的核心业务流程&#xff0c;如财务、HR、制造、供应链、服务、采购等&#xff0c;而 ERP系统最基础的功能就是帮助企业在集成式系统中高效管理这些流程。因为 ERP 系…

烟火识别智能监测系统 yolov5

烟火识别智能监测系统基于pythonyolov5网络模型算法智能分析技术&#xff0c;烟火识别智能监测算法模型对现场画面进行实时分析&#xff0c;发现现场出现烟火立即抓拍实时告警。我们选择当下卷积神经网络YOLOv5来进行火焰识别检测。6月9日&#xff0c;Ultralytics公司开源了YOL…

Day956.代码现代化 -遗留系统现代化实战

代码现代化 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于代码现代化的内容。 代码现代化的主要模式。 大体的脉络是这样的&#xff1a; 先对代码做可测试化重构&#xff0c;并添加测试&#xff1b;在测试的保护下&#xff0c;安全地重构&#xff1b;在测试的保…

数据链路层相关知识

文章目录 一.数据链路层简介二.MAC地址为什么有了ip地址,我们还要使用mac地址呢? 三.以太网什么是以太网以太网封装帧格式认识MTU谈谈 MTU对IP协议的影响. 一.数据链路层简介 数据链路层的位置和角色:位于物理层和网络层之间,负责实现两个直接相连的节点(主机/路由器)之间的可…

SpringCloud源码之OpenFeign

OpenFeign 基于 OpenFeign 2.2.6.RELEASE版本进行源码阅读 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>2.2.6.RELEASE</version> </dependen…

Linux_红帽8学习笔记分享_6(yum软件仓库技术)

Linux_红帽8学习笔记分享_6(yum软件仓库技术) 文章目录 Linux_红帽8学习笔记分享_6(yum软件仓库技术)1. RPM软件包的使用技巧1.1如何查询指定软件包是否安装1.2如何删除指定软件包1.3如何安装指定软件包1.5依赖关系 2. YUM软件仓库的配置及使用2.1修改YUM软件仓库的配置文件 3.…

张量、标量、向量和矩阵

张量、标量、向量和矩阵 https://github.com/bovem/publications/tree/master/Linear%20Algebra 张量是一个数据数组(数字、函数等)&#xff0c;它以任意数量(0 或更大)的维度展开。维数称为张量秩。 秩 0 张量 没有维度(0)的张量。 A 是 0 维张量 秩 1 张量 仅在一维中展开的张…

MySQL 字段为 NULL 的5大坑,99%人踩过

数据库字段允许空值(null)的问题&#xff0c;你遇到过吗&#xff1f; 在验证问题之前&#xff0c;我们先建一张测试表及测试数据。 数据库字段允许空值(null)的问题&#xff0c;你遇到过吗&#xff1f; 在验证问题之前&#xff0c;我们先建一张测试表及测试数据。 构建的测试…

如何实现U盘低格?这样操作快速搞定!

案例&#xff1a;怎么对U盘进行低级格式化&#xff1f; 【我的U盘出现了异常&#xff0c;我想对它进行低级格式化处理&#xff0c;有没有小伙伴知道怎么操作&#xff1f;】 随着电脑和移动设备的普及&#xff0c;U盘已经成为我们生活中必不可少的存储工具。当我们使用U盘的时…

xml注入漏洞

一、先认识XML XML有两个先驱——SGML&#xff08;标准通用标记语言&#xff09;和HTML&#xff08;超文本标记语言&#xff09;&#xff0c;这两个语言都是非常成功的标记语言。SGML多用于科技文献和政府办公文件中&#xff0c;SGML非常复杂&#xff0c;其复杂程度对于网络上…