当前位置: 首页 > news >正文

论文《Tree Decomposed Graph Neural Network》笔记

【TDGNN】本文提出了一种树分解方法来解决不同层邻域之间的特征平滑问题,增加了网络层配置的灵活性。通过图扩散过程表征了多跳依赖性(multi-hop dependency),构建了TDGNN模型,该模型可以灵活地结合大感受场的信息,并利用多跳依赖性进行信息聚合。

本文发表在2021年CIKM会议上,作者学校:Vanderbilt University,引用量:59。

CIKM会议简介:全称Conference on Information and Knowledge Management(信息与知识管理国际会议),信息检索和数据挖掘的顶级国际学术会议之一,由美国计算机协会(ACM)主办,CCF B。

查询会议:

  • 会伴:https://www.myhuiban.com/

  • CCF deadline:https://ccfddl.github.io/

原文和开源代码链接:

  • paper原文:https://arxiv.org/abs/2108.11022
  • 开源代码:https://github.com/YuWVandy/TDGNN

0、核心内容

问题背景:传统的GNNs通过迭代地进行特征传播和转换来学习更好的表示,但这种迭代传播限制了高层邻域信息与低层邻域信息的融合,导致不同层之间特征平滑,尤其在异配性网络上影响性能。

主要贡献:

  • 提出了一种树分解方法来解决不同层邻域之间的特征平滑问题,增加了网络层配置的灵活性。
  • 通过图扩散过程表征了多跳依赖性(multi-hop dependency),构建了TDGNN模型,该模型可以灵活地结合大感受场的信息,并利用多跳依赖性进行信息聚合。
  • 在同配性和异配性网络的多种节点分类设置下,通过广泛的实验验证了TDGNN的优越性能。
  • 进行了参数分析,强调了TDGNN防止过平滑和结合浅层特征与深层多跳依赖性的能力。

方法介绍:

  • 树分解(Tree Decomposition):通过分解计算图来避免不同层邻域之间的特征平滑。
  • 多跳依赖性(Multi-hop Dependency):利用图扩散过程来模拟节点间的多跳依赖性。
  • TDGNN框架:结合树分解和图扩散,提出了TDGNN模型,该模型有两种变体:TDGNN-s(直接将各层表示相加)和TDGNN-w(为每层分配可学习的权重并自适应地组合节点表示)。

实验:在多个真实世界的数据集上进行了广泛的节点分类实验,包括半监督和全监督设置,证明了TDGNN模型相比现有方法的优越性。

参数分析:通过改变使用的邻域层数和多跳依赖性的长度,分析了这些参数对TDGNN性能的影响。

相关工作:讨论了与TDGNN相关的其他工作,包括解决GNNs中过平滑问题的方法和应用于异配图的方法。

结论与未来工作:论文总结了TDGNN的主要贡献,并提出了未来的研究方向,包括开发节点自适应层聚合机制和利用自监督学习来预训练模型。

1、先验知识
① 什么是多跳依赖性(multi-hop dependency)?

多跳依赖性是图神经网络中的一个概念,指的是网络中两个节点通过至少一条长度为特定跳数的简单路径相互连接的关系。在图数据结构中,节点间的直接连接通常表示为一跳依赖(即两个节点通过一条边直接相连)。而多跳依赖则涉及通过多个节点和边间接连接的节点对。

  • 一跳依赖:如果两个节点通过一条边直接相连,它们之间存在一跳依赖。
  • **多跳依赖:如果两个节点通过至少一条长度大于1的路径相连,它们之间存在多跳依赖。**例如,节点A通过至少一条长度为2的路径(即经过至少一个中间节点)到达节点B,那么它们之间存在二跳依赖。

在本文提到的TDGNN模型中,多跳依赖性是通过图扩散过程来建模的。这个过程考虑了从某个节点到其他所有节点的路径,不仅仅是直接相连的邻居节点,还包括通过更长路径可达的节点。这样做的目的是捕捉节点间的间接关系,这些关系对于理解图中的结构和进行有效的节点表示学习是非常重要的。

在TDGNN中,多跳依赖性通过以下方式形式化:

  • 使用图扩散矩阵 A k A_k Ak来表示第 k k k跳的依赖性,其中矩阵的每个元素 A k i j A_{k_{ij}} Akij衡量了长度为 k k k的路径在从节点 i i i到节点 j j j传播特征时的强度。
  • 通过将所有 A k A_k Ak矩阵相加,可以计算出从节点 i i i到节点 j j j通过不同长度路径的总依赖性。

通过这种方式,TDGNN能够更全面地利用图中的局部和全局信息,从而提高节点分类等任务的性能。

② 什么是图扩散(Graph Diffusion)?

**图扩散是一种在图结构数据上进行信息传播的机制,它模拟了在图中从一个节点到另一个节点的信息流动过程。**这种机制在图神经网络中非常重要,因为它允许节点通过边来接收来自其邻居节点的信息,并且可以扩展到更远的邻居。

在图扩散的过程中,每个节点会收集来自其邻居的信息,并将这些信息与其自身的信息结合起来更新自己的状态。这个过程可以迭代地进行,每经过一轮迭代,节点的状态就会更新一次,从而逐渐融合来自更远邻居的信息。图扩散通常包括以下几个关键步骤:

  • 初始化:每个节点通常以其特征向量开始,这些特征向量可以是节点的初始属性或者从数据集中获得。
  • 信息传播:在每一轮扩散中,节点收集来自其直接邻居的信息。这可以通过多种方式实现,例如通过加权求和、平均或者应用特定的聚合函数。
  • 更新规则:节点根据收集到的信息更新自己的状态。这通常涉及到一个可学习的转换函数,如神经网络层。
  • 迭代过程:这个过程可以迭代进行,直到满足一定的停止条件,例如达到预定的迭代次数或状态更新不再显著。
  • 多跳依赖性建模:图扩散可以捕捉多跳依赖性,即节点间的间接连接。通过考虑更长的路径,图扩散可以模拟节点间的间接影响。

在TDGNN中,图扩散用于计算多跳依赖性,这是通过构建一个图扩散矩阵来实现的,该矩阵的每个元素表示在特定跳数下从一个节点到另一个节点的路径的强度。通过这种方式,TDGNN能够模拟和利用节点间的间接关系,从而提高学习到的节点表示的质量。

图扩散的过程可以形式化为一个矩阵乘法过程,其中邻接矩阵 A A A表示图中的边,节点特征矩阵 X X X表示节点的特征,通过连续乘以 A A A的幂来模拟不同跳数的信息传播。这种方法允许GNNs捕捉到图中的长距离依赖性,这对于理解和预测图中的复杂模式是非常有用的。

2、TDGNN框架&原理

整个框架如图3所示,它有三个主要组成部分:树分解来处理不同邻域层之间的特征平滑,图扩散来建模多跳依赖关系,以及聚合来组合不同层的表示。

在这里插入图片描述

① Tree Decomposition

在图1中,我们展示了Cora和Texas数据集中不同邻域层的同质性水平。

在这里插入图片描述

图1观察:在Cora数据集中,较低层的同配性较高,这意味着在这些层中传播节点特征可以融合同一类别的节点嵌入,从而使得不同类别的节点嵌入更容易区分。然而,随着层数的增加,同配性水平逐渐降低,这可能导致在更高层的邻域中传播特征时发生特征平滑,影响模型性能。相反,在Texas数据集中,由于其强烈的异配性,低层邻域中的节点特征传播可能会导致不同类别的节点嵌入混合,使得节点难以区分,从而导致学习到的节点表示性能较差。

这些观察结果为TDGNN的设计提供了动机,即通过树分解方法解耦不同层的邻域信息,并通过图扩散过程来模拟多跳依赖性,以提高GNNs在异配网络和同配网络上的性能。(老生常谈了……)

图2:展示了树分解的可视化例子,其中中心节点的邻域被分解成不同层级的子图,并直接与中心节点相连。这样,高层邻域的特征可以直接传播到中心节点,而不受底层邻域的干扰。(想法不错,我就知道CIKM不会让我失望。)

在这里插入图片描述

② Multi-hop dependency

这一部分讨论了图神经网络中的多跳依赖问题,并提出了一种通过图扩散过程来建模多跳依赖性的方法。

多跳依赖性的定义:首先定义了多跳依赖性,如果网络中的两个节点通过至少一条长度为某个跳数的简单路径相连,则它们之间存在多跳依赖性。例如,两个节点之间存在2跳依赖性,如果它们通过至少一条长度为2的路径相连。

特征平滑问题:本文指出,尽管树分解方法可以避免不同层之间特征平滑的问题,但同时也可能丢失了原始迭代传播中捕获的多跳依赖性,这可能导致过平滑。例如在图2中,节点 v 2 v_2 v2的特征可以沿着 v 2 − > v 1 v_2->v_1 v2>v1传播,也可以沿着 v 2 − > v 5 − > v 6 − > v 3 − > v 1 v_2->v_5->v_6->v_3->v_1 v2>v5>v6>v3>v1传播到 v 1 v_1 v1。而在树分解后,节点 v 2 v_2 v2的特征沿着 v 2 − > v 1 v_2->v_1 v2>v1传播成为了唯一方法。

图扩散模型:为了解决这个问题,作者提出了使用图扩散来模拟多跳依赖性。图扩散是一种考虑节点间不同长度路径影响的过程,可以捕捉节点间的间接关系。

图扩散矩阵:论文引入了图扩散矩阵 A k A_k Ak来表示第 k k k跳的依赖性,其中 A k A_k Ak的每个元素 A k i j A_{k_{ij}} Akij衡量了长度为 k k k的路径在从节点 i i i到节点 j j j传播特征时的强度。

多跳依赖性聚合:通过将所有的 A k A_k Ak矩阵相加,可以计算出从节点 i i i到节点 j j j通过不同长度路径的总依赖性,这可以作为分解后子图中传播特征的边权重。

灵活性和适应性:通过图扩散建模多跳依赖性,TDGNN模型能够灵活地选择有效的感受野(receptive field),并根据特定网络生成自适应的节点表示。

与现有工作的关联:论文还讨论了多跳依赖性与现有工作的关系,特别是与注意力机制和图卷积网络中的混合传播规则的关联。

这一部分强调了在GNNs中考虑多跳依赖性的重要性,并提出了一种新的图扩散方法来建模这种依赖性,从而提高了模型对节点间复杂关系的捕捉能力,并有助于解决过平滑问题。

③ Tree Decomposed Graph Neural Network(TDGNN)

结合树分解和图扩散的概念,作者提出了TDGNN模型。这个模型旨在解决GNNs中的两个主要挑战:不同层邻域之间的特征平滑问题和多跳依赖的缺失。

TDGNN的组件:TDGNN主要由三个主要部分组成——

  • 树分解:用于处理不同邻域层之间的特征平滑问题。
  • 图扩散:用于模拟多跳依赖性。
  • 聚合机制:用于组合不同层的节点表示。

数学公式:

在这里插入图片描述

其中,初始节点表示 H 0 H^0 H0的计算,通过在原始特征矩阵 X X X上应用多层感知机(MLP);通过树分解计算每层的邻接矩阵 T k T^k Tk;利用图扩散计算多跳依赖性 E k , K E^{k,K} Ek,K;传播初始节点表示 H 0 H^0 H0以获得每层的表示 H k H^k Hk

聚合机制:

  • TDGNN-s:直接将所有层的表示相加。
  • TDGNN-w:为每层分配可学习的权重,并自适应地组合每层的节点表示。

最终表示:通过聚合机制得到的最终节点表示 Z Z Z,用于计算所有标记节点的交叉熵损失。

3、实验
① 数据集

在这里插入图片描述

② 同配图上半监督节点分类任务的分类精度

在这里插入图片描述

③ 8个数据集上全监督节点分类任务的分类精度

在这里插入图片描述

4、启发&心得
① 异配图神经网络的挑战

异配图神经网络的挑战在于:过平滑问题和多跳依赖问题之间的平衡。

  • 过平滑问题:GCN层数过多,学习到了更远距离的节点信息,但是会导致过平滑问题,使所有节点聚合后的特征相似,以至于无法区分。
  • 多跳依赖问题:GCN层数过少,只适合同配图,丢失了远距离的节点信息,在异配图上性能较差。

现在大部分工作其实在解决的就是这两个挑战,提出平衡这两个问题的解决办法。

② 如何理解树分解和多跳依赖性?

简单地理解,树分解就是将中心节点的每一层邻域解耦,而多跳依赖则是对每一层邻域赋予权重,防止对每一层邻域的重视程度一样导致的过平滑问题。

在考虑异配图的对抗攻击方法的时候,我们也想过这样一个思路,先找出中心节点的每一层邻域中那一层邻域对中心节点的预测结果影响最大,然后再找到这一层中对中心节点的预测结果影响最大的前几个节点。

③ 本文值得参考的地方

论文思路很清晰,写的不错,包装的很好,哈哈哈。

本文从消息传递的角度来解耦每一层邻域的信息,角度很新。

5、参考资料
  • kimi:https://kimi.moonshot.cn/

相关文章:

论文《Tree Decomposed Graph Neural Network》笔记

【TDGNN】本文提出了一种树分解方法来解决不同层邻域之间的特征平滑问题,增加了网络层配置的灵活性。通过图扩散过程表征了多跳依赖性(multi-hop dependency),构建了TDGNN模型,该模型可以灵活地结合大感受场的信息&…...

控制下属很简单,用好这3大管人绝招,再跳的刺头也不敢造次

控制下属很简单,用好这3大管人绝招,再跳的刺头也不敢造次 第一招:给压力 很多团队中的员工都是自己不带脑子工作,遇事就喜欢请示领导,让领导拿方案、拿决策。 还有一些人,推一下,他才动一下&a…...

2.APP测试-安卓adb抓取日志

1.打开手机的开发者模式,打开USB调试 (1)小米手机打开开发者模式: 【设置】-【我的设备】-【全部参数信息】-快速多次点击【OS版本】-进入开发者模式 (2)连接手机和电脑,手机打开USB调试 【设置…...

高考填报志愿选专业,要善于发掘自身优势

每年的高考季,如何填报志愿又再成为困扰家长以及学生的难题,可能在面对大量的专业时,无论是考生还是家长都不知道应该如何选择,好的专业孩子不一定有优势,感兴趣的冷门专业又担心日后找工作难。 实际上,专业…...

如何在 Ubuntu 14.04 上使用 HAProxy 实现 SSL 终止

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 HAProxy,全称高可用代理,是一款流行的开源软件 TCP/HTTP 负载均衡器和代理解决方案,可在 Linu…...

dockercompose

安装dockerconpose #上传docker-compose安装包 chmod x docker-compose mv docker-compose /usr/bin/ [rootlocalhost ~]# docker-compose --version docker-compose version 1.24.1, build 4667896b文件格式以及编写注意事项 YAML 是一种标记语言,它可以很直观的…...

「51媒体」活动会议,展览展会,直播曝光的一种方法

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 我们在做活动会议,或者参加展览展会,需要进行直播的时候,可以通过一键同步多个媒体平台的方法,来扩大曝光,比如一场直播我们可…...

Go WebSocket入门+千万级别弹幕系统架构设计

Go实现WebSocket(千万级别弹幕系统架构设计) 1 websocket简介(基于HTTP协议的长连接) 使用WebSocket可以轻松的维持服务器端长连接,其次WebSocket是架构在HTTP协议之上的,并且也可以使用HTTPS方式,因此WebSocket是可靠…...

uniapp使用伪元素实现气泡

uniapp使用伪元素实现气泡 背景实现思路代码实现尾巴 背景 气泡效果在开发中使用是非常常见的,使用场景有提示框,对话框等等,今天我们使用css来实现气泡效果。老规矩,先看下效果图: 实现思路 其实实现这个气泡框的…...

字节跳动:从梦想之芽到参天大树

字节跳动掌舵人:张一鸣 2012年:梦想的起点:在一个阳光明媚的早晨,北京的一座普通公寓里,一位名叫张一鸣的年轻人坐在电脑前,眼中闪烁着坚定的光芒。他的心中有一个梦想——通过技术改变世界,让…...

组合数学、圆排列、离散数学多重集合笔记

自用 如果能帮到您,那也值得高兴 知识点 离散数学经典题目 多重集合组合 补充容斥原理公式 隔板法题目 全排列题目:...

网络技术原理需要解决的5个问题

解决世界上任意两台设备时如何通讯的?? 第一个问题,pc1和pc3是怎么通讯的? 这俩属于同一个网段,那么同网段的是怎么通讯的? pc1和pc2属于不同的网段,第二个问题,不同网段的设备是…...

【数据结构】链表的大概认识及单链表的实现

目录 一、链表的概念及结构 二、链表的分类 三、单链表的实现 建立链表的节点: 尾插——尾删: 头插——头删: 查找: 指定位置之后删除——插入: 指定位置之前插入——删除指定位置: 销毁链表&am…...

国企:2024年6月中国移动相关招聘信息 二

在线营销服务中心-中国移动通信有限公司在线营销服务中心 硬件工程师 工作地点:河南省-郑州市 发布时间 :2024-06-18 截至时间: 2024-06-30 学历要求:本科及以上 招聘人数:1人 工作经验:3年 岗位描述 1.负责公司拾音器等音视频智能硬件产品全过程管理,包括但…...

Elasticsearch:智能 RAG,获取周围分块(二)

在之前的文章 “Elasticsearch:智能 RAG,获取周围分块(一) ” 里,它介绍了如何实现智能 RAG,获取周围分块。在那个文章里有一个 notebook。为了方便在本地部署的开发者能够顺利的运行那里的 notebook。在本…...

华为---RIP路由协议的汇总

8.3 RIP路由协议的汇总 8.3.1 原理概述 当网络中路由器的路由条目非常多时,可以通过路由汇总(又称路由汇聚或路由聚合)来减少路由条目数,加快路由收敛时间和增强网络稳定性。路由汇总的原理是,同一个自然网段内的不同子网的路由在向外(其他…...

Python基础——字符串常见用法:切片、去空格、替换、拼接

文章目录 专栏导读1、拼接字符串2、获取字符串长度3、字符串切片4、字符串替换:5、字符串分割6、字符串查找7、字符串大小写转换8、字符串去除空白9、字符串格式化:10、字符串编码与解码:11、字符串判断12、字符串填充与对齐总结 专栏导读 &a…...

LeetCode.51N皇后详解

问题描述 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案…...

计算机网络之奇偶校验码和CRC冗余校验码

今天我们来看看有关于计算机网络的知识——奇偶校验码和CRC冗余校验码,这两种检测编码的方式相信大家在计算机组成原理当中也有所耳闻,所以今天我就来跟大家分享有关他们的知识。 奇偶校验码 奇偶校验码是通过增加冗余位使得码字中1的个数恒为奇数或偶数…...

二叉树经典OJ练习

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 二叉树经典OJ练习 收录于专栏【数据结构初阶】 本专栏旨在分享学习数据结构学习的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 前置说…...

【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】008 - make distclean 命令解析

【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】008 - make distclean 命令解析 一、make V=1 distclean 命令解析系列文章汇总:《【OpenHarmony4.1 之 U-Boot 源码深度解析】000 - 文章链接汇总》 本文链接:《【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】008 - mak…...

QTreeView双击任意列展开

一.效果 二.原理 重点是如何通过其他列的QModelIndex(假设为index),获取第一列的QModelIndex(假设为firstColumnIndex)。代码如下所示: QModelIndex firstColumnIndex = model->index(index.row(), 0, index.parent()); 这里要注意index函数的第三个参数,第三个参…...

Linux入门攻坚——26、Web Service基础知识与httpd配置-2

http协议 URL:Uniform Resource Locator,统一资源定位符 URL方案:scheme,如http://,https:// 服务器地址:IP:port 资源路径: 示例:http://www.test.com:80/bbs/…...

相由心生与事出反常必有妖

从端午节之日生病起,已就医三次,快半个月了。医检的结论是老病复发—— 上呼吸道感染 。原本并无大碍,加之“水不在深,有龙则灵”的张龙医生处方得当,现已病情好转。只是“800727”趁人之危,兴灾乐祸地欲从…...

微信小程序---支付

一、判断是否登录 如果没有登录,走前端登录流程,不再赘述 二、获取订单编号 跟自己的后端商议入参,然后获取订单编号 三、通过订单编号获取wx.requestPayment()需要的参数 获取订单编号再次请求后端接口,拿到wx.requestPayme…...

Git学习2 -- VSCode中的Git

看了下,主要的插件有3个。自带的Source Control。第1个是Gitlens,第2个是Git Graph。第三个还有个git history。 首先是Source Control。界面大概是这样的。 还是挺直观的。在第一栏source control,可以进行基本的git操作。主要的git操作都是…...

VC++支持断点续下或续传的功能

VC使用多线程和Socket实现断点续下 一、断点续下的基本原理: 1.断点续传的理解可以分为两部分:一部分是断点,一部分是续传。断点的由来是在下载过程中,将一个下载文件分成了多个部分,同时进行多个部分一起的下载&…...

机器学习数学原理专题——线性分类模型:损失函数推导新视角——交叉熵

目录 二、从回归到线性分类模型:分类 3.分类模型损失函数推导——极大似然估计法 (1)二分类损失函数——极大似然估计 (2)多分类损失函数——极大似然估计 4.模型损失函数推导新视角——交叉熵 (1&#x…...

windows和linux路径斜杆转换脚本,打开即用

前言: windows和linux的目录路径斜杆是相反的,在ssh或者其他什么工具在win和ubuntu传文件时候经常需要用到两边的路径,有这个工具就不用手动去修改斜杆反斜杠了。之前有个在线网站,后来挂了,就想着自己搞一个脚本来用。…...

在Android系统中,查看apk安装路径

在Android系统中,应用通常安装在内部存储的特定目录下。要找到已安装应用的路径,可以通过ADB(Android Debug Bridge)工具来查询。以下是一些步骤和命令,可以帮助你找到应用的安装路径: 使用pm list package…...

管理不到位,活该执行力差?狠抓这4点要素,强化执行力

管理不到位,活该执行力差?狠抓这4点要素,强化执行力 一:强化制度管理 1、权责分明,追责管理 要知道,规章制度其实就是一种“契约”。 在制定制度和规则的时候,民主一点,征求团队成员…...

应届毕业之本科简历制作

因为毕设以及编制岗位面试,最近好久没有更新了,刚好有同学问如何制作简历,我就准备将我自己制作简历的流程分享给各位,到此也算是一个小的结束,拿了工科学位证书毕业去做🐂🐎了。 简历主要包含内…...

SparkOnHive_列转行、行转列生产操作(透视和逆透视)

前言 行专列,列转行是数开不可避免的一步,尤其是在最初接触Hive的时候,看到什么炸裂函数,各种udf,有点发憷,无从下手,时常产生这t怎么搞,我不会啊? 好吧&#xff…...

【人机交互 复习】第2章 Hadoop

一、概念 1.Hadoop 是一个能够对大量数据进行分布式处理的软件框架,并 且是以一种可靠、高效、可伸缩的方式进行处理的, 2.特点: 高可靠性,高效性,高可扩展性,高容错性 运行在Linux平台上,支持…...

国产自研编程语言“仓颉”来了!

在 6.21 召开的华为开发者大会(HDC2024)上,华为自研的国产编程语言“仓颉”终于对外正式发布了! 随着万物互联以及智能时代的到来,软件的形态将发生巨大的变化。一方面,移动应用和移动互联网领域仍然强力驱动人机交互…...

Swarm 集群管理

Swarm 集群管理 简介 Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。 支持的工具包括但不限…...

从社交网络到元宇宙:Facebook的战略转型

随着科技的迅猛发展和数字化时代的深入,社交网络已不再局限于简单的信息交流和社交互动,而是逐步向更广阔、更深远的虚拟现实空间——元宇宙(Metaverse)转变。作为全球最大的社交网络平台之一,Facebook正在积极推动这一…...

程序猿大战Python——面向对象——继承进阶

方法重写 目标:掌握方法的重写。 当父类的同名方法达不到子类的要求,则可以在子类中对方法进行重写。语法: class 父类名(object):def 方法A(self):代码... class 子类名(父类名):def 方法A(self):代码... 例如,一起来完成&…...

【Linux基础】SSH登录

SSH简介 安全外壳协议(Secure Shell Protocol,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。 SSH通过在网络中建立安全隧道来实现SSH客户端与服务器之间的连接。 SSH最常见的用途是远程登…...

经典机器学习方法(7)—— 卷积神经网络CNN

参考:《动手学深度学习》第六章 卷积神经网络(convolutional neural network,CNN)是一类针对图像数据设计的神经网络,它充分利用了图像数据的特点,具有适合图像特征提取的归纳偏置,因而在图像相…...

经典面试题【作用域、闭包、变量提升】,带你深入理解掌握!

前言:哈喽,大家好,我是前端菜鸟的自我修养!今天给大家分享经典面试题【作用域、闭包、变量提升】,并提供具体代码帮助大家深入理解,彻底掌握!原创不易,如果能帮助到带大家&#xff0…...

Dockerfile实战

Dockerfile是用来快速创建自定义镜像的一种文本格式的配置文件,在持续集成和持续部署时,需要使用Dockerfile生成相关应用程序的镜像。 Dockerfile常用命令 FROM:继承基础镜像MAINTAINER:镜像制作作者的信息,已弃用&a…...

常用的开源数据集网站

Kaggle(https://www.kaggle.com/datasets):Kaggle 是一个著名的数据科学竞赛平台,也提供了大量的开放数据集供用户下载和使用。UCI Machine Learning Repository(https://archive.ics.uci.edu/datasets)&am…...

html文本被木马病毒植入vbs脚本

我在公司服务器上写了一个静态html&#xff0c;方便导航&#xff0c;结果没过多久发现html文件被修改了&#xff0c;在</html>标签后加了这些代码。 注&#xff1a;WriteData 的内容很长&#xff0c;被我删掉了很多&#xff0c;不然没法提交这个提问 ​ <SCRIPT Lan…...

jsonl 文件介绍

jsonl文件介绍 什么是 jsonl 文件文件结构读取jsonl文件写入jsonl文件 什么是 jsonl 文件 jsonl&#xff08;json lines&#xff09;是一种文件格式&#xff0c;其中每一行都是一个单独的 json 对象。与常规的 json文件不同&#xff0c;jsonl文件在处理大量数据时具有优势&…...

反射机制详解

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a;Java从入门到精通 ✨特色专栏&#xff…...

【数据库】七、数据库安全与保护

七、数据库安全与保护 文章目录 七、数据库安全与保护安全性访问控制数据库安全性控制用户标识和鉴别存取控制自主存取控制(DAC)存取控制方法&#xff1a;授权与回收GRANT授权REVOKE回收 强制存取控制(MAC) MySQL的安全设置用户管理1.创建登录用户2.修改用户密码3.修改用户名4.…...

卡尔曼滤波-剔除异常值的影响

二郎在看论文的时候&#xff0c;发现了一个针对卡尔曼滤波过程中&#xff0c;测量向量出现误差导致滤波发散的处理方法。 该方法也可以扩展到其他问题中使用&#xff0c;所以二郎在这里写一下。 论文原文&#xff1a;https://www.mdpi.com/1424-8220/20/17/4710 论文翻译对应…...

Java程序之动物声音“模拟器”

题目&#xff1a; 设计一个“动物模拟器”&#xff0c;希望模拟器可以模拟许多动物的叫声和行为&#xff0c;要求如下&#xff1a; 编写接口Animal&#xff0c;该接口有两个抽象方法cry()和getAnimalName()&#xff0c;即要求实现该接口的各种具体的动物类给出自己的叫声和种类…...

jieba中文分词器的使用

Jieba 是一个中文分词的第三方库&#xff0c;主要用于对中文文本进行分词。分词是将文本分割成一个个词语的过程&#xff0c;这在中文文本处理中尤为重要&#xff0c;因为中文不像英文那样有明显的空格来分隔词语。Jieba 的分词算法可以实现精确分词、全模式分词和搜索引擎模式…...

ONLYOFFICE 8.1 桌面编辑器测评:引领数字化办公新潮流

目录 前言 下载安装 新功能概述 1.PDF 编辑器的改进 2. 演示文稿中的幻灯片版式 3.语言支持的改进 4. 隐藏“连接到云”板块 5. 页面颜色设置和配色方案 界面设计&#xff1a;简洁大方&#xff0c;操作便捷 性能评测&#xff1a;稳定流畅&#xff0c;高效运行 办公环…...

Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

0 前言 系统进程信息是电脑网络信息安全检查中的一块重要内容&#xff0c;对于使用Linux和基于Linux作为操作系统的电脑来说&#xff0c;可以使用ps命令。 1 ps命令 的功能、格式和选项说明 1.1 ps命令 的功能 Linux 中的ps&#xff08;意为&#xff1a;process status&…...

c++ const关键字

文章目录 概述变量1、定义常量2.定义常量引用3.常量指针4.指针常量 函数成员函数 模板参数lamda表达式const_cast 操作符&#xff1a;小结 概述 聊起const&#xff0c;要先从几个方面聊起。作为一个关键字&#xff0c;主要用来修饰变量或者函数&#xff0c;然后呢还有模板&…...

人工智能--目标检测

欢迎来到 Papicatch的博客 文章目录 &#x1f349;引言 &#x1f349;概述 &#x1f348;目标检测的主要流程通常包括以下几个步骤 &#x1f34d;数据采集 &#x1f34d;数据预处理 &#x1f34d;特征提取 &#x1f34d;目标定位 &#x1f34d;目标分类 &#x1f348;…...

旋转变压器软件解码simulink仿真

1.介绍 旋转变压器是一种精密的位置、速度检测装置&#xff0c;尤其适用于高温、严寒、潮湿、高速、振动等环境恶劣、旋转编码器无法正常工作的场合。旋转变压器在使用时并不能直接提供角度或位置信息&#xff0c;需要特殊的激励信号和解调、计算措施&#xff0c;才能将旋转变压…...

【计算机毕业设计】092基于微信小程序二手闲置交易市场

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…...

中信建投证券06066:“21信投10”将于7月12日本息兑付并摘牌

智通财经APP讯,中信建投证券发布公告,2021年面向专业投资者公开发行次级债券(第五期)(品种二)(以下简称“本期债券”),将于2024年7月12日开始支付自2023年7月12日至2024年7月11日期间的利息和本期债券本金。据悉,本期债券简称“21信投10”,发行总额1亿元,债券期限为3年,…...

2024年沪台研讨会举行两岸专家共话低碳循环与智慧健康

东方网记者王泳婷6月20日报道:由上海市人民政府参事室和旺旺集团《旺报》共同主办的“低碳循环与智慧健康”2024年沪台研讨会于6月20日在上海举行。沪台两地150余位嘉宾出席研讨会。研讨会上,旺旺集团副董事长周锡玮从绿碳、蓝碳、土壤固碳等不同角度作“农业减碳”主旨演讲。…...

TH方程学习(1)

一、背景介绍 根据CW方程的学习&#xff0c;CW方程的限制条件为圆轨道&#xff0c;不考虑摄动&#xff0c;二者距离相对较小。TH方程则可以将物体间的相对运动推广到椭圆轨道的二体运动模型&#xff0c;本部分将结合STK的仿真功能&#xff0c;联合考察TH方程的有用性&#xff…...

STL库--stack

目录 stack的定义 stack容器内元素的访问 stack常用函数实例解析 stack的常见用途 stack的定义 其定义的写法和其他STL容器相同&#xff0c;typename可以任意基本类型或容器&#xff1a; stack<typename> name; stack容器内元素的访问 由于栈本身就是一种后进先出…...

IEEE Latex模版踩雷避坑指南

参考文献 原Latex模版 \begin{thebibliography}{1} \bibliographystyle{IEEEtran}\bibitem{ref1} {\it{Mathematics Into Type}}. American Mathematical Society. [Online]. Available: https://www.ams.org/arc/styleguide/mit-2.pdf\bibitem{ref2} T. W. Chaundy, P. R. Ba…...

关于软件设计模式的理解

系列文章 关于时间复杂度o(1), o(n), o(logn), o(nlogn)的理解 关于HashMap的哈希碰撞、拉链法和key的哈希函数设计 关于JVM内存模型和堆内存模型的理解 关于代理模式的理解 关于Mysql基本概念的理解 关于软件设计模式的理解 文章目录 前言一、软件设计模式遵循的六大原则…...