Cluster Explanation via Polyhedral Descriptions
通过多面体描述进行聚类解释
本文关注聚类描述问题,即在给定数据集及其聚类划分的情况下,解释这些聚类的任务。我们提出了一种新的聚类解释方法,通过在每个聚类周围构建一个多面体,同时最小化最终多面体的复杂性或用于描述的特征数量来实现。我们将聚类描述问题表述为一个整数规划问题,并提出了一种列生成方法,以搜索用于构建多面体的指数数量候选半空间。为了处理大型数据集,我们引入了一种新颖的分组方案,首先将数据点形成较小的组,然后围绕分组数据构建多面体,这种方法优于常见的数据子采样方法。与最先进的聚类描述算法相比,我们的方法能够在保持可解释性的同时,提高描述的准确性。
i. Introduction
1.1 相关工作
这段文字对现有的可解释聚类研究进行了综述,主要包括两类:聚类描述和可解释聚类方法。以下是对其主要内容的分析:
-
聚类描述与可解释聚类:
-
聚类描述专注于对已给定聚类进行解释,而可解释聚类则使用可解释模型生成聚类。本文重点关注聚类描述。
-
-
监督学习的应用:
-
传统方法常通过监督学习算法预测聚类标签,尽管这在某种程度上可以视为多类分类的应用,但两者的目标不同:聚类描述更关注解释的简单性,而不仅仅是分类准确性。
-
-
模型间的区别:
-
聚类描述允许数据点可能落在所有现有聚类描述之外,而多类分类模型则需要进行推断并处理新数据。
-
-
相关研究比较:
-
提到了Carrizosa等人(2022)引入的整数规划框架,该框架选择单一原型点并围绕其构建描述,指出该方法在处理非紧凑或非等方差聚类时的局限性。
-
Davidson等人(2018)提出的DTDM问题与本文方法有相似之处,但在描述方式和要求上存在显著差异。
-
-
使用可解释模型进行聚类:
-
讨论了使用决策树和规则集等可解释模型的研究,强调这些方法假设聚类分配不是固定的,而本文则关注固定聚类的可解释性。
-
-
建模和可扩展性:
-
本文将聚类描述建模为整数规划(IP),而不是混合整数非线性规划(MINLP),这使得方法能够扩展到更大的数据集。
PS:
1.聚类描述建模为整数规划(IP)是一种优化方法,其中目标是通过选择和构造聚类的描述来最小化某种成本(如错误率、复杂性等),同时满足特定约束。整数规划的主要特点是决策变量必须是整数,这在处理离散选择时非常有效。在聚类描述中,这意味着可以对每个聚类的特征进行选择,从而生成多面体描述,以便对聚类进行清晰的解释。这种方法能够有效处理大规模数据集并优化解释的可理解性与准确性。
2.混合整数非线性规划(MINLP)是一种优化方法,它结合了整数规划和非线性规划的特点。在MINLP中,决策变量可以是整数或连续值,并且目标函数和约束条件可以是非线性的。这使得MINLP能够处理更复杂的优化问题,比如那些涉及非线性关系或约束的情境。
在聚类描述的背景下,使用MINLP可能涉及更灵活的模型来捕捉复杂的关系或特征之间的非线性关系。然而,这种方法的求解通常比整数规划更具挑战性,因为非线性导致了更复杂的解空间,可能会使得找到最优解变得更加困难。因此,在某些情况下,研究者可能选择使用整数规划(如IP)来获得更高的求解效率。
3.整数规划(IP)和混合整数非线性规划(MINLP)之间的主要区别在于:
-
变量类型:
-
IP:所有决策变量都是整数(或布尔值)。
-
MINLP:包含整数和连续变量,且可以有非线性的目标函数和约束。
-
-
问题复杂度:
-
IP:求解相对简单,尤其是针对线性目标函数和约束,已有多种高效的求解算法。
-
MINLP:因包含非线性,求解过程通常更复杂,可能需要更长的时间和更多的计算资源。
-
-
求解方法:
-
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 的整数规划公式
-
候选半空间 H:
-
这是可以用于多面体描述的半空间集合。由于在实际操作中列举所有可能的候选半空间是计算上不切实际的,作者提出了一种列生成方法来处理这一问题。
-
-
变量定义:
-
Hi:数据点 i 不在的半空间集合,即满足 wTxi>b 的半空间。
-
Hd:使用特征 d 的半空间集合。
-
复杂性定义:半空间 h=(w,b) 的复杂性被定义为 ch=∥w∥0+1(非零项数量加一)。
-
决策变量:
-
zhk:二元变量,指示半空间 h 是否用于聚类 k 的多面体描述。
-
ξi:二元变量,表示数据点 i 是否被错误分类。
-
yd:二元变量,表示特征 d 是否在选择的半空间中使用。
-
-
-
优化目标:
-
目标函数分为两部分:
-
第一部分最小化使用的半空间复杂性(对应低复杂度PDP)。
-
第二部分最小化特征的稀疏性(对应稀疏PDP)。
-
-
变量 θ1 和 θ2 控制这两个部分的重要性,允许模型在两者之间进行权衡。
-
-
约束条件:
-
(2) 跟踪假阳性,即数据点被错误包含在其他聚类的多面体中。
-
(3) 跟踪假阴性,即数据点未被包含在其所属聚类的多面体中。
-
(4) 确保只使用选定特征的半空间。
-
(5) 限制未被正确解释的数据点数量(最多为 α)。
-
所有变量均为二元变量(0或1)。
-
-
问题的分类:
-
该优化模型 (1)-(6) 被称为主整数规划(MIP),其线性松弛形式(通过放宽约束 (6) 允许非整数值)称为主线性规划(MLP)。
-
这段文字的核心是提出一种通过整数规划来解决多面体描述问题的方法,关注于如何控制复杂性和稀疏性,同时通过约束条件保证模型的有效性。
2.2 Column Generation 列生成
枚举所有候选半空间的不可行性。 列生成算法的基本思想:动态添加最优候选半空间。 定价问题:寻找具有负减去成本的候选半空间。 定价问题的整数规划模型。
在多面体描述问题(PDP)中如何使用列生成方法来求解主线性规划(MLP),并为每个聚类构建一个定价问题以寻找合适的候选半空间。以下是具体内容的详细分解:
-
问题背景:
-
列举所有可能的半空间是计算上不可行的,因此不能使用标准的分支定界技术来解决 MIP。为此,作者采用列生成方法,通过搜索最佳候选半空间来求解 MLP。
-
-
列生成过程:
-
从一个有限的初始半空间集合H^ 开始,称为限制主线性规划(RMLP)。
-
解决 RMLP 后,利用其最优对偶解来识别缺失的变量(即具有负减少成本的半空间)。
-
如果找到新的半空间,则将其添加到 H^,重复此过程,直到找不到更多具有负减少成本的半空间为止,或者超过计算预算。
-
-
对偶变量定义:
-
定义对偶变量 (μ,γ,ϕ),分别对应于不同约束的对偶值。每个聚类都有独立的定价问题,可以并行解决。
-
-
减少成本计算:
-
使用对偶解计算每个缺失变量的减少成本 )ρ(h,k),这是判断新候选半空间是否值得添加的重要标准。
-
-
定价问题的公式化:
-
目标是最小化新列的减少成本,公式中包括多个决策变量,如 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)公式中,目标是使得最终的整数规划与组的数量线性相关。以下是对该段的分析:
-
超矩形构建:首先,定义每个数据组G的超矩形RG,其边界由组内数据点的最大和最小坐标值确定。超矩形是包含组内所有数据点的最小矩形,这一表示方式有助于简化后续的计算。
-
误分类条件:在新的模型中,如果超矩形的任一部分被误分类,则整个组 G 被视为误分类。这一条件比之前只要组内任一数据点被误分类的条件更严格,但有助于减少定价问题的规模,从而保持计算效率。
-
更新整数规划的约束:在主问题中,定义了两个新的半空间集合:
-
HG+:超矩形不完全位于其中的半空间。
-
HG−:超矩形不完全在其中的半空间。
相关约束也更新为:
-
约束 (17) 和 (18):跟踪分组的误分类情况。
-
约束 (19):将误分类的影响按组的大小进行加权。
-
-
更新定价问题的约束:定价问题的约束也进行了相应更新,以便检查整个超矩形是否正确包含在半空间内。具体更新为:
-
约束 (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的问题求解相对简单,通常可以通过单纯形法或内点法等高效算法解决。
主要区别:
-
变量类型:MIP包含整数和连续变量,而MLP只包含连续变量。
-
复杂性:MIP通常比MLP更复杂和计算密集,因为整数约束使得问题更难以求解。
-
求解方法: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 的求解效率。
相关文章:
Cluster Explanation via Polyhedral Descriptions
通过多面体描述进行聚类解释 本文关注聚类描述问题,即在给定数据集及其聚类划分的情况下,解释这些聚类的任务。我们提出了一种新的聚类解释方法,通过在每个聚类周围构建一个多面体,同时最小化最终多面体的复杂性或用于描述的特征…...
爬虫设计思考之一
爬虫设计思考之一 经常做爬虫的人对于技术比较的执着,尤其是本身从事的擅长的技术领域,从而容易忽视与之相近或者相似的技术。因此我建议大家在遇到此类问题的时候,可以采用对比分析的方式来理解。 本次的思考是基于国内最大的中文搜索引擎百…...
解决centos 删除文件后但空间没有释放
一、问题描述:磁盘空间不足,清理完垃圾日志以后磁盘空间还是没有释放 查看磁盘空间 [rootxwj-qt-65-44 ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G …...
微软SCCM:企业级系统管理的核心工具
目录 摘要 1. 引言 2. SCCM的基本概念 2.1 什么是SCCM? 2.2 SCCM的历史 3. SCCM的架构 3.1 中心服务器 3.2 数据库 3.3 管理点(Management Point) 3.4 分发点(Distribution Point) 3.5 客户端代理 3.6 报告服务 4. SCCM的核心功能 4.1 软件部署与管理 4.2 操…...
RTSP作为客户端 推流 拉流的过程分析
之前写过一个 rtsp server 作为服务端的简单demo 这次分析下 rtsp作为客户端 推流和拉流时候的过 A.作为客户端拉流 TCP方式 1.Client发送OPTIONS方法 Server回应告诉支持的方法 2.Client发送DESCRIPE方法 这里是从海康摄像机拉流并且设置了用户名密码 Server回复未认证 3.客…...
【MySQL 07】内置函数
目录 1.日期函数 日期函数使用场景: 2.字符串函数 字符串函数使用场景: 3.数学函数 4.控制流函数 1.日期函数 函数示例: 1.在日期的基础上加日期 在该日期下,加上10天。 2.在日期的基础上减去时间 在该日期下减去2天 3.计算两…...
《深度学习》OpenCV 背景建模 原理及案例解析
目录 一、背景建模 1、什么是背景建模 2、背景建模的方法 1)帧差法(backgroundSubtractor) 2)基于K近邻的背景/前景分割算法BackgroundSubtractorKNN 3)基于高斯混合的背景/前景分割算法BackgroundSubtractorMOG2 3、步骤 1)初…...
机器学习(1):机器学习的概念
1. 机器学习的定义和相关概念 机器学习之父 Arthur Samuel 对机器学习的定义是:在没有明确设置的情况下,使计算机具有学习能力的研究领域。 国际机器学习大会的创始人之一 Tom Mitchell 对机器学习的定义是:计算机程序从经验 E 中学习&#…...
0. Pixel3 在Ubuntu22下Android12源码拉取 + 编译
0. Pixel3 在Ubuntu22下Android12源码拉取 编译 原文地址: http://www.androidcrack.com/index.php/archives/3/ 1. 前言 这是一个非常悲伤的故事, 因为一个意外, 不小心把之前镜像的源码搞坏了. 也没做版本管理,恢复不了了. 那么只能说是重新做一次. 再者以前的镜像太老旧…...
ip经过多个服务器转发会网速变慢吗
会的,IP经过多个服务器转发时,网速通常会变慢,主要原因包括: 增加的延迟: 每经过一个服务器,数据包就需要额外的时间进行处理和转发。这种处理时间和网络延迟会累积,导致整体延迟增加。 带宽限制…...
mongodb通过mongoimport导入JSON文件数据
目录 一、概念 二、mongoimport导入工具 三、导入命令 一、概念 MongoDB是一个流行的开源文档数据库,它支持JSON格式的文档,非常适合存储和处理大量的非结构化数据。在实际应用中,我们经常需要将大量的数据批量导入到MongoDB中。mongoimpo…...
【Qt】控件概述 (1)
控件概述 1. QWidget核心属性1.1核心属性概述1.2 enable1.3 geometry——窗口坐标1.4 window frame的影响1.4 windowTitle——窗口标题1.5 windowIcon——窗口图标1.6 windowOpacity——透明度设置1.7 cursor——光标设置1.8 font——字体设置1.9 toolTip——鼠标悬停提示设置1…...
ping基本使用详解
在网络中ping是一个十分强大的TCP/IP工具。它的作用主要为: 用来检测网络的连通情况和分析网络速度根据域名得到服务器 IP根据 ping 返回的 TTL 值来判断对方所使用的操作系统及数据包经过路由器数量。我们通常会用它来直接 ping ip 地址,来测试网络的连…...
Win10之解决:设置静态IP后,为什么自动获取动态IP问题(七十八)
简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…...
【AI论文精读1】针对知识密集型NLP任务的检索增强生成(RAG原始论文)
目录 一、简介一句话简介作者、引用数、时间论文地址开源代码地址 二、摘要三、引言四、整体架构(用一个例子来阐明)场景例子:核心点: 五、方法 (架构各部分详解)5.1 模型1. RAG-Sequence Model2. RAG-Toke…...
踩坑spring cloud gateway /actuator/gateway/refresh不生效
版本 java version: 17 spring boot: 3.2.x spring cloud: 2023.0.3 现象 参考Spring Cloud Gateway -> Actuator API -> Refreshing the Route Cache 说明,先修改routes配置再调用/actuator/gateway/refresh,接口返回200 status,但…...
【STM32开发环境搭建】-3-STM32CubeMX Project Manager配置-自动生成一个Keil(MDK-ARM) 5的工程
目录 1 KEIL(MDK-ARM) 5 Project工程设置 2 MCU和嵌入式软件包的选择 3 Code Generator 3.1 STM32Cube Firmware Library Package 3.2 Generated files 3.3 HAL Settings 3.4 Template Settings 4 Advanced Settings 5 自动生成的KEIL(MDK-ARM) 5 Project工程目录 结…...
计算机毕业设计 Java酷听音乐系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...
Java的学习(语法相关)
字符串存储的问题 char 和字符串都是字符的集合,它们之间的确有相似性,但在 Java 中它们有着不同的存储机制和处理方式。让我从 char 和 String 的本质区别入手来解释。 1. char 和 String 的区别 char 是基本类型:char 是 Java 中的基本数据…...
简单的springboot 编写Socket服务接口
简单的springboot 编写Socket服务接口 1.需求 我们项目中有部分老接口为票据接口,其中实现为java socket形式进行实现,但是其中大部分信息都是原始公司封装的包进行实现的,想要修改非常费劲,所以此处简单了解了一下socket&#…...
【Android 源码分析】Activity短暂的一生 -- 目录篇 (持续更新)
1. 前言 忽然有一天,我想要做一件事:去代码中去验证那些曾经被“灌输”的理论。 …...
VS Code使用Git Bash终端
Git Bash可以运行linux命令,在VS Code的终端界面,找到号旁边的箭头,就能直接切换了 当然,前提是安装了Git Bash,并且在资源管理器里,能鼠标右键出"Git Bash Here"...
移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——13.mapset(模拟实现)
1.对红黑树进行改造 1.1treenode模板参数改变 之前构建treenode模板参数传的是class k,class v(set为k,k;map是k,v),现在直接用T代替 template<class T> //这里直接传了T作为模板参数,T可能是pai…...
【C++】多态(下)
个人主页~ 多态(上)~ 多态 四、多态的原理1、虚表的存储位置2、多态的原理3、动态绑定和静态绑定 五、单继承和多继承关系的虚函数表1、单继承中的虚函数表2、多继承中的虚函数表 六、多态中的一些小tips 四、多态的原理 1、虚表的存储位置 class A {…...
基于四种网络结构的WISDM数据集仿真及对比:Resnet、LSTM、Shufflenet及CNN
在上节中,我们已经详细介绍了WISDM数据集及如何使用CNN网络训练,得到了六个维度的模型仿真指标及五个维度的可视化分析,那么现在我们将训练模型推广到其他网路结构中去,通过仿真实验来对比一下不同网络之间对于WISDM数据集的训练效…...
【蚂蚁HR-注册/登录安全分析报告】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…...
【分布式微服务云原生】详解Redis的主从模式,主服务器挂了如何从多个从服务器选出新的主服务器
深入探索Redis主从模式:架构、故障转移与最佳实践 摘要: 本文深入探讨了Redis的主从复制模式,包括其工作原理、故障转移机制以及如何配置和管理这一模式。文章通过清晰的结构和实例代码,帮助读者理解如何在实际项目中应用Redis主…...
Android Context是什么?有很多的context他们之间有什么区别?什么时候该使用哪个?
目录 一、Context是什么? 在Android中,Context是一个抽象类 ,它代表了应用程序的当前状态,包括资源和类加载器等,它提供了一个应用运行所需的信息,比如我们要获取资源 ,那么需要她,…...
数字解调同步技术
一些概念 载波同步 载波同步是一个过程,通过该过程,接收机使其本地载波振荡器的频率和相位与接收信号的频率和相位相适应。 载波相位同步 Carrier Phase Synchronization载波频率同步 Carrier Frequency Synchronization 帧同步 待更新 位同步 待…...
k8s搭建一主三从的mysql8集群---无坑
一,环境准备 1.1 k8s集群服务器 ip角色系统主机名cpumem192.168.40.129mastercentos7.9k8smaster48192.168.40.130node1centos7.9k8snode148192.168.40.131node2centos7.9k8snode248192.168.40.132node3centos7.9k8snode348 k8s集群操作请参考《K8s安装部署&…...
显示隐藏的页wordpress/网站改进建议有哪些
以太坊虚拟机:以太坊中智能合约的运行环境。账户 外部账户 被公钥-私钥对控制合约账户 合约账户被存储在账户中的代码控制外部账户与合约账户区别内部结构消息:类似于比特币上的交易 与比特币交易的不同点以太坊的消息可以由外部实体或者合约创建&…...
文字壁纸做背景处理的网站/seo排名优化是什么意思
本文主要介绍Python3的下载、安装、环境搭建以及运行,后续所讲的Python均指的是Python3。Python的下载安装及环境搭建mp.weixin.qq.com Python可以应用在Win、Linux、Mac等多个平台,如果不确定你的电脑是否已经安装过Python,可以通过快捷键…...
网站推广由什么样的人来做/乐天seo视频教程
客户这边,其中有一张如同上图所示的数据汇总表,然而需求是,需要将这张表数据做一个数据透视表,最后通过数据透视表中的数据,填写至系统数据库。拿到需求,首先就想到肯定不能直接用设计器去操作 Excel&#…...
我要看一集片做网站/网络软文是什么
手机上的文件夹目录全是英文的,是不是很奇怪,咱们不是用的汉字吗?为什么手机里面的文件夹全是英文的,都不知道哪个该删,哪个不该删。不删又不行,手机用久了垃圾又多。 按道理来讲,国产手机应该用…...
毕业设计是做网站设计/人民日报新闻
class“text-center” 设置居中文本class“text-right” 设置向右对齐文本class“text-left” 设置向左对齐文本...
做中学数学教案有哪些好的网站/技能培训班有哪些课程
转载 2017年11月22日 16:06:52 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠运行等一系列问题与挑战。…...