Applied Soft Computing Journal, 2019
提升集成学习:在多样性和准确性之间找到平衡
集成学习,就像一个团队合作,将多个“学习者”的预测结果结合起来,以期获得比单个学习者更准确的结果。然而,集成学习中一直存在一个挑战:如何平衡学习者之间的多样性和个体准确性?通常,多样性越高,个体准确性就越低,反之亦然。为了解决这一问题,西安电子科技大学的研究人员提出了一种新的加权集成学习方法,通过将多个学习器的组合转化为线性变换,并通过最大化多样性和个体准确性来获得最佳权重,从而在两者之间取得平衡。这项研究发表在《应用软计算杂志》上,为集成学习领域带来了新的思路。
论文总结
<研究背景与目的>
集成学习是一种将多个学习器的预测结果结合起来以提高预测性能的技术。然而,集成学习中存在一个挑战:如何平衡学习者之间的多样性和个体准确性。通常,多样性越高,个体准确性就越低,反之亦然。为了解决这一问题,该论文提出了一个新的加权集成学习方法,旨在同时最大化多样性和个体准确性。
<创新点>
该论文的主要创新点在于:
- 将多个学习器的组合转化为对所有学习器的线性变换,并将最佳权重解释为线性变换的最佳投影方向。
- 在目标函数中加入一个明确的多样性度量,以同时最小化集成误差和最大化多样性。
- 采用交替方向乘子法(ADMM)有效地求解目标函数。
<结论>
该论文提出的加权集成学习方法在UCI数据集和人脸图像数据集上的实验结果表明,与其他集成方法相比,该方法有效地提高了分类性能。
<实验内容>
该论文在30个UCI数据集和人脸图像数据集上进行了实验,并将该方法与其他七种集成方法进行了比较,包括Bagging、AdaBoost、WMV、NBC、EVEN、MDM和SCANN。实验结果表明,该方法在大多数数据集上取得了最佳性能。
<对本领域的贡献>
该论文提出了一个新的加权集成学习框架,为平衡集成学习中的多样性和个体准确性提供了新的思路。该方法可以应用于各种机器学习任务,如图像分类、人脸识别和医学图像分析等。
<主要定理>
该论文没有提出新的定理,但它基于线性变换和优化理论,推导出了一个新的目标函数,并采用ADMM算法进行求解。
<存在的不足>
该论文也存在一些不足,例如:
- 该方法的计算复杂度较高,特别是当学习器的数量很大时。
- 该方法在某些数据集上存在过拟合问题。
<未来的工作>
未来的工作可以集中在以下几个方面:
- 采用其他优化方法或改变约束条件,以提高该方法的效率和泛化能力。
- 将该方法扩展到其他类型的集成学习任务,如回归和聚类等。
- 研究如何根据具体问题设计不同的目标函数和优化算法。
总而言之,该论文提出的加权集成学习方法为集成学习领域带来了新的思路,并具有较好的应用前景。未来的工作可以进一步提高该方法的效率和泛化能力,并将其扩展到更广泛的应用领域。
论文内容梳理
- 绪论
介绍集成学习的概念和应用。
指出集成学习中多样性和个体准确性之间的矛盾。
提出一种新的加权集成学习方法,旨在同时最大化多样性和个体准确性。
- 背景
概述集成学习中组合多个学习器的通用形式。
以多个分类器的集成为例,说明权重向量在组合学习器中的重要性。
- 变换集成学习方法
将组合多个学习器的过程转换为对所有学习器的线性变换。
将最佳权重向量解释为线性变换的最佳投影方向。
设计一个约束规划,通过最小化集成误差和最大化多样性来获得最佳投影方向。
采用交替方向乘子法(ADMM)求解目标函数。
- 实验和分析
在30个UCI数据集和人脸图像数据集上进行实验,并将该方法与其他七种集成方法进行比较。
实验结果表明,该方法在大多数数据集上取得了最佳性能。
讨论了该方法在不同学习器数量下的性能,以及如何选择最佳学习器数量。
- 结论和未来工作
总结该方法的优缺点。
展望未来的研究方向。
附录:算法
详细描述了变换集成学习算法的步骤。
希望这个梳理能够帮助您快速找到论文中的相关信息。
此外,您还可以参考以下关键词来查找相关信息:
- 集成学习
- 线性变换
- 多样性
- 个体准确性
- 加权集成
- 交替方向乘子法
论文中算法的具体步骤
论文中提出的变换集成学习 (TrEnL) 算法的具体步骤如下:
输入:
- 训练集 X = [ (x1, y1), ..., (xN, yN)],其中 N 是样本数量,yi 是样本 xi 的类别标签。
- 学习器数量 L。
- 平衡多样性和分类误差的参数 λ。
- 拉格朗日乘子 v0 和 u0。
- 惩罚参数 σ。
- 停止迭代的误差阈值 Emin。
- 最大迭代次数 T。
输出:
- 学习器的权重向量 w。
算法步骤:
- 生成个体学习器:
- 使用集成策略 Enstrategy(•) 从训练集 X 中随机抽取 L 个子集。
- 使用学习算法 Learner(•) 在每个子集上训练一个学习器 Li。
- 使用训练好的学习器 Li 对训练集 X 中的每个样本进行预测,得到预测向量 hi。
- 计算矩阵 Q 和 D:
- 根据预测向量 hi 计算每个学习器 Li 的性能向量 qi,其中 qi 的每个元素 qin 表示 Li 是否正确分类了样本 xn。
- 根据所有学习器的性能向量 qi 计算多样性矩阵 D,其中 D 的每个元素 dij 表示学习器 Li 和 Lj 在训练集 X 上分类结果不同的样本比例。
- 计算矩阵 A 和向量 b:
- 计算矩阵 A = 1/N QTQ,其中 QT 是 Q 的转置矩阵。
- 计算向量 b = 1/N QTp,其中 p 是一个辅助向量,表示每个样本被正确分类的期望概率。
- 初始化参数:
- 随机初始化拉格朗日乘子 v0 和 u0,以及惩罚参数 σ。
- 设置迭代次数 k = 1。
- 迭代优化:
- 当 Estop > Emin 且 k < T 时,重复以下步骤:
- 使用公式 (17) 计算权重向量 w(k+1)。
- 使用公式 (18) 更新拉格朗日乘子 v(k+1) 和 u(k+1)。
- 使用公式 (21) 更新辅助向量 p(k+1)。
- 使用公式 (22) 更新拉格朗日乘子 γ(k+1)。
- 使用公式 (23) 计算约束条件的误差 Estop。
- 迭代次数 k = k + 1。
- 当 Estop > Emin 且 k < T 时,重复以下步骤:
- 返回权重向量 w。
注意:
- 算法中的 Enstrategy(•) 和 Learner(•) 分别表示集成策略和学习算法,可以根据具体问题进行选择。
- 算法中的参数 λ、v0、u0、σ、Emin 和 T 可以根据具体问题进行调整。
希望这个详细的步骤描述能够帮助您理解 TrEnL 算法。
迭代优化步骤详解
迭代优化 是 TrEnL 算法的核心步骤,用于求解目标函数 (13) 中的最佳权重向量 w 和辅助向量 p。该步骤采用交替方向乘子法 (ADMM) 进行优化,具体步骤如下:
1. 固定 p,更新 w:
当 p 固定时,目标函数 (13) 可以简化为:
minw w^T (A - λD) w - 2b^T w
s.t. ∑i^L wi = 1, wi > 0
其中:
- A = 1/N * QTQ,Q 是学习器的性能矩阵,N 是样本数量。
- D 是多样性矩阵。
- λ 是平衡多样性和分类误差的参数。
- b = 1/N * QTp,p 是辅助向量。
这是一个带约束的二次规划问题,可以使用拉格朗日乘子法将其转换为无约束问题。引入拉格朗日乘子 v 和 u,得到拉格朗日函数:
Ξ(w, v, u, σ) = F(w) - vh(w) + σ/2 h^2(w) + 1/(2σ) ∑i^L { [max(0, ui - σgi(w))]^2 - ui^2 }
其中:
- F(w) = w^T (A - λD) w - 2b^T w 是目标函数。
- h(w) = 1^T w - 1 是等式约束条件。
- g_i(w) = ei^T w 是不等式约束条件,ei 是第 i 个元素为 1,其余元素为 0 的向量。
- σ 是惩罚参数。
对拉格朗日函数 Ξ(w, v, u, σ) 求导,并令导数为 0,得到 w 的更新公式:
w(k+1) = (A - λD + σ11^T + ∑i^L σZ(τi)eiei^T)^(-1) (b + v(k)1 + σ1 + ∑i^L ui(k)Z(τi)ei)
其中:
- k 是迭代次数。
- Z(τ_i) = (τ_i)+ 是一个截断函数,τ_i = u_i - σgi(w)。
2. 固定 w,更新 p:
当 w 固定时,目标函数 (13) 可以简化为:
min_p -2/N p^TQw + 1/N p^Tp
s.t. 0.5 < pn ≤ 1, n = 1, 2, ..., N
这也是一个带约束的二次规划问题,同样可以使用拉格朗日乘子法将其转换为无约束问题。引入拉格朗日乘子 γ,得到拉格朗日函数:
L(p, γ) = -2/N p^TQw + 1/N p^Tp + γ^T(p - 1)
对拉格朗日函数 L(p, γ) 求导,并令导数为 0,得到 p 的更新公式:
u(k+1) = Qw(k+1) - γ(k)
p(k+1) = (u(k+1) - 0.5 * 1)_+
其中:
- (•)_+ 表示取正操作。
3. 更新拉格朗日乘子:
使用以下公式更新拉格朗日乘子 v 和 u:
v(k+1) = v(k) - σ(1^T w(k+1) - 1)
u_i(k+1) = max(0, u_i(k) - σe_i^T w(k+1))
使用以下公式更新拉格朗日乘子 γ:
γ(k+1) = γ(k) - (p(k+1) - 1)
4. 计算约束条件的误差:
使用以下公式计算约束条件的误差 Estop:
Estop = sqrt((1^T w(k) - 1)^2 + ∑i^L (max(e_i^T w(k), -u_i(k)/σ))^2)
5. 判断是否停止迭代:
如果 Estop 小于阈值 Emin 或者迭代次数 k 大于最大迭代次数 T,则停止迭代,否则继续执行步骤 1 到 4。
注意:
- 以上公式中的 k 表示迭代次数。
- 实际应用中,可以根据具体问题调整参数和停止条件。
希望这个详细的步骤描述能够帮助您理解 TrEnL 算法的迭代优化过程。
计算矩阵 A 和向量 b 的原理
在 TrEnL 算法中,矩阵 A 和向量 b 用于更新权重向量 w。它们是这样计算的:
- 矩阵 A = 1/N * QTQ
其中:
- N 是训练样本的数量。
- Q 是学习器的性能矩阵,其大小为 N x L,其中 L 是学习器的数量。
- QT 是 Q 的转置矩阵。
矩阵 A 可以看作是学习器性能矩阵 Q 的一种加权形式。它将每个学习器的性能与其在所有学习器中的相对重要性进行加权。
- 向量 b = 1/N * QTp
其中:
- p 是一个辅助向量,其大小为 N x 1,表示每个样本被正确分类的期望概率。
向量 b 可以看作是学习器性能矩阵 Q 和期望概率向量 p 的一种加权组合。它表示所有学习器对每个样本的预测结果与期望概率之间的差异。
这样计算 A 和 b 的原理是,希望通过最小化以下目标函数来找到最佳的权重向量 w:
w^T A w - 2b^T w
这个目标函数可以解释为:
- 第一项 w^T A w 表示所有学习器的加权性能。
- 第二项 2b^T w 表示所有学习器的预测结果与期望概率之间的加权差异。
因此,最小化这个目标函数就相当于找到一组权重,使得所有学习器的加权性能最大化,同时所有学习器的预测结果与期望概率之间的加权差异最小化。
简而言之,这样计算 A 和 b 的目的是为了在 TrEnL 算法的迭代优化过程中,找到一组最佳的权重,使得集成学习器的性能和多样性都得到最大化。
QTQ 这个计算的意义是什么?
QTQ 是一个矩阵运算,其中 Q 是一个矩阵,QT 是 Q 的转置矩阵。这个计算的意义取决于矩阵 Q 的具体含义。
在 TrEnL 算法中,Q 是学习器的性能矩阵,其大小为 N x L,其中 N 是训练样本的数量,L 是学习器的数量。因此,QTQ 的大小为 L x L。
QTQ 的计算可以理解为:
将 Q 的每一列(代表一个学习器)与其自身进行内积运算。
将所有内积的结果组成一个新的矩阵。
因此,QTQ 的对角线元素表示每个学习器自身的性能,非对角线元素表示不同学习器之间的性能相似性。
在 TrEnL 算法的目标函数中,QTQ 被用来衡量所有学习器的加权性能。由于 QTQ 的对角线元素表示每个学习器自身的性能,因此 QTQ 可以用来确保所有学习器都对最终的集成结果做出贡献。
此外,由于 QTQ 的非对角线元素表示不同学习器之间的性能相似性,因此 QTQ 也可以用来鼓励学习器之间的多样性。如果两个学习器的性能非常相似,那么它们在 QTQ 中对应的非对角线元素就会很大。为了最小化目标函数,算法会倾向于降低这两个学习器的权重,从而提高集成学习器的多样性。
总而言之,在 TrEnL 算法中,QTQ 的计算意义在于:
衡量所有学习器的加权性能,确保所有学习器都对最终的集成结果做出贡献。
鼓励学习器之间的多样性,提高集成学习器的泛化能力。