Cluster Explanation via Polyhedral Descriptions

news2024/11/17 8:54:45

通过多面体描述进行聚类解释

本文关注聚类描述问题,即在给定数据集及其聚类划分的情况下,解释这些聚类的任务。我们提出了一种新的聚类解释方法,通过在每个聚类周围构建一个多面体,同时最小化最终多面体的复杂性或用于描述的特征数量来实现。我们将聚类描述问题表述为一个整数规划问题,并提出了一种列生成方法,以搜索用于构建多面体的指数数量候选半空间。为了处理大型数据集,我们引入了一种新颖的分组方案,首先将数据点形成较小的组,然后围绕分组数据构建多面体,这种方法优于常见的数据子采样方法。与最先进的聚类描述算法相比,我们的方法能够在保持可解释性的同时,提高描述的准确性。

i. Introduction

1.1 相关工作

这段文字对现有的可解释聚类研究进行了综述,主要包括两类:聚类描述和可解释聚类方法。以下是对其主要内容的分析:

  1. 聚类描述与可解释聚类

    • 聚类描述专注于对已给定聚类进行解释,而可解释聚类则使用可解释模型生成聚类。本文重点关注聚类描述。

  2. 监督学习的应用

    • 传统方法常通过监督学习算法预测聚类标签,尽管这在某种程度上可以视为多类分类的应用,但两者的目标不同:聚类描述更关注解释的简单性,而不仅仅是分类准确性。

  3. 模型间的区别

    • 聚类描述允许数据点可能落在所有现有聚类描述之外,而多类分类模型则需要进行推断并处理新数据。

  4. 相关研究比较

    • 提到了Carrizosa等人(2022)引入的整数规划框架,该框架选择单一原型点并围绕其构建描述,指出该方法在处理非紧凑或非等方差聚类时的局限性。

    • Davidson等人(2018)提出的DTDM问题与本文方法有相似之处,但在描述方式和要求上存在显著差异。

  5. 使用可解释模型进行聚类

    • 讨论了使用决策树和规则集等可解释模型的研究,强调这些方法假设聚类分配不是固定的,而本文则关注固定聚类的可解释性。

  6. 建模和可扩展性

    • 本文将聚类描述建模为整数规划(IP),而不是混合整数非线性规划(MINLP),这使得方法能够扩展到更大的数据集。

      PS:

      1.聚类描述建模为整数规划(IP)是一种优化方法,其中目标是通过选择和构造聚类的描述来最小化某种成本(如错误率、复杂性等),同时满足特定约束。整数规划的主要特点是决策变量必须是整数,这在处理离散选择时非常有效。在聚类描述中,这意味着可以对每个聚类的特征进行选择,从而生成多面体描述,以便对聚类进行清晰的解释。这种方法能够有效处理大规模数据集并优化解释的可理解性与准确性。

      2.混合整数非线性规划(MINLP)是一种优化方法,它结合了整数规划和非线性规划的特点。在MINLP中,决策变量可以是整数或连续值,并且目标函数和约束条件可以是非线性的。这使得MINLP能够处理更复杂的优化问题,比如那些涉及非线性关系或约束的情境。

      在聚类描述的背景下,使用MINLP可能涉及更灵活的模型来捕捉复杂的关系或特征之间的非线性关系。然而,这种方法的求解通常比整数规划更具挑战性,因为非线性导致了更复杂的解空间,可能会使得找到最优解变得更加困难。因此,在某些情况下,研究者可能选择使用整数规划(如IP)来获得更高的求解效率。

      3.整数规划(IP)和混合整数非线性规划(MINLP)之间的主要区别在于:

      1. 变量类型

        • IP:所有决策变量都是整数(或布尔值)。

        • MINLP:包含整数和连续变量,且可以有非线性的目标函数和约束。

      2. 问题复杂度

        • IP:求解相对简单,尤其是针对线性目标函数和约束,已有多种高效的求解算法。

        • MINLP:因包含非线性,求解过程通常更复杂,可能需要更长的时间和更多的计算资源。

      3. 求解方法

        • IP:可以使用分支定界法、割平面法等高效的算法。

        • MINLP:常用的算法包括非线性优化方法,求解时间可能较长。

      选择使用IP而非MINLP的原因通常是为了提高求解效率和可扩展性,特别是在处理大规模数据集时,线性模型更容易求解和实现。对于聚类描述问题,保持模型简单且高效通常更为重要。

综上所述,这段文字清晰地界定了本文研究的背景、贡献以及与现有方法的比较,强调了聚类描述在可解释性和准确性之间的权衡,以及提出方法的独特性。

1.2 Main Contributions

我们总结我们的主要贡献如下:

• 我们引入多面体描述问题,旨在解释为什么同一簇中的数据点通过在它们周围构建多面体来分组在一起。我们还表明这是一个 NP-hard问题。

PS: NP-hard问题是指那些在多项式时间内无法解决的问题,且任何一个NP问题都能在多项式时间内归约到这些问题。简单来说,如果一个问题是NP-hard,意味着没有已知的快速算法(即多项式时间算法)能解决它,但如果给定一个解,我们可以在多项式时间内验证这个解的正确性。NP-hard问题通常包括许多组合优化问题,如旅行商问题、图着色问题等,解决这些问题的算法通常是指数时间的。

• 我们将多面体描述问题表述为(指数大小)整数程序,其中变量对应于可用于簇的多面体描述的候选半空间。我们提出了一种列生成算法来有效地搜索(指数级多)候选半空间。

• 我们引入了一种新颖的分组方案来总结输入数据。这种方法有助于减少 IP 实例的大小,并使我们能够处理大型数据集。我们还提出了实证结果,表明我们的分组方案优于常用的二次采样数据点方法。

• 我们对许多现实世界的聚类数据集进行了数值实验,并表明我们的方法与最先进的聚类描述方法相比表现良好。 本文的其余部分组织如下。第 2 节形式化了多面体描述问题,并提出了用于构建最佳多面体描述的指数大小 IP 公式以及用于解决该问题的列生成方法。第 3 节介绍了一种新颖的分组方案,使 IP 方法能够处理大规模数据。最后,第 4 节介绍了一套 UCI 聚类数据集的数值结果。

ii. Problem Formulation

多面体描述问题 (PDP) 的定义:构建多面体解释聚类结果。 PDP 的优化目标:最小化描述的复杂性或稀疏性。 PDP 的求解方法:整数规划 (IP) 和列生成算法。 PDP 的变体:低复杂性 PDP (LC-PDP) 和稀疏 PDP (Sp-PDP)。 PDP 的计算复杂度:强 NP-难问题。

多面体描述问题(PDP):

该问题的输入数据包括一组具有 m 个实值特征的 n 个数据点,及其划分为 K 个聚类。每个聚类 Ck 表示属于聚类 k 的数据点集合,还有一组候选半空间 H,用于构建多面体。尽管数据点被假设为实值,但实际中可以通过独热编码将分类数据转换为实值特征。

在给定的 w 和 b 下,半空间被定义为满足 wTx ≤ b 的所有点 x。文中提到,完美的 PDP 解决方案是一组多面体 ,使得每个多面体 Pk 中的点都属于聚类 Ck,而不属于其他聚类。如果聚类的凸包相交,就不存在这样的解决方案。

作者希望找到良好的解决方案,并允许多面体最多错误地解释 α 个数据点。一个数据点 x 被认为是正确解释的,当且仅当 x 属于其对应的多面体 Pki,且不属于其他聚类的多面体。

为了提高描述的可解释性,作者限制了候选半空间 H 的定义,使其为稀疏超平面,系数为小整数。具体来说,半空间的形式为,其中 w 是整数,且满足最大值 W,及最多 β 个非零值。这些限制可能导致 PDP 在某些情况下不可行,即使每个聚类的凸包不相交。

文中指出,这种方法并不要求多面体不相交,而是对落入多个多面体的数据点进行惩罚。实际上,施加这样的限制可能使问题计算上变得复杂,并且在多面体交集不包含数据的情况下可能过于严格。实验中观察到,多面体交集中的数据点数量较少,而交集的例子则很多。

最后,作者提到考虑了两种 PDP 的变体,以增加对多面体描述的限制,从而进一步提高可解释性。

Low-Complexity PDP (LC-PDP):

LC-PDP 的目标是限制多面体描述的复杂性。类似于以往关于规则集的研究(如 Lawless 等人,2021 年),半空间的复杂性被定义为半空间中非零项的数量加一,而多面体的复杂性则是其构成的所有半空间复杂性的总和。

通过这种方式,LC-PDP 旨在在构建多面体描述时控制其复杂度,使得结果更易于理解和解释。具体来说,降低复杂性可以帮助避免过于复杂的模型,从而提高可解释性和实际应用的可行性。

Sparse PDP (Sp-PDP):

Sp-PDP 的目标是限制用于多面体描述的所有半空间中的特征总数,从而实现稀疏性。这意味着在构建多面体时,只使用有限数量的特征,以提高模型的可解释性和简洁性。

然而,作者指出这两个变体(LC-PDP 和 Sp-PDP)都是强 NP-困难问题,这意味着它们在计算上非常复杂,求解这些问题在一般情况下是不可行的。详细的证明可以在附录 B 中找到。

Theorem 2.1. Both the Low Complexity and Sparse Polyhedral Description Problems are strongly NP-Hard

2.1 Integer Programming Formulation for the PDP

PDP 的整数规划公式

  1. 候选半空间 H

    • 这是可以用于多面体描述的半空间集合。由于在实际操作中列举所有可能的候选半空间是计算上不切实际的,作者提出了一种列生成方法来处理这一问题。

  2. 变量定义

    • Hi:数据点 i 不在的半空间集合,即满足 wTxi>b 的半空间。

    • Hd:使用特征 d 的半空间集合。

    • 复杂性定义:半空间 h=(w,b) 的复杂性被定义为 ch=∥w∥0+1(非零项数量加一)。

    • 决策变量:

      • zhk:二元变量,指示半空间 h 是否用于聚类 k 的多面体描述。

      • ξi:二元变量,表示数据点 i 是否被错误分类。

      • yd:二元变量,表示特征 d 是否在选择的半空间中使用。

  3. 优化目标

    • 目标函数分为两部分:

      • 第一部分最小化使用的半空间复杂性(对应低复杂度PDP)。

      • 第二部分最小化特征的稀疏性(对应稀疏PDP)。

    • 变量 θ1 和 θ2 控制这两个部分的重要性,允许模型在两者之间进行权衡。

  4. 约束条件

    • (2) 跟踪假阳性,即数据点被错误包含在其他聚类的多面体中。

    • (3) 跟踪假阴性,即数据点未被包含在其所属聚类的多面体中。

    • (4) 确保只使用选定特征的半空间。

    • (5) 限制未被正确解释的数据点数量(最多为 α)。

    • 所有变量均为二元变量(0或1)。

  5. 问题的分类

    • 该优化模型 (1)-(6) 被称为主整数规划(MIP),其线性松弛形式(通过放宽约束 (6) 允许非整数值)称为主线性规划(MLP)。

这段文字的核心是提出一种通过整数规划来解决多面体描述问题的方法,关注于如何控制复杂性和稀疏性,同时通过约束条件保证模型的有效性。

2.2 Column Generation 列生成

枚举所有候选半空间的不可行性。 列生成算法的基本思想:动态添加最优候选半空间。 定价问题:寻找具有负减去成本的候选半空间。 定价问题的整数规划模型。

在多面体描述问题(PDP)中如何使用列生成方法来求解主线性规划(MLP),并为每个聚类构建一个定价问题以寻找合适的候选半空间。以下是具体内容的详细分解:

  1. 问题背景

    • 列举所有可能的半空间是计算上不可行的,因此不能使用标准的分支定界技术来解决 MIP。为此,作者采用列生成方法,通过搜索最佳候选半空间来求解 MLP。

  2. 列生成过程

    • 从一个有限的初始半空间集合H^ 开始,称为限制主线性规划(RMLP)。

    • 解决 RMLP 后,利用其最优对偶解来识别缺失的变量(即具有负减少成本的半空间)。

    • 如果找到新的半空间,则将其添加到 H^,重复此过程,直到找不到更多具有负减少成本的半空间为止,或者超过计算预算。

  3. 对偶变量定义

    • 定义对偶变量 (μ,γ,ϕ),分别对应于不同约束的对偶值。每个聚类都有独立的定价问题,可以并行解决。

  4. 减少成本计算

    • 使用对偶解计算每个缺失变量的减少成本 )ρ(h,k),这是判断新候选半空间是否值得添加的重要标准。

  5. 定价问题的公式化

    • 目标是最小化新列的减少成本,公式中包括多个决策变量,如 w+ 和 w− 表示超平面的正负分量,以及二元变量yd 表示特征是否被使用。

    • 约束 (8) 和 (9) 分别确保聚类中的数据点被包括在半空间内,而不在聚类中的数据点被排除在外。

    • 约束 (10) 和 (11) 限制超平面系数的最大整数值,约束 (12) 限制超平面的 l0l_0l0 范数。

    • 其他约束确保模型的合理性,防止出现平凡解(如w=0)。

iii Grouped Data for Scalability 分组数据的可扩展性

在处理大规模数据集时解决整数规划(IP)模型的挑战。标准方法通常是通过对数据点进行子抽样来简化优化问题,但这可能会忽略一些重要信息。为此,作者提出了一种新技术,通过将数据点分成小组并将其视为一个整体,进行聚类描述。这种方法有效减少了问题实例的规模,同时保留了所有数据点的信息,确保了更全面的分析。这样可以在不损失数据的前提下,提高计算效率。

分组数据的概念:将数据点分组以提高可扩展性。 分组数据的描述误差分析:分组误差不会超过原始误差的 |Gmax| 倍。 分组数据与子采样数据的比较:分组数据方法优于子采样数据方法。 分组数据下 PDP 的整数规划模型。

3.1 分组数据中的描述错误

数据点分组:作者首先将每个聚类 Ck 划分为多个小组 Gk,并定义G 为所有小组的集合。一个组 Gk∈G被视为“正确解释”,当其所有数据点 x∈G 都被正确分类时。

成本定义

  • 真实成本 COST(P):定义为通过聚类描述 P 错误解释的数据点数量。具体来说,它计算那些既不属于其聚类 Pk 也不属于其他聚类 Pk′ 的数据点。

  • 分组成本 COSTG(P):计算每个小组的误分类成本,并根据小组的大小加权。这表明,即使是错误分类的小组也会影响整体成本。

成本比较:定义了最优解决方案PG∗ 和 P∗ 分别对应于分组问题和原始问题。重要的定理(定理 3.1)指出,通过分组解决问题所产生的成本最多是原始问题最优成本的 ∣Gmax∣ 倍,其中 ∣Gmax∣|是最大的组的大小。这意味着,即使分组可能会引入一定的误差,但通过分组仍然可以减少计算量。

分组策略的有效性:尽管∣Gmax∣ 看似较大,但即使是小的分组也能显著降低整数规划的规模。定理 3.1 没有对分组方法的形成做出假设,因此适用于任何分组方案。

对分组的额外限制:作者提出了一个问题,即如果对分组的方式施加更多限制,是否能获得更强的保证。一个可能的限制是确保分组在某个聚类评估指标下是最优的,例如轮廓系数(silhouette coefficient)。

紧界定理:定理 3.2 显示,尽管采用了轮廓系数的最优分组方案,仍存在某些实例使得分组成本恰好等于原始成本的∣Gmax∣ 倍。这表明,即使分组方式合理,仍然存在最坏情况。

实际效果与复杂性:虽然这些定理提供了理论界限,但在实践中,分组通常能显著提升效果。此外,分组对最终解决方案的可解释性影响不一,可能导致更简单或更复杂的结果。

3.2 Integer Programming Formulation with Grouping

分组整数编程公式

描述了如何将分组数据整合进之前的整数规划(IP)公式中,目标是使得最终的整数规划与组的数量线性相关。以下是对该段的分析:

  1. 超矩形构建:首先,定义每个数据组G的超矩形RG,其边界由组内数据点的最大和最小坐标值确定。超矩形是包含组内所有数据点的最小矩形,这一表示方式有助于简化后续的计算。

  2. 误分类条件:在新的模型中,如果超矩形的任一部分被误分类,则整个组 G 被视为误分类。这一条件比之前只要组内任一数据点被误分类的条件更严格,但有助于减少定价问题的规模,从而保持计算效率。

  3. 更新整数规划的约束:在主问题中,定义了两个新的半空间集合:

    • HG+:超矩形不完全位于其中的半空间。

    • HG−:超矩形不完全在其中的半空间。

    相关约束也更新为:

    • 约束 (17) 和 (18):跟踪分组的误分类情况。

    • 约束 (19):将误分类的影响按组的大小进行加权。

  4. 更新定价问题的约束:定价问题的约束也进行了相应更新,以便检查整个超矩形是否正确包含在半空间内。具体更新为:

    • 约束 (20):检查超矩形的最坏情况是否在半空间内。

    • 约束 (21):检查超矩形是否完全在半空间外。

总的来说,这段文字阐述了一种新的方法,通过超矩形的概念有效地整合了分组数据,使得整数规划的规模和计算复杂性得到了有效控制,同时保留了对分类准确性的考虑。

3.3 Empirical Evaluation实证评估

iv. Numerical Results

实验数据集:UCI 机器学习数据集。 实验方法:比较 PDP 与其他聚类描述算法的准确性和可解释性。 实验结果:PDP 在准确性和可解释性方面优于其他算法。

详细描述了一个关于聚类描述方法的实验评估过程。以下是对其内容的逐步分析:

实验设置

  • 实验使用了来自UCI机器学习库的聚类数据集,具体的预处理和实现细节在附录中提供。

  • 针对某些参数α,混合整数规划(MIP)和主线性规划(MLP)可能不可行,因此使用了两阶段程序:第一阶段寻找可行的α,第二阶段优化可解释性。

  • 混合整数规划(MIP)

    • 定义:MIP是一种数学优化模型,其中包含决策变量,这些变量可以是连续的(实数)和离散的(整数)。MIP用于处理许多实际问题,如物流、生产调度和资源分配。

    • 特点:在MIP中,一些变量被限制为整数,这使得问题变得更复杂,因为求解整数变量的解比求解连续变量的解要困难得多。MIP是NP-hard问题。

    主线性规划(MLP)

    • 定义:MLP是一种特殊类型的线性规划,其中所有决策变量都是连续的,并且目标函数和约束都是线性的。MLP用于寻找在给定线性约束下最大化或最小化目标函数的最优解。

    • 特点:由于所有变量都是连续的,MLP的问题求解相对简单,通常可以通过单纯形法或内点法等高效算法解决。

    主要区别:

    1. 变量类型:MIP包含整数和连续变量,而MLP只包含连续变量。

    2. 复杂性:MIP通常比MLP更复杂和计算密集,因为整数约束使得问题更难以求解。

    3. 求解方法:MIP和MLP可以使用不同的求解方法,MIP可能需要更复杂的算法(如分支限界法),而MLP可以使用更直接的方法。

    使用场景

    • MIP适用于需要决策变量为整数的场景,如工厂布局、运输问题等。

    • MLP适用于没有整数约束的问题,如资源分配、生产规划等。

比较基准

  • 将提出的方法与三种常用的聚类描述算法进行比较:分类与回归树(CART)、迭代错误最小化树(IMM)和原型描述(PROTO)。

  • 实验涉及两种不同的设置(PDP-1和PDP-3)以评估算法的表现。

候选半空间的构建

  • 为每个聚类生成候选半空间,使用每个特征的最大和最小值(共10个值)进行单变量划分。

性能评估

  • 表1展示了每个算法在聚类描述准确性方面的表现,结果表明PDP在所有基准数据集上都表现最好。

  • 表2则展示了聚类描述中使用的特征数量和复杂性,PDP在准确性和复杂性上均优于其他算法。

复杂性和稀疏性

  • Sp-PDP直接优化描述稀疏性,在大多数数据集中表现良好,但在准确性方面有所妥协。

  • LC-PDP与决策树方法竞争激烈,尤其在获得更高聚类准确率时表现优异。

计算时间

  • 表3总结了所有方法的总计算时间,尽管决策树方法的运行速度明显快于PDP,但所有结果都在合理的时间限制内完成。

结果的意义

  • PDP方法不仅在准确性上领先,还展示了在相同稀疏性下的优越表现。Pareto曲线的展示进一步强调了PDP的优势,尽管PDP在较小数据集上的运行时间较长,但这是由于解的高度退化性。

综上所述,这段文字展示了PDP方法在聚类描述中的有效性和优势,特别是在准确性和复杂性方面的平衡,同时也强调了其在计算上的合理性和可行性。

v. Conclusion

PDP 是一种有效的聚类描述方法,能够平衡准确性和可解释性。 列生成算法和分组数据方法提高了 PDP 的可扩展性。

在本文中,我们介绍了一种新颖的簇描述方法,该方法通过在每个簇周围构造一个多面体来工作。与现有方法相反,我们的算法能够显式优化结果解释的复杂性或稀疏性。我们将问题表述为整数程序,并提出了处理指数数量的候选半空间的列生成过程和帮助该方法扩展到大型数据集的分组方案。与最先进的集群描述算法相比,当通过稀疏性和复杂性来衡量时,我们的方法能够在解释准确性和可解释性方面实现有竞争力的性能。

PDP和列生成算法和分组数据方法有什么关系 PDP(多面体描述问题)是一个寻找聚类描述的优化问题,而列生成算法和分组数据方法是解决 PDP 的两种关键技术。 列生成算法 是一种求解大型优化问题的方法,它通过动态添加最优的候选变量来提高求解效率。在 PDP 中,候选变量是半空间,列生成算法通过解决定价问题来寻找具有负减去成本的半空间,并将其添加到模型中,从而逐步逼近最优解。 分组数据方法 是一种提高 PDP 可扩展性的方法,它将数据点分组,并在分组数据上进行聚类描述。分组数据方法能够显著减少问题规模,从而提高求解效率。 PDP、列生成算法和分组数据方法之间的关系可以概括如下: PDP 是目标,列生成算法和分组数据方法是实现目标的手段。 列生成算法通过动态添加最优的候选变量来解决 PDP,而分组数据方法通过减少问题规模来提高列生成算法的效率。 两种方法可以结合使用,进一步提高 PDP 的求解效率。

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

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

相关文章

2024-9-28 QT登录框基础练习

1.头文件 #ifndef LOGINWINDOW_H #define LOGINWINDOW_H#include <QWidget> #include <QPushButton> #include <QLineEdit> #include <QVBoxLayout>class LoginWindow : public QWidget {Q_OBJECTpublic:// 构造函数LoginWindow(QWidget *parent nul…

卸载WSL(Ubuntu),卸载linux

禁用 WSL 功能 打开 Windows 功能&#xff1a; 按下 Windows R 打开运行对话框&#xff0c;输入 optionalfeatures&#xff0c;然后按回车。 禁用 WSL&#xff1a; 在弹出的 Windows 功能窗口中&#xff0c;找到 适用于 Linux 的 Windows 子系统&#xff08;Windows Subsystem…

2024年咸宁中级职称水平测试合格公示

工程系列水测合格549人 农业系列水测合格18人 新闻系列水测合格37人 档案系列水测合格16人 看来每年评工程类职称 人员还是占大多数 关于咸宁初级、中级职称评审更多需要了解的可以留言

.NET 开源的功能强大的人脸识别 API

给大家推荐一款.NET 开源提供了强大的人脸识别 API&#xff0c;工具不仅易于集成&#xff0c;还具备高效处理能力。 本文将介绍一款如何利用这些API&#xff0c;为我们的项目添加智能识别的亮点 GitHub 上拥有 1.2k 星标的 C# 面部识别 API 项目&#xff1a;FaceRecognitionD…

传知代码-基于图神经网络的知识追踪方法(论文复现)

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 1.论文概述 论文链接提出了一种基于图神经网络的知识追踪方法&#xff0c;称为基于图的知识追踪&#xff08;GKT&#xff09;。将知识结构构建为图&#xff0c;其中节点对应于概念&#xff0c;边对应于它们之间的…

Jupyter Notebook 更换主题

1、安装 Jupyter 主题 pip install jupyterthemes 2、更新 Jupyter 主题 &#xff08;可选&#xff09; pip install --upgrade jupyterthemes 3、查看可用的 Jupyter 主题 jt -l 4、更换 Jupyter 主题 选择你喜欢的主题后&#xff0c;可以使用以下命令来应用它。更换主题后…

个人健康管理小程序(源码+参考文档+定制)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

Python 潮流周刊#71:PyPI 应该摆脱掉它的赞助依赖

△△请给“Python猫”加星标 &#xff0c;以免错过文章推送 本周刊由 Python猫 出品&#xff0c;精心筛选国内外的 250 信息源&#xff0c;为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景&#xff1a;帮助所有读者精进 Python 技术&am…

如何安装和设置 Go 版本的 fabric AI 工作流框架?

痛点 今年 6 月份&#xff0c;我给你介绍了 fabric 这款 AI 工作流工具。 它包裹了大量的优秀提示词&#xff0c;可以处理各种你日常工作、学习和科研中的事务性工作。包括但不限于&#xff1a; 从视频当中提取要点撰写博客给研究评分…… 不少读者看过之后&#xff0c;大呼有用…

代码随想录Day 59|图论Part09,dijkstra(堆优化版)精讲、Bellman_ford算法精讲

提示&#xff1a;DDU&#xff0c;供自己复习使用。欢迎大家前来讨论~ 文章目录 图论part09dijkstra&#xff08;堆优化版&#xff09;精讲图的存储邻接矩阵邻接表 Bellman_ford 算法精讲模拟过程代码总结 图论part09 dijkstra&#xff08;堆优化版&#xff09;精讲 图的存储…

Windows安装启动apache httpd 2.4 web服务器

Windows安装启动apache httpd 2.4 web服务器 apache httpd主要用来处理静态网页内容以及如php。 &#xff08;1&#xff09;在 Apache VS17 binaries and modules download 下载apache&#xff1a; &#xff08;2&#xff09;下载解压到一个目录&#xff0c;如果目录是这样的…

WindowsTerminal中oh-my-posh样式的cmd、git-bash、cmder配置参数

C:\Users\root\Documents\WindowsPowerShell中写如下内容 Import-Module posh-git # 引入 posh-git Import-Module oh-my-posh # 引入 oh-my-posh Import-Module -Name Terminal-Icons # 引入文件图标库 Import-Module PSReadLine # 历史命令联想 # 设置主题 Set-PoshPrompt …

MQTT.fx 1.7.1使用说明篇(OneNET-MQTT-API调试)

&#xff08;代码完美实现&#xff09;stm32 新版 onenet mqtt物联网(保姆级教程) &#xff08;代码完美实现&#xff09;stm32 新版 onenet mqtt物联网(保姆级教程)https://blog.csdn.net/Wang2869902214/article/details/142501323 MQTT.fx 1.7.1使用教程 下载地址 MQ…

DualGS:高效人体体积视频渲染技术,实现复杂4D数字人表演的实时播放引言

随着虚拟现实(VR)和增强现实(AR)技术的发展,对高质量、低延迟的人体体积视频的需求日益增长。传统的视频压缩和渲染方法在处理复杂的4D人体动作时往往面临性能瓶颈。为了解决这一问题,研究人员开发了一种名为DualGS的新型高效人体体积视频渲染技术。本文将详细介绍DualGS…

54K55LyB5p2l5a6i5pyN57O757uf token硬编码漏洞

0x01 产品描述&#xff1a; 54K55LyB5p2l5a6i5pyN57O757uf是独立源码部署的客服系统&#xff0c;支持接入到小程序、公众号、网站、APP。私有化源码部署&#xff0c;数据可控&#xff0c;稳定可靠。可自定义版权、logo。支持网页、微信公众号、小程序、App等任何程序对接 0x02…

JDK1.8安装配置教程(图文结合,最简洁易懂)

分为两大步骤&#xff1a;安装JDK、配置环境变量 (环境变量是什么&#xff1f;) 一、安装JDK 1、双击运行安装程序 2、点击【下一步】 3.点击【公共JRE】&#xff0c;选择【此功能将不可用】&#xff0c;点击【下一步】 4.安装完成&#xff0c;点击【关闭】 二、配置…

完全二叉树的递归创建思路及代码

文章目录 &#x1f34a;自我介绍&#x1f34a;创建思路图形完全二叉树的结论设计图例 &#x1f34a;创建代码编写bitree.cbitree.hmain.c 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以&#xff1a;点赞关注评论收藏&#xff08;一键四连&#xff09;哦~ &#x1f34…

使用 Git 帮助文档

聊聊如何更好地查阅官方文档。 ‍ git help 学习某个工具&#xff0c;官方文档是少不了的&#xff0c;也是最权威的。我们可以使用 git help 来查看帮助&#xff0c;该命令会列举出常用的命令和介绍&#xff1a; > git help usage: git [--version] [--help] [-C <pa…

ComfyUI | 好用的人体 衣服分割工具-③-Layer Style | 超多实用功能 | 强烈推荐

这里为大家分享检测人体的脸部、五官、头发、手臂、腿、脚&#xff0c;上衣、裤子、背景的插件&#xff0c;能够生成出对应的蒙版mask&#xff0c;接入到ComfyUI中&#xff0c;用于后续处理&#xff0c;如局部重绘&#xff0c;换背景等。 &#xff08;需要相关插件的同学可自…