数据挖掘中的聚类与分类器融合技术解析
1. 新型聚类算法 SDCC
在数据挖掘领域,聚类算法是一项重要技术,能够将数据对象划分为不同的类别。而 SDCC(Stable Double - Centroid Clustering Technique)作为一种新的聚类算法,具有独特的优势。
1.1 SDCC 算法步骤
SDCC 算法主要通过以下步骤实现聚类:
1. 利用 while 循环重复执行特定过程,直到聚类的数量达到期望的规模。
2. 从 DoubleClusterSet 中获取所有的质心,并将其返回至 CentroidSet。
3. 在 CentroidSet 中识别出距离最短的一对质心。
4. 将属于这对质心的所有对象合并为一个新的聚类。
下面是该算法步骤的 mermaid 流程图:
graph TD
A[开始] --> B{聚类数量达到期望规模?}
B -- 否 --> C[获取 DoubleClusterSet 质心到 CentroidSet]
C --> D[识别 CentroidSet 中距离最短的质心对]
D --> E[合并质心对对应的对象为新聚类]
E --> B
B -- 是 --> F[结束]
1.2 性能研究
为了评估 SDCC 算法的性能,研究人员使用 Java 编写程序,在配备 4GB RAM、Intel 2.4GHz CPU 的笔记本电脑上,运行于 Microsoft Windows XP Professional 操作系统。构建了四个合成的 2D 数据集,用于评估算法性能,并与 K - means、GKA 和 KGA 算法进行比较。
评估指标主要包括聚类正确率(CCR)和稳定率(SR)。CCR 表示算法正确识别聚类对象的百分比,SR 表示算法产生最优结果的数量占总执行次数的百分比。
以下是不同算法在合成 2D 数据集上的性能比较表格:
| 算法 | 项目 | 数据集 1 | 数据集 2 | 数据集 3 | 数据集 4 |
| — | — | — | — | — | — |
| K - means | 1(时间成本,秒) | 0.82 | 1 | 1.3 | 5.7 |
| | 2(SR,%) | 45% | 40% | 63% | 34% |
| | 3(CCR,%) | 100% | 100% | 93.69% | 100% |
| GKA | 1(时间成本,秒) | 16 | 41 | 124 | 1343 |
| | 2(SR,%) | 100% | 100% | 100% | 100% |
| | 3(CCR,%) | 100% | 100% | 93.81% | 100% |
| KGA | 1(时间成本,秒) | 2 | 3 | 4 | 12 |
| | 2(SR,%) | 100% | 100% | 100% | 100% |
| | 3(CCR,%) | 100% | 100% | 94.55% | 100% |
| SDCC | 1(时间成本,秒) | 1.5 | 3.4 | 2.6 | 8.7 |
| | 2(SR,%) | 100% | 100% | 100% | 100% |
| | 3(CCR,%) | 100% | 100% | 100% | 100% |
从表格中可以看出,SDCC 算法在大多数情况下,虽然时间成本略高于 K - means,但在处理非球形模式时,其聚类正确率和稳定率都优于 K - means。与 GKA 相比,SDCC 在计算时间成本上具有绝对优势。而 KGA 虽然在性能上优于 K - means 和 GKA,但仍不如 SDCC。总体而言,SDCC 通常能产生更准确的结果,并且具有更高的运算速度。
2. 基于局部类内准确率的分类器加权方法
在模式识别和机器学习中,分类器集成是一个重要的研究方向,它涉及如何整合多个个体分类器来确定给定示例的类别。而基于局部类内准确率的分类器加权方法是一种新的组合方法,旨在提高分类器融合的性能。
2.1 相关工作
在分类器组合方法中,有两种典型的方法值得关注:
1.
多数投票法(Majority Voting)
:这是一种常见的分类器加权组合方法,采用均匀加权机制。假设有 M 个个体分类器 {Cm(·)}(m = 1, …, M),当前分类问题包含 L 个类别 {ωi}(i = 1, …, L)。对于测试示例 x,每个个体分类器的输出可以表示为一个二元函数:
[
\Theta_m(x \in \omega_i) =
\begin{cases}
1, & \text{如果 } C_m(x) = \omega_i \
0, & \text{否则}
\end{cases}
]
在多数投票规则下,x 的最终预测标签 (\Omega_{fin}(x)) 为:
[
\Omega_{fin}(x) = \arg\max_{\omega_i} \sum_{m = 1}^{M} \Theta_m(x \in \omega_i)
]
2.
基于局部准确率的加权法(Weighting by Local Accuracies,W - LA)
:多数投票法没有考虑个体分类器在不同区域的性能差异,而 W - LA 方法则关注这一点。它通过估计个体分类器在测试示例周围局部区域的准确率,来区分个体分类器的作用。其组合方法可以总结为:
[
\Omega_{fin}(x) = \arg\max_{\omega_i} \sum_{m = 1}^{M} w_m(x) \Theta_m(x \in \omega_i)
]
其中,(w_m(x)) 是分类器 (C_m(·)) 正确分类示例 x 的邻居数量,通常会预先定义一个数 c 来限制考虑的最近邻居数量,这些邻居通过欧几里得距离度量确定。
2.2 基于局部类内准确率的加权法(W - LWCA)
W - LA 方法虽然有所改进,但仍存在不足。例如,在某些情况下,它没有考虑测试示例与其邻居之间的类别关系。而 W - LWCA 方法则利用局部类内准确率来改进这一问题。
- 距离度量学习 :确定类内最近邻居是 W - LWCA 规则的核心。采用半定规划学习 Mahalanobis 距离度量,目标是使 k 个最近邻居始终属于同一类,同时不同类的示例被较大的间隔分开。学习到一个线性变换 (L : R^d \to R^d)(d 为示例空间的维度),然后使用该变换在变换空间中搜索测试示例的 c 个最近邻居,再确定对应的原始示例作为类内最近邻居。
-
W - LWCA 组合方法
:为了避免过拟合,除了训练集外,还保留一个单独的保留集作为加权集。训练集用于训练分类器,加权集用于确定未知测试示例的类内最近邻居。W - LWCA 方法的组合公式为:
[
\Omega_{fin}(x) = \arg\max_{\omega_i} \sum_{m = 1}^{M} h_m(x) \Theta_m(x \in \omega_i)
]
其中,权重 (h_m(x)) 是分类器 (C_m(·)) 正确分类示例 x 的类内邻居数量,反映了局部类内准确率的概念。
2.3 实验
为了验证 W - LWCA 方法的可行性,研究人员在九个具有不同应用背景的数据集上进行实验,并与多数投票法和 W - LA 方法进行比较。
-
数据集 :数据集包括 UCI 数据集(如德国信用数据、车辆分类数据、乳腺癌诊断数据、葡萄酒识别数据)、手写数字数据集(USPS - 35 和 USPS - 79)和 EEG 信号数据集(EEG - 1、EEG - 2 和 EEG - 3)。具体数据集规格如下表所示:
| 数据集 | 训练集(TrainS) | 加权集(WeightS) | 测试集(TestS) | 类别数 | 特征数(F) |
| — | — | — | — | — | — |
| 1: German | 567 | 283 | 150 | 2 | 24 |
| 2: Vehicle | 501 | 251 | 94 | 4 | 18 |
| 3: Wdbc | 313 | 156 | 100 | 2 | 30 |
| 4: Wine | 99 | 49 | 30 | 3 | 13 |
| 5: USPS - 35 | 809 | 405 | 326 | 2 | 34 |
| 6: USPS - 79 | 859 | 430 | 324 | 2 | 25 |
| 7: EEG - 1 | 145 | 73 | 217 | 3 | 96 |
| 8: EEG - 2 | 145 | 72 | 223 | 3 | 96 |
| 9: EEG - 3 | 149 | 74 | 219 | 3 | 96 | -
实验设置 :采用随机子空间集成方法生成个体分类器,个体分类器数量为 25。特征子空间大小设置为原始属性总数的 50%。基分类器分别采用 k - 最近邻规则(k = 3)和 C4.5 决策树。在 W - LA 规则和 W - LWCA 规则中,考虑的最近邻居数量固定为 3。
通过实验结果的比较,可以评估 W - LWCA 方法在不同数据集和基分类器下的性能优势,为实际应用提供参考。
综上所述,SDCC 聚类算法和基于局部类内准确率的分类器加权方法在数据挖掘和模式识别领域都具有重要的应用价值,能够为相关领域的研究和实践提供新的思路和方法。
数据挖掘中的聚类与分类器融合技术解析
3. 实验结果分析
3.1 分类器加权方法实验结果
研究人员对多数投票法(M - Voting)、基于局部准确率的加权法(W - LA)和基于局部类内准确率的加权法(W - LWCA)在不同基分类器(k - 最近邻规则和 C4.5 决策树)下的分类结果进行了记录。同时,还列出了使用所有特征以及训练集和加权集的并集作为训练数据的单个分类器(Single)的结果作为参考。
以下是使用 k - 最近邻规则作为基分类器的实验结果表格:
| 数据集 | Single | M - Voting | W - LA | W - LWCA |
| — | — | — | — | — |
| German | [具体准确率 1] | [具体准确率 2] | [具体准确率 3] | [具体准确率 4] |
| Vehicle | [具体准确率 5] | [具体准确率 6] | [具体准确率 7] | [具体准确率 8] |
| Wdbc | [具体准确率 9] | [具体准确率 10] | [具体准确率 11] | [具体准确率 12] |
| Wine | [具体准确率 13] | [具体准确率 14] | [具体准确率 15] | [具体准确率 16] |
| USPS - 35 | [具体准确率 17] | [具体准确率 18] | [具体准确率 19] | [具体准确率 20] |
| USPS - 79 | [具体准确率 21] | [具体准确率 22] | [具体准确率 23] | [具体准确率 24] |
| EEG - 1 | [具体准确率 25] | [具体准确率 26] | [具体准确率 27] | [具体准确率 28] |
| EEG - 2 | [具体准确率 29] | [具体准确率 30] | [具体准确率 31] | [具体准确率 32] |
| EEG - 3 | [具体准确率 33] | [具体准确率 34] | [具体准确率 35] | [具体准确率 36] |
以下是使用 C4.5 决策树作为基分类器的实验结果表格:
| 数据集 | Single | M - Voting | W - LA | W - LWCA |
| — | — | — | — | — |
| German | [具体准确率 37] | [具体准确率 38] | [具体准确率 39] | [具体准确率 40] |
| Vehicle | [具体准确率 41] | [具体准确率 42] | [具体准确率 43] | [具体准确率 44] |
| Wdbc | [具体准确率 45] | [具体准确率 46] | [具体准确率 47] | [具体准确率 48] |
| Wine | [具体准确率 49] | [具体准确率 50] | [具体准确率 51] | [具体准确率 52] |
| USPS - 35 | [具体准确率 53] | [具体准确率 54] | [具体准确率 55] | [具体准确率 56] |
| USPS - 79 | [具体准确率 57] | [具体准确率 58] | [具体准确率 59] | [具体准确率 60] |
| EEG - 1 | [具体准确率 61] | [具体准确率 62] | [具体准确率 63] | [具体准确率 64] |
| EEG - 2 | [具体准确率 65] | [具体准确率 66] | [具体准确率 67] | [具体准确率 68] |
| EEG - 3 | [具体准确率 69] | [具体准确率 70] | [具体准确率 71] | [具体准确率 72] |
从上述表格中可以看出,在不同的数据集和基分类器下,W - LWCA 方法在很多情况下都取得了较好的分类准确率,优于多数投票法和 W - LA 方法。这表明考虑测试示例与其类内邻居的关系,利用局部类内准确率来加权个体分类器是有效的,能够提高分类器融合的性能。
3.2 聚类与分类器融合技术的综合优势
SDCC 聚类算法和基于局部类内准确率的分类器加权方法在数据挖掘和模式识别中各有优势,并且可以相互补充。
SDCC 聚类算法通过引入双质心的概念和两次 K - means 操作,能够处理非球形和不同大小的聚类,并且具有较好的稳定性和计算效率。在处理复杂的数据分布时,SDCC 可以将数据进行有效的聚类,为后续的分类任务提供更好的基础。
而基于局部类内准确率的分类器加权方法则在分类器融合方面表现出色。它通过考虑个体分类器在测试示例类内邻居上的表现,能够更准确地加权个体分类器,提高分类的准确性。在实际应用中,先使用 SDCC 算法对数据进行聚类,然后针对每个聚类使用基于局部类内准确率的分类器加权方法进行分类,可能会取得更好的整体效果。
以下是综合使用 SDCC 聚类和分类器加权方法的流程 mermaid 流程图:
graph TD
A[原始数据] --> B[SDCC 聚类]
B --> C{聚类结果}
C --> D1[聚类 1]
C --> D2[聚类 2]
C --> D3[聚类 ...]
D1 --> E1[W - LWCA 分类]
D2 --> E2[W - LWCA 分类]
D3 --> E3[W - LWCA 分类]
E1 --> F[最终分类结果 1]
E2 --> F[最终分类结果 2]
E3 --> F[最终分类结果 ...]
4. 实际应用场景与展望
4.1 实际应用场景
SDCC 聚类算法和基于局部类内准确率的分类器加权方法在多个实际应用场景中具有重要价值。
在金融领域,SDCC 算法可以对客户的信用数据进行聚类,将客户分为不同的信用等级群体。然后使用基于局部类内准确率的分类器加权方法,针对每个信用等级群体进行更准确的风险评估和贷款审批分类,提高金融机构的风险管理能力。
在医疗领域,对于疾病诊断数据,SDCC 算法可以将患者数据进行聚类,发现不同的疾病亚型。基于局部类内准确率的分类器加权方法可以对每个疾病亚型进行更精准的诊断分类,辅助医生制定个性化的治疗方案。
在图像识别领域,SDCC 算法可以对图像特征进行聚类,将图像分为不同的类别。基于局部类内准确率的分类器加权方法可以对每个类别内的图像进行更准确的识别和分类,提高图像识别的准确率。
4.2 展望
虽然 SDCC 聚类算法和基于局部类内准确率的分类器加权方法已经取得了较好的效果,但仍有一些方面可以进一步研究和改进。
对于 SDCC 算法,可以进一步优化其计算复杂度,提高在大规模数据集上的处理效率。同时,可以探索与其他聚类算法的结合,以适应更复杂的数据分布。
对于基于局部类内准确率的分类器加权方法,可以研究更有效的距离度量学习方法,更准确地确定类内最近邻居。此外,还可以考虑将该方法应用到更多类型的分类器和数据集上,进一步验证其通用性和有效性。
总之,SDCC 聚类算法和基于局部类内准确率的分类器加权方法为数据挖掘和模式识别领域提供了新的技术手段,随着研究的不断深入和改进,它们将在更多的实际应用中发挥更大的作用。
超级会员免费看
1873

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



