机器学习 第8章-集成学习
机器学习 第8章-集成学习
8.1 个体与集成
集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统(multi-classifersystem)、基于委员会的学习(committee-based learning)等。
图8.1显示出集成学习的一般结构:先产生一组“个体学习器”(individual learner),再用某种策略将它们结合起来。个体学习器通常由一个现有的学习算法从训练数据产生,例如C4.5决策树算法、BP神经网络算法等,此时集成中只包含同种类型的个体学习器,例如“决策树集成中全是决策树,“神经网络集成”中全是神经网络,这样的集成是“同质的(homogeneous)。同质集成中的个体学习器亦称“基学习器”(base learner)相应的学习算法称为“基学习算法”(base learning algorithm)。集成也可包含不同类型的个体学习器,例如同时包含决策树和神经网络,这样的集成是“异质”的(heterogenous)。异质集成中的个体学习器由不同的学习算法生成,这时就不再有基学习算法;相应的,个体学习器一般不称为基学习器,常称为“组件学习器”(component learner)或直接称为个体学习器
集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能。这对“弱学习器”(weak learner)尤为明显,因此集成学习的很多理论研究都是针对弱学习器进行的,而基学习器有时也被直接称为弱学习器。但需注意的是,虽然从理论上来说使用弱学习器集成足以获得好的性能,但在实践中出于种种考虑,例如希望使用较少的个体学习器,或是重用关于常见学习器的一些经验等,人们往往会使用比较强的学习器。
8.2 Boosting
Boosting是一族可将弱学习器提升为强学习器的算法。这族算法的工作机制类似:先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合
Boosting族算法最著名的代表是AdaBoost,其描述如图 8.3 所示,其中 y i ∈ − 1 , + 1 y_i∈{-1,+1} yi∈−1,+1,f是真实函数。
AdaBoost算法有多种推导方式,比较容易理解的是基于“加性模型”(additive model),即基学习器的线性组合
H ( x ) = ∑ t = 1 T α t h t ( x ) H(x)=∑^T_{t=1}\alpha _t h_t (x) H(x)=t=1∑Tαtht(x)
来最小化指数损失函数
l e x p ( H ∣ D ) = E x ∼ D [ e − f ( x ) H ( x ) ] l_{exp}(H|D)=E_{x\sim D}[e^{-f(x)H(x)}] lexp(H∣D)=Ex∼D[e−f(x)H(x)]
若 H ( x ) H(x) H(x)能令指数损失函数最小化,则考虑对 H ( x ) H(x) H(x)的偏导
∂ l e x p ( H ∣ D ) ∂ H ( x ) = − e − H ( x ) P ( f ( x ) = 1 ∣ x ) + e H ( x ) P ( f ( x ) = − 1 ∣ x ) {\partial l_{exp}(H|D)\over \partial H(x)}=-e^{-H(x)}P(f(x)=1|x)+e^{H(x)}P(f(x)=-1|x) ∂H(x)∂lexp(H∣D)=−e−H(x)P(f(x)=1∣x)+eH(x)P(f(x)=−1∣x)
令其为0,可得
H ( x ) = 1 2 l n P ( f ( x ) = 1 ∣ x ) P ( f ( x ) = − 1 ∣ x ) H(x)={1\over 2}ln{P(f(x)=1|x)\over P(f(x)=-1|x)} H(x)=21lnP(f(x)=−1∣x)P(f(x)=1∣x)
则有
s i g n ( H ( x ) ) = a r g m a x y ∈ { − 1 , 1 } P ( f ( x ) = y ∣ x ) sign(H(x))=arg max_{y∈\{-1,1\}}\quad P(f(x)=y|x) sign(H(x))=argmaxy∈{−1,1}P(f(x)=y∣x)
这意味着 sign(H())达到了贝叶斯最优错误率。换言之,若指数损失函数最小化,则分类错误率也将最小化;这说明指数损失函数是分类任务原本0/1损失函数的一致的(consistent)替代损失函数。理想的基学习器为
h t ( x ) = a r g m i n h E x ∼ D t [ I ( f ( x ) ≠ h ( x ) ) ] h_t(x)=\underset{h}{arg\: min}E_{x\sim D_t}[\mathbb{I}(f(x)\neq h(x))] ht(x)=hargminEx∼Dt[I(f(x)=h(x))]
理想的基学习器将在分布 D t D_t Dt下最小化分类误差。
Boosting算法要求基学习器能对特定的数据分布进行学习,这可通过“重赋权法”(re-weighting)实施,即在训练过程的每一轮中,根据样本分布为每个训练样本重新赋予一个权重,对无法接受带权样本的基学习算法,则可通过“重采样法”(re-sampling)来处理,即在每一轮学习中,根据样本分布对训练集重新进行采样,再用重采样而得的样本集对基学习器进行训练。一般而言,这两种做法没有显著的优劣差别。
8.3 Bagging与随机森林
8.3.1 Bagging
Bagging[Breiman,1996a]是并行式集成学习方法最著名的代表。从名字即可看出,它直接基于自助采样法(bootstrap sampling)给定包含m个样本的数据集,我们先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中,这样,经过m次随机采样操作,我们得到含m个样本的采样集,初始训练集中有的样本在采样集里多次出现,有的则从未出现。
照这样,我们可采样出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。这就是Bagging的基本流程。在对预测输出进行结合时,Bagging 通常对分类任务使用简单投票法,对回归任务使用简单平均法。若分类预测时出现两个类收到同样票数的情形,则最简单的做法是随机选择一个,也可进一步考察学习器投票的置信度来确定最终胜者。Bagging 的算法描述如图8.5所示
从偏差-方差分解的角度看,Bagging 主要关注降低方差,因此它在不剪枝决策树、神经网络等易受样本扰动的学习器上效用更为明显。
8.3.2 随机森林
随机森林(Random Forest,简称RF)是Bagging 的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。具体来说,传统决策树在选择划分属性时是在当前结点的属性集合(假定有d个属性)中选择一个最优属性;而在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。这里的参数k控制了随机性的引入程度:若令 k = d k=d k=d,则基决策树的构建与传统决策树相同若令 k = 1 k=1 k=1,则是随机选择一个属性用于划分;一般情况下,推荐值 k = l o g 2 d k=log_2d k=log2d
随机森林简单、容易实现、计算开销小,令人惊奇的是,它在很多现实任务中展现出强大的性能,被誉为“代表集成学习技术水平的方法”。可以看出随机森林对 Bagging 只做了小改动,但是与 Bagging 中基学习器的“多样性”仅通过样本扰动(通过对初始训练集采样)而来不同,随机森林中基学习器的多样性不仅来自样本扰动,还来自属性扰动,这就使得最终集成的泛化性能可通过个体学习器之间差异度的增加而进一步提升。
随机森林的收敛性与 Bagging相似。但随机森林的训练效率常优于Bagging,因为在个体决策树的构建过程中,Bagging使用的是“确定型”决策树,在选择划分属性时要对结点的所有属性进行考察而随机森林使用的“随机型”决策树则只需考察一个属性子集
8.4 组合策略
学习器结合可能会从三个方面带来好处:
首先,从统计的方面来看,由于学习任务的假设空间往往很大,可能有多个假设在训练集上达到同等性能,此时若使用单学习器可能因误选而导致泛化性能不佳,结合多个学习器则会减小这一风险;
第二,从计算的方面来看,学习算法往往会陷入局部极小,有的局部极小点所对应的泛化性能可能很糟糕,而通过多次运行之后进行结合,可降低陷入糟糕局部极小点的风险;
第三,从表示的方面来看,某些学习任务的真实假设可能不在当前学习算法所考虑的假设空间中,此时若使用单学习器则肯定无效,而通过结合多个学习器,由于相应的假设空间有所扩大,有可能学得更好的近似。图8.8给出了一个直观示意图,
假定集成包含 T T T个基学习器 h 1 , h 2 , . . . , h T {h_1,h_2,...,h_T} h1,h2,...,hT,其中 h i h_i hi在示例 x x x上的输出为 h i ( x ) h_i(x) hi(x)。本节介绍几种对 h i h_i hi进行结合的常见策略
8.4.1 平均法
对数值型输出 h;(æ)€R,最常见的结合策略是使用平均法(averaging)
其中
简单平均法
H ( x ) = 1 T ∑ i = 1 T h i ( x ) H(x)={1\over T}∑^T_{i=1}h_i(x) H(x)=T1i=1∑Thi(x)
加权平均法
H ( x ) = ∑ i = 1 T w i h i ( x ) H(x)=∑^T_{i=1}w_ih_i(x) H(x)=i=1∑Twihi(x)
其中 w i w_i wi是个体学习器 h i h_i hi的权重,通常要求 w i ≥ 0 , ∑ i = 1 T w i = 1 w_i≥0,∑^T_{i=1}wi=1 wi≥0,∑i=1Twi=1
8.4.2 投票法
对分类任务来说,学习器 h i h_i hi将从类别标记集合 { c 1 , c 2 , . . . , c N } \{c_1,c_2,...,c_N\} {c1,c2,...,cN}中预测出1个标记,最常见的结合策略是使用投票法(voting)
为便于讨论,我们将 h i h_i hi;在样本 x x x上的预测输出表示为一个 N N N维向量 ( h i 1 ( x ) ; h i 2 ( x ) ;。。。; h i N ( x ) ) (h^1_i(x);h^2_i(x);。。。;h^N_i(x)) (hi1(x);hi2(x);。。。;hiN(x)),其中 h i j ( x ) h^j_i(x) hij(x)是 h i h_i hi在类别标记 c j c_j cj上的输出。
绝对多数投票法
H ( x ) = { c j i f ∑ i = 1 T h i j ( x ) > 0.5 ∑ k = 1 N ∑ i = 1 T h i k ( x ) r e j e c t o t h e r w i s e H(x)=\begin{cases} c_j& if \quad ∑^T_{i=1}h^j_i(x)>0.5∑^N_{k=1}∑^T_{i=1}h^k_i(x)\\ reject& otherwise \end{cases} H(x)={cjrejectif∑i=1Thij(x)>0.5∑k=1N∑i=1Thik(x)otherwise
即若某标记得票过半数,则预测为该标记:否则拒绝预测
相对多数投票法
H ( x ) = c a r g m a x j ∑ i = 1 T h i j ( x ) H(x)=c_{argmax_j∑^T_{i=1}h^j_i(x)} H(x)=cargmaxj∑i=1Thij(x)
即预测为得票最多的标记,若同时有多个标记获最高票,则从中随机选取一个
加权投票法
H ( x ) = c a r g m a x j ∑ i = 1 T w i h i j ( x ) H(x)=c_{argmax_j∑^T_{i=1}w_ih^j_i(x)} H(x)=cargmaxj∑i=1Twihij(x)
与加权平均法类似, w i w_i wi是 h i h_i hi的权重,通常 w i ≥ 0 w_i≥0 wi≥0, ∑ i = 1 T w i = 1 ∑^T_{i=1}w_i=1 ∑i=1Twi=1
8.4.3 学习法
当训练数据很多时,一种更为强大的结合策略是使用“学习法”,即通过另一个学习器来进行结合。Stacking是学习法的典型代表。这里我们把个体学习器称为初级学习器,用于结合的学习器称为次级学习器或元学习器(meta-learner)
Stacking 先从初始数据集训练出初级学习器,然后“生成”一个新数据集用于训练次级学习器。在这个新数据集中,初级学习器的输出被当作样例输入特征,而初始样本的标记仍被当作样例标记。Stacking的算法描述如图8.9所示,这里我们假定初级学习器使用不同学习算法产生,即初级集成是异质的。
次级学习器的输入属性表示和次级学习算法对Stacking集成的泛化性能有很大影响。
贝叶斯模型平均(Bayes Model Averaging,简称 BMA)基于后验概率来为不同模型赋予权重,可视为加权平均法的一种特殊实现。对Stacking和BMA 进行了比较,理论上来说,若数据生成模型恰在当前考虑的模型中,且数据噪声很少,则 BMA 不差于 Stacking;然而,在现实应用中无法确保数据生成模型一定在当前考虑的模型中,甚至可能难以用当前考虑的模型来进行近似,因此,Stacking通常优于 BMA,因为其鲁棒性比 BMA 更好,而且BMA 对模型近似误差非常敏感。
8.5 多样性
8.5.1 误差-分歧分解
对示例 x x x,定义学习器 h i h_i hi 的"分歧" (arnbiguity)为
A ( h i ∣ x ) = ( h i ( x ) − H ( x ) ) 2 A(h_i|x)=(h_i(x)-H(x))^2 A(hi∣x)=(hi(x)−H(x))2
则集成的"分歧"是
A ˉ ( h ∣ x ) = ∑ i = 1 T w i A ( h i ∣ x ) = ∑ i = 1 T w i ( h i ( x ) − H ( x ) ) 2 \bar{A}(h|x)=\sum _{i=1}^{T}w_iA(h_i|x)=\sum_{i=1}^{T}w_i(h_i(x)-H(x))^2 Aˉ(h∣x)=i=1∑TwiA(hi∣x)=i=1∑Twi(hi(x)−H(x))2
这里的“分歧”项表征了个体学习器在样本。上的不一致性,即在定程度上反映了个体学习器的多样性。
8.5.2 多样性度量
多样性度量(diversity measure)是用于度量集成中个体分类器的多样性,即估算个体学习器的多样化程度,典型做法是考虑个体分类器的两两相似/不相似性。
给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) ,。。。, ( x m , y m ) } D =\{(x_1,y_1),(x_2,y_2),。。。,(x_m,y_m)\} D={(x1,y1),(x2,y2),。。。,(xm,ym)},对二分类任务, y i ∈ − 1 , + 1 y_i ∈{-1,+1} yi∈−1,+1,分类器 hi与h,的预测结果列联表(contingency table)为
其中,a表示 h i h_i hi与 h j h_j hj均预测为正类的样本数目;b、c、d含义由此类推: a + b + c + d = m a+b+c+d=m a+b+c+d=m。基于这个列联表,下面给出一些常见的多样性度量
不合度量
d i s i j = b + c m , dis_{ij}=\frac{b+c}{m}, disij=mb+c,
d i s i j dis_{ij} disij的值域为[0,1]。值越大则多样性越大
相关系数
ρ i j = a d − b c ( a + b ) ( a + c ) ( c + d ) ( b + d ) \rho _{ij}=\frac{ad-bc}{\sqrt{(a+b)(a+c)(c+d)(b+d)}} ρij=(a+b)(a+c)(c+d)(b+d)ad−bc
pij的值域为[-1,1]。若h与h;无关,则值为0;若h与h正相关则值为正,否则为负
Q-统计量 Q i j = a d − b c a d + b c Q_{ij}=\frac{ad-bc}{ad+bc} Qij=ad+bcad−bc;
k-统计量 κ = p 1 − p 2 1 − p 2 \kappa =\frac{p_1-p_2}{1-p_2} κ=1−p2p1−p2。
8.5.3 多样性增强
在集成学习中需有效地生成多样性大的个体学习器。与简单地直接用初始数据训练出个体学习器相比,如何增强多样性呢?一般思路是在学习过程中弓入随机性,常见做法主要是对数据样本、输入属性、输出表示、算法参数进行扰动。
数据样本扰动
给定初始数据集,可从中产生出不同的数据子集,再利用不同的数据子集训练出不同的个体学习器。数据样本扰动通常是基于采样法,例如在Bagging中使用自助采样,在AdaBoost中使用序列采样。此类做法简单高效,使用最广。对很多常见的基学习器,例如决策树、神经网络等,训练样本稍加变化就会导致学习器有显著变动,数据样本扰动法对这样的“不稳定基学习器”很有效;然而,有一些基学习器对数据样本的扰动不敏感,例如线性学习器、支持向量机、朴素贝叶斯、k近邻学习器等,这样的基学习器称为稳定基学习器(stablebase learner),对此类基学习器进行集成往往需使用输入属性扰动等其他机制
输入属性扰功
训练样本通常由一组属性描述,不同的“子空间”(subspace,即属性子集)提供了观察数据的不同视角。显然,从不同子空间训练出的个体学习器必然有所不同。著名的随机子空间(random subspace)算法|Ho,1998]就依赖于输)属性扰动,该算法从初始属性集中抽取出若干个属性子集,再基于每个属性子集训练一个基学习器,算法描述如图8.11所示。对包含大量冗余属性的数据在子空间中训练个体学习器不仅能产生多样性大的个体,还会因属性数的减少而大幅节省时间开销,同时,由于冗余属性多,减少一些属性后训练出的个体学习器也不至于太差。若数据只包含少量属性,或者冗余属性很少,则不宜使用输入属性扰动法。
输出表示扰动
此类做法的基本思路是对输出表示进行操纵以增强多样性。可对训练样本的类标记稍作变动,如“翻转法”(Flipping Output)随机改变一些训练样本的标记;也可对输出表示进行转化,如“输出调制法”(OutputSmearing)[Breiman,2000|将分类输出转化为回归输出后构建个体学习器还可将原任务拆解为多个可同时求解的子任务,如ECOC法利用纠错输出码将多分类任务拆解为一系列二分类任务来训练基学习器
算法参数扰动
基学习算法一般都有参数需进行设置,例如神经网络的隐层神经元数、初始连接权值等,通过随机设置不同的参数,往往可产生差别较大的个体学习器
例如“负相关法”(Negative Correlation)显式地通过正则化项来强制个体神经网络使用不同的参数。对参数较少的算法,可通过将其学习过程中某些环节用其他类似方式代替,从而达到扰动的目的,例如可将决策树使用的属性选择机制替换成其他的属性选择机制。值得指出的是,使用单一学习器时通常需使用交叉验证等方法来确定参数值,这事实上已使用了不同参数训练出多个学习器,只不过最终仅选择其中一个学习器进行使用,而集成学习则相当于把这些学习器都利用起来:由此也可看出,集成学习技术的实际计算开销并不比使用单一学习器大很多。
不同的多样性增强机制可同时使用,例如8.3.2节介绍的随机森林中同时使用了数据样本扰动和输入属性扰动,有些方法甚至同时使用了更多机制。
相关文章:
机器学习 第8章-集成学习
机器学习 第8章-集成学习 8.1 个体与集成 集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统(multi-classifersystem)、基于委员会的学习(committee-based learning)等。 图8.1显示出集成学习的一般结构:先产生一组“…...
Docker 安装 GitLab教程
本章教程,主要介绍如何在Docker 中安装GitLab。 GitLab 是一个开源的 DevOps 平台,提供了一整套工具,用于软件开发生命周期的各个阶段,从代码管理到 CI/CD(持续集成和持续交付/部署),再到监控和安全分析。 一、拉取镜像 docker pull gitlab/gitlab-ce:latest二、创建 G…...
如何在生产环境中千万表添加索引并保证数据一致性
技术分享文档:如何在生产环境中千万表添加索引并保证数据一致性 目录 引言添加索引的挑战解决方案概述详细步骤 4.1 创建新表并添加索引 4.2 批量导入数据 4.3 处理增量数据 4.4 表名切换确保数据一致性 5.1 暂停写操作 5.2 记录增量数据 5.3 应用增量数据设置回滚…...
Uni-APP页面跳转问题(十六)
【背景】最近在做公司一个PAD端,谁被点检功能,主要时为了移动端点检设备和打印标签,需求比较简单就是扫描设备二维码,问题在于扫描后要能够重复进行多设备的扫描;早期开发的设备点检能够满足需求但是当连续扫描五六十个设备后,APP卡死,必须重启才能使用。 界面原图: 输…...
Java新特性(二) Stream与Optional详解
Java8新特性(二) Stream与Optional详解 一. Stream流 1. Stream概述 1.1 基本概念 Stream(java.util.stream) 是Java 8中新增的一种抽象流式接口,主要用于配合Lambda表达式提高批量数据的计算和处理效率。Stream不是…...
springboot系列教程(三十一):springboot整合Nacos组件,环境搭建和入门案例详解
一、Nacos基础简介 1、概念简介 Nacos 是构建以“服务”为中心的现代应用架构,如微服务范式、云原生范式等服务基础设施。聚焦于发现、配置和管理微服务。Nacos提供一组简单易用的特性集,帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管…...
Traefik系列
一、入门Traefik系列——基础简介 官方文档 https://doc.traefik.io/traefik/[1] 简介 Traefik是一个为了让部署微服务更加便捷而诞生的现代HTTP反向代理、负载均衡工具。它支持多种后台 (Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Re…...
【力扣】3128. 直角三角形 JAVA
一、题目描述 给你一个二维 boolean 矩阵 grid 。 请你返回使用 grid 中的 3 个元素可以构建的 直角三角形 数目,且满足 3 个元素值 都 为 1 。 注意: 如果 grid 中 3 个元素满足:一个元素与另一个元素在 同一行,同时与第三个元素…...
如何全面提升企业安全意识
引言 在当今数字化和信息化的时代,网络安全已成为企业运营不可忽视的核心问题。员工的安全意识直接关系到企业的数据安全和整体网络防护能力。即使企业采用了先进的安全技术,如果员工缺乏足够的安全意识,仍然容易成为攻击者的突破口。本文将…...
全球支持与无界服务:跨越地域的数据采集与分析
在当今企业运营中,IT 监控系统的全球支持和无界服务变得至关重要。随着企业业务的全球化扩展,传统的监控工具往往因地域限制而无法满足全球统一监控的需求。观测云通过其全球部署的数据采集点和多语言支持,确保了无论数据产生于何处ÿ…...
Java面试八股之简述spring boot的目录结构
简述spring boot的目录结构 Spring Boot 项目遵循标准的 Maven 或 Gradle 项目布局,并且有一些约定的目录用于组织不同的项目组件。下面是一个典型的 Spring Boot 项目目录结构: src/main/java:包含所有的 Java 源代码,通常按包组…...
python == 与 is区别
刷到一个面试题 python中 与 is 的区别 根据以往的经验,这个问题应该考察的是运算符根据地址 还是值进行比较的 s1 [a] s2 [a] s3 s1 print(s1 s2) # True 值相等 print(s1 s3) # True 值相等 print(s1 is s2) # False 值相等,引用地址不相…...
STM32学习笔记1---LED,蜂鸣器
目录 GPIO LED 蜂鸣器 RCC外设 GPIO外设 总概 操作STM32的GPIO 代码 LED闪烁 LED流水灯 蜂鸣器! 连接方式 GPIO GPIO输出:向外驱动控制 GPIO输入:读取,捕获(信息)(控制)…...
动手学强化学习 第 15 章 模仿学习 训练代码
基于 https://github.com/boyu-ai/Hands-on-RL/blob/main/%E7%AC%AC15%E7%AB%A0-%E6%A8%A1%E4%BB%BF%E5%AD%A6%E4%B9%A0.ipynb 理论 模仿学习 修改了警告和报错 运行环境 Debian GNU/Linux 12 Python 3.9.19 torch 2.0.1 gym 0.26.2 运行代码 #!/usr/bin/env pythonimpor…...
第一阶段面试问题(前半部分)
1. 进程和线程的概念、区别以及什么时候用线程、什么时候用进程? (1)线程 线程是CPU任务调度的最小单元、是一个轻量级的进程 (2)进程 进程是操作系统资源分配的最小单元 进程是一个程序动态执行的过程,包…...
《数学教学通讯》是一本怎样的刊物?投稿难吗?
《数学教学通讯》是一本怎样的刊物?投稿难吗? 《数学教学通讯》是一本具有较高学术价值的教育类刊物。它创刊于 1979 年,由西南大学主管,西南大学数学与统计学院、重庆市数学学会主办,出版周期为旬刊。该刊物在国内外…...
<机器学习> K-means
K-means定义 K-means 是一种广泛使用的聚类算法,旨在将数据集中的点分组为 K 个簇(cluster),使得每个簇内的点尽可能相似,而不同簇的点尽可能不同。K-means 算法通过迭代的方式,逐步优化簇的分配和簇的中心…...
我们如何优化 Elasticsearch Serverless 中的刷新成本
作者:来自 Elastic Francisco Fernndez Castao, Henning Andersen 最近,我们推出了 Elastic Cloud Serverless 产品,旨在提供在云中运行搜索工作负载的无缝体验。为了推出该产品,我们重新设计了 Elasticsearch,将存储与…...
MySQL半同步复制
1.MySQL主从复制模式 1.1异步复制 异步复制为 MySQL 默认的复制模式,指主库写 binlog、从库 I/O 线程读 binlog 并写入 relaylog、从库 SQL 线程重放事务这三步之间是异步的。 异步复制的主库不需要关心备库的状态,主库不保证事务被传输到从库…...
[一本通提高数位动态规划]数字游戏:取模数题解
[一本通提高数位动态规划]数字游戏:取模数题解 1前言2问题3状态的设置4数位dp-part1预处理5数位dp-part2利用状态求解6代码7后记 1前言 本文为数字游戏:取模数的题解 需要读者对数位dp有基础的了解,建议先阅读 论数位dp–胎教级教学 B3883 […...
[Day 39] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
區塊鏈的安全性分析 區塊鏈技術已經成為現代數字經濟的一個重要組成部分,提供了去中心化、透明和不可篡改的數據存儲與交易系統。然而,隨著區塊鏈技術的廣泛應用,其安全性問題也日益受到關注。本篇文章將詳細探討區塊鏈技術的安全性…...
OpenStack入门体验
一、云计算概述 1.1什么是云计算 云计算(cloud computing)是一种基于网络的超级计算模式,基于用户的不同需求,提供所需的资源,包括计算资源、存储资源、网络资源等。云计算服务运行在若干台高性能物理服务器之上,提供每秒 10万亿次的运算能力…...
预测未来 | MATLAB实现RF随机森林多变量时间序列预测未来-预测新数据
预测未来 | MATLAB实现RF随机森林多变量时间序列预测未来-预测新数据 预测效果 基本介绍 随机森林属于 集成学习 中的 Bagging(Bootstrap AGgregation 的简称) 方法。如果用图来表示他们之间的关系如下: 随机森林是由很多决策树构成的,不同决策树之间没有关联。当我们进行…...
iOS 系统提供的媒体资源选择器(UIImagePickerController)
简介 图片或者视频的选择功能几乎是每个APP必不可少的,UIImagePickerController 是 iOS 系统提供的一个方便的媒体选择器,允许用户从照片库中选择图片或视频,或者使用相机拍摄新照片和视频。 它的页面简单易用,代码稳定可靠&…...
电脑如何扩展硬盘分区?告别空间不足困扰
在数字化时代,电脑硬盘的存储空间显得愈发重要。随着个人文件、应用程序和系统更新的不断累积,原有的硬盘分区可能很快就会被填满。为了解决这个问题,扩展硬盘分区成为了一个非常实用的方法。那么,电脑如何扩展硬盘分区呢…...
论文阅读:Mammoth: Building math generalist models through hybrid instruction tuning
Mammoth: Building math generalist models through hybrid instruction tuning https://arxiv.org/pdf/2309.05653 MAmmoTH:通过混合指令调优构建数学通才模型 摘要 我们介绍了MAmmoTH,一系列特别为通用数学问题解决而设计的开源大型语言模型&#…...
什么样的双筒式防爆器把煤矿吸引?
什么样的双筒式防爆器把煤矿吸引?要有好的服务和态度,要用心去聆听客户的需求,去解决客户的疑虑,用诚信去赢得客户的信任。 150产品的技术特点 双筒式防爆器采用双罐结构,其水封水位观测直观、能够快速有效排污、操作…...
如何保证冰河AL0 400G 100W 的稳定运行?
要保证冰河 AL0 400G 100w 的稳定运行,可以考虑以下几点: 1. 适宜的工作环境:确保设备放置在通风良好、温度适宜的环境中。良好的散热条件有助于防止设备过热,因为过热可能会导致性能下降或故障。该设备采用纯铝合金外壳…...
剪画小程序:巴黎奥运会,从画面到声音!
在巴黎奥运会的赛场上,每一个瞬间都伴随着独特的声音。那是观众的欢呼,是运动员冲刺的呐喊,是国歌奏响的激昂旋律。 如今,通过剪画音频提取,我们能够将这些珍贵的声音从精彩的画面中分离出来,单独珍藏。 想…...
【leetcode详解】心算挑战: 一题搞懂涉及奇偶数问题的 “万金油” 思路(思路详解)
前记: 做了几日的leetcode每日一题,几乎全是十分钟结束战斗的【中等】题,今日杀出来个【简单】题,反倒开始难以想出很清楚的解题思路,反复调试修改才将题目逐渐考虑全面,看到了原本思路的漏洞,…...
五分钟自己创建网站的方法/优化设计电子课本下载
简介: 1.RTMP(实时消息传输协议)是Adobe 公司开发的一个基于TCP的应用层协议。 2.RTMP协议中基本的数据单元称为消息(Message)。 3.当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块ÿ…...
如何做网站的下载的二维码/谷歌搜索引擎
查看thinkphp版本号方法php打开文件“根目录\ThinkPHP\ThinkPHP.php”下的文件ThinkPHP.php,在22--23行能够看到版本信息THINK_VERSION,以下图:css说明:此方法不破坏原有的Thinkphp框架,对之后框架升级没影响,而且能够…...
模板网站建设平台/如何把网站推广出去
很多同学兴许有这样的烦恼,就是对于自己文件夹中的相似的图片想删除,可是奈何图片太多,所以手动删除太浪费时间了,那么今天学到这段代码,就不需要手动了。 如下是我对视频截取的一些帧,我通过算法将这些相似…...
商业网站开发 流程/如何提高搜索引擎优化
按照微软的计划,Edge在Windows 10的部署应当算是公司发展迈出的重要一步,不过新的研究结果可能会让这个计划变得不那么顺利。据悉,Edge的InPrivate(隐私)可能并没有看起来那么隐私。根据Ashish Singh的研究了解到,InPrivate下的访…...
杭seo网站建设排名/佛山优化网站关键词
无论你如何将Hadoop与Spark进行对比,无论Spark生态多么成熟和完善,其底层终归要基于HDFS,毕竟这是目前最成熟的分布式底层文件系统,几乎没有哪家公司愿意重新花费精力研发一个全新的文件系统。本文将讨论Hadoop分布式文件系统(HDF…...
做民宿要给网站多少合同钱/网络推广seo怎么弄
文末送书这本被称为“人工智能领域标准教科书”的《人工智能:现代方法》就无愧于“巨著”这两个字。这是一本在全球范围内享有盛誉,134个国家或地区的1500多所高校高度认可的,被公认为是“人工智能领域最好的”教科书。伴随着人工智能的爆炸式…...