分类器组合:提升性能的新策略
在机器学习和模式识别领域,分类器组合是提升分类性能的重要手段。本文将深入探讨两种不同的分类器组合方法:通过线性规划实现排名边际最大化的分类器组合,以及最大化ROC曲线下部分面积的二分器组合。
排名边际最大化的分类器组合
在不精确的环境中,当先验概率和成本未知时,排名器比分类器更有用。排名边际是衡量排名函数性能的重要指标,它表示分类器在特征空间中移动而不改变样本点标签的距离。
-
关键概念
- 关键对 :指一个正样本和一个负样本组成的对,分类器应保证正样本的得分高于负样本。
- 排名边际 :定义为所有关键对中得分差的最小值。
-
RankBoost算法
- 原理 :基于提升技术,在弱学习器对关键对进行排名后重新分配权重。
- 特点 :局部优化排名边际,最终收敛于排名边际的最大化。
-
线性规划实现排名边际最大化
- 问题定义 :考虑K个已训练分类器的线性组合,通过选择合适的权重来最大化排名边际。
- 数学模型 :将问题转化为线性规划问题,可表示为:
maximize
zT
K 1
w
μ
subject to
−R eN
eT
N
0
w
ρ
≤
=
zN
1
w ≥zK
- **注意事项**:约束条件的数量可能很大,等于训练集中关键对的数量。
实验评估
为了评估排名边际最大化方法的性能,选择了UCI机器学习库中的10个公开可用的二分类数据集进行实验。
1.
实验设置
-
数据预处理
:对特征进行缩放,使其均值为0,标准差为1。
-
数据集划分
:每个数据集分为训练集、调优集和测试集。
-
基分类器
:选择Modest AdaBoost作为基分类器。
-
性能指标
:使用AUC作为性能度量。
2.
对比方法
-
RankBoost
:使用Matlab工具箱实现,设置100次迭代。
-
支持向量机(SVM)
:使用SVMlight实现,采用线性核和默认参数。
3.
实验结果
-
AUC比较
:结果显示,在大多数数据集上,排名边际最大化方法的性能优于其他方法。具体数据如下表所示:
| 数据集名称 | 样本数 | 特征数 | 正样本比例 | 负样本比例 |
| — | — | — | — | — |
| Australian | 690 | 14 | 44.49% | 55.51% |
| Balance | 625 | 4 | 54.01% | 45.99% |
| Breast | 699 | 16 | 65.01% | 34.99% |
| Cleveland | 303 | 13 | 54.13% | 45.87% |
| Contraceptive | 1473 | 9 | 42.70% | 57.30% |
| Hayes | 132 | 4 | 50.39% | 49.61% |
| Housing | 506 | 12 | 49.21% | 50.79% |
| Ionosphere | 351 | 34 | 64.10% | 35.90% |
| Liver | 345 | 6 | 57.97% | 42.03% |
| Sonar | 260 | 60 | 53.37% | 46.63% |
| 数据集 | 5个分类器组合 - RankMargin | 5个分类器组合 - RankBoost | 5个分类器组合 - SVM | 7个分类器组合 - RankMargin | 7个分类器组合 - RankBoost | 7个分类器组合 - SVM |
|---|---|---|---|---|---|---|
| Australian | 0.935(0.008) | 0.920(0.008) | 0.929(0.009) | 0.932(0.007) | 0.920(0.008) | 0.921(0.010) |
| Balance | 0.984(0.001) | 0.959(0.016) | 0.986(0.004) | 0.984(0.001) | 0.959(0.016) | 0.985(0.004) |
| Breast | 0.991(0.001) | 0.979(0.003) | 0.979(0.010) | 0.991(0.001) | 0.979(0.003) | 0.972(0.010) |
| Cleveland | 0.885(0.010) | 0.840(0.026) | 0.858(0.025) | 0.884(0.007) | 0.840(0.026) | 0.847(0.022) |
| Contraceptive | 0.751(0.024) | 0.752(0.013) | 0.762(0.012) | 0.753(0.015) | 0.751(0.012) | 0.758(0.011) |
| Hayes | 0.885(0.014) | 0.865(0.030) | 0.893(0.039) | 0.888(0.010) | 0.864(0.030) | 0.878(0.025) |
| Housing | 0.942(0.007) | 0.924(0.012) | 0.940(0.012) | 0.942(0.005) | 0.924(0.012) | 0.932(0.014) |
| Ionosphere | 0.962(0.003) | 0.927(0.011) | 0.944(0.019) | 0.962(0.002) | 0.927(0.011) | 0.931(0.020) |
| Liver | 0.737(0.033) | 0.707(0.035) | 0.721(0.032) | 0.737(0.021) | 0.707(0.035) | 0.702(0.034) |
| Sonar | 0.892(0.016) | 0.837(0.033) | 0.875(0.036) | 0.891(0.012) | 0.837(0.033) | 0.863(0.037) |
| - 统计检验 :使用Friedman双向方差分析和Holm的逐步降序检验来评估不同组合规则的性能差异。 |
以下是实验流程的mermaid流程图:
graph LR
A[数据预处理] --> B[数据集划分]
B --> C[训练基分类器]
C --> D[线性组合分类器]
D --> E[调优权重]
E --> F[测试性能]
F --> G[统计检验]
综上所述,排名边际最大化方法在大多数数据集上表现出较好的性能,特别是在组合7个分类器时,在8个数据集中优于其他方法。RankBoost从未超过排名边际最大化方法,这表明该方法能够有效提高排名器的整体性能。此外,通过绘制训练集上排名边际的累积分布函数,可以进一步观察不同方法的性能差异。
分类器组合:提升性能的新策略
最大化ROC曲线下部分面积的二分器组合
在许多实际应用中,人们往往只关注ROC曲线的特定区域,此时最大化部分AUC(pAUC)是更合适的方法。
-
pAUC指标及性质
- ROC曲线 :用于可视化、组织和选择分类器,描述了真阳性率(TPR)和假阳性率(FPR)之间的权衡。
- AUC :是整个ROC曲线下的面积,能总结分类器系统的性能,公式为(AUC = \int_{0}^{1} ROC(t)dt)。
- pAUC :只考虑特定FPR区间((t_0, t_1))内的ROC曲线下面积,公式为(pAUC = \int_{t_0}^{t_1} ROC(t)dt),其区间选择取决于具体应用和误判成本。
-
算法分析
- 两个二分器组合 :通过特定算法找到线性组合的权重向量,使pAUC最大化。
- 多个二分器组合 :将算法扩展到K(K ≥ 2)个二分器的线性组合,同样目标是最大化pAUC。
实验与结果
为了验证最大化pAUC算法的有效性,进行了相关实验。
1.
实验设置
-
数据集
:使用与排名边际最大化实验相同的UCI机器学习库中的10个二分类数据集。
-
性能指标
:以pAUC作为性能度量。
2.
实验结果
- 实验结果表明,提出的算法能够有效最大化部分AUC。与最大化整体AUC的算法相比,两者的最大化过程是相互独立的,即最大化AUC的算法不一定能最大化pAUC。
- 以下是部分数据集的pAUC实验结果示例(假设数据):
| 数据集名称 | 提出算法 - pAUC | 最大化AUC算法 - pAUC |
| — | — | — |
| Australian | 0.85 | 0.78 |
| Balance | 0.90 | 0.82 |
| Breast | 0.92 | 0.85 |
- 实验流程
graph LR
A[数据准备] --> B[选择FPR区间]
B --> C[训练二分器]
C --> D[线性组合二分器]
D --> E[优化权重以最大化pAUC]
E --> F[测试性能]
总结与展望
本文介绍了两种不同的分类器组合方法,分别从排名边际最大化和最大化ROC曲线下部分面积的角度出发,提升了分类器的性能。
1.
排名边际最大化方法
:在大多数数据集上表现良好,尤其是组合7个分类器时优势明显,证明了该方法能有效提高排名器的整体性能。
2.
最大化pAUC方法
:为只关注ROC曲线特定区域的应用提供了新的解决方案,实验结果表明该方法能有效最大化部分AUC。
未来的研究可以聚焦于以下方面:
- 将排名边际最大化方法应用于高度不平衡的数据集,如生物识别数据,因为AUC不受先验概率和成本的影响,是一种合适的性能度量。
- 放松排名边际最大化中的约束条件,引入松弛变量以处理噪声数据。
- 进一步探索最大化pAUC方法在更多实际应用中的效果,如医疗诊断、金融风险评估等领域。
通过不断改进和优化这些分类器组合方法,有望在更多的实际场景中取得更好的分类性能。
392

被折叠的 条评论
为什么被折叠?



