基于聚类欠采样的极端学习机(聚类分析的不足)
moboyou 2025-05-04 15:27 41 浏览
摘 要: 针对极端学习机算法对不平衡数据分类问题的处理效果不够理想,提出了一种基于聚类欠采样的极端学习机算法。新算法首先对训练集的负类样本进行聚类生成不同的簇,然后在各簇中按规定的采样率对其进行欠采样,取出的样本组成新的负类数据集,从而使训练集正负类数据个数达到相对平衡,最后训练分类器对测试集进行测试。实验结果表明,新算法有效地降低了数据的不平衡对分类准确率的影响,具有更好的分类性能。
0 引言
不平衡数据[1]是指在包含许多类别的大数据中,某些类别的数据个数远远小于其他类别的数据个数,即各类别数据的个数存在着不平衡性的数据。通常称样本数量少的类别为少类,也称为正类;样本数量多的类别为多类,也称为负类。在现实生活中,存在着许多不平衡数据的例子,如医疗诊断病变信息、垃圾信息过滤、故障检测等。正如这些实例,少数类数据所包含的信息往往是我们所需要的。因此,怎样更好地提取这部分数据,已成为数据挖掘研究中的一个热点话题。
目前,不平衡数据的分类问题的处理方法[2]主要可分为两类:数据层面上,主要是对原始数据集进行处理,利用少数类过采样、多数类欠采样、混合采样等方法使得原始数据集各类别数据个数达到相对平衡,主要方法有过采样技术(Synthetic Minority Oversampling Technique,SMOTE)[3]、单边选择欠采样技术(One-sided Selection)[4]等;算法层面上,主要是对已有分类算法进行改进或是设计新算法使其有效地解决不平衡数据分类问题,主要算法有支持向量机(Support Vector Machine,SVM)[5]、Bagging算法[6-7]等。
极端学习机作为一种分类算法,具有训练速度快、泛化性能好等特点,但其对不平衡数据分类问题的处理效果并不理想。本文提出了一种基于聚类欠采样的极端学习机分类算法。为方便起见,本文主要考虑数据二分类的问题。算法首先利用聚类原理对训练集中的负类样本进行聚类生成不同的簇,并计算各簇数据与簇中心的距离并排序,然后在每个簇中按规定的采样率取出距离中心近的数据,与训练集的正类一起组成类别相对平衡的数据集,最后训练分类器,预测测试集数据所属类别。新算法有效地解决了数据的不平衡性对分类器性能的影响,具有较强的实用性,并在实例数据实验中得到了证实。
1 理论分析
1.1 极端学习机算法(ELM)
极端学习机(Extreme Learning Machine,ELM)[8-9]是一种快速的单隐层前馈神经网络训练算法。该算法的特点是随机选取输入权值向量及隐层神经元的偏置,在训练的过程中,只需要设置隐层节点的个数,便可通过一个简单的线性系统求出唯一的最优解。
对于N个不同的训练集数据(xi,ti)∈Rn·Rm,其中xi=(xi1,xi2,…,xin)T为数据样本点,ti=(ti1,ti2,…,tim)T为类别标签,隐层节点数为M,激活函数为g(x)的单隐层前馈神经网络的输出函数表达式为:
其中,j=1,2,…,N,ai=(ai1,ai2,…,ain)T表示连接输入节点和第i个隐层节点的输入权值向量,
i=(
i1,
i2,…,
im)表示连接第i个隐层节点和输出节点的输出权值向量,bi表示第i个隐层节点的偏置。g:R→R为激活函数,ai·xj表示输入权值向量ai和样本xj在Rn中的内积。
假设这个函数可以以零误差逼近这个不同的数据样本,也就是说,存在参数(ai,bi)和?茁i使得:
那么问题就转化为求H
=T的最小二乘解
。当M≥N时,矩阵H可直接求逆;当M<<N时,由Moore-Penrose广义逆可以得到:
其中H+=(HTH)-1HT为H的广义逆矩阵。
最小二乘解
即为输出权值,所求解问题最终转化为求解一个矩阵的广义逆问题。与传统的分类算法相比,ELM算法能一次性求出输出权值,不需要任何迭代过程,减少了调节参数的时间,从而提高了运算速度。
ELM算法的主要步骤:
(1)输入训练集(xi,ti)∈Rm×Rn,激活函数为g(x),隐层节点个数为M;
(2)随机生成输入权值向量ai和偏置bi;
(3)计算隐层输出矩阵H;
(4)由
=H+T,计算输出权值
;
(5)输入测试集Y={yi},激活函数为g(x),隐层节点个数M;
(6)调用输入权值向量ai和偏置bi,隐层输出矩阵H,输出权值
,由
=H+TY,计算测试集的标签TYT。
1.2 模糊聚类算法(FCM)
模糊C均值聚类算法(Fuzzy C-Means,FCM)[10-11]于1981年被Bezdek提出,是一种柔性的模糊划分。它的思想是将数据集划分为不同的簇,用值在0,1间的隶属度来确定每个数据属于某个簇的程度,要求同一簇的对象之间相似度尽可能大,而不同簇的对象之间相似度尽可能小。
给定有限数据集X={x1,x2,…,xn},FCM算法将n个数据xi(i=1,2,…,n)分为C个簇,并求每个簇的聚类中心,使目标函数达到最小。其目标函数如下:
其中,uij∈(0,1),ci为第i簇的聚类中心,dij=‖ci-xj‖,表示第i个聚类中心与第j个数据点间的欧氏距离,m∈[1,∞)是一个加权指数。其约束条件为一个数据集的隶属度的和等于1,即:
由拉格朗日乘子法,构造新的目标函数:
由条件极值,使式(7)达到最小的必要条件为:
2 基于聚类欠采样的极端学习机算法(FCM-ELM)
定义1 设训练集的正负类样本个数分别为P、F,聚类个数为C,聚类后各簇的样本个数为p1,p2,…,pc,则规定第i簇的采样率为:
本文算法的主要步骤:
(1)计算训练集的正负类样本个数,分别记为P、F,利用FCM算法对训练集的负类样本进行聚类,生成C个簇;
(2)聚类后各簇的数据按到各自聚类中心的距离由小到大排序,并且输出按顺序排列的各簇数据集;
(3)对各簇按规定的采样率ni进行欠采样处理,每个簇中取出离聚类中心最近的ni个样本,取出的C×ni个样本组成新的负类数据集;
(4)将新的负类数据集和正类数据集合并作为新的训练集,训练极端学习机分类器,最后预测测试集的标签。
3 不平衡数据分类性能的评价指标
表1是数据二分类问题的混淆矩阵,TP、TN分别为分类正确的少数类和多数类的样本个数,FN、FP分别为分类错误的少数类和多数类的样本个数。
不平衡数据分类性能评价指标的相关定义如下:
定义2 正类样本的查准率(Precision):
(3)ROC曲线(Receiver Operating Chara-cteristic)[14]:
ROC曲线是分类器整体分类性能的评价标准,该曲线能很好地反应两类数据分类错误率之间的关系。但ROC曲线不能定量地评价分类器的性能,所以利用ROC曲线下的面积AUC(Area Under the Curve)来评估分类器性能。AUC值越大,分类器性能越好,反之越差。
4 实验结果及分析
本文实验所用的8个数据集均来自于UCI机器学习数据库,每个数据集多类与少类样本数量的比例失衡程度不同,具体信息如表2所示。
实验中,采用十折交叉验证方法将数据集分为训练集和测试集,选用ELM算法、FCM-ELM算法进行对比实验。两种算法的激活函数均选择Sigmoid函数,隐层节点数设为200。训练集、测试集的划分存在一定的随机性,为了充分证明算法的有效性,实验结果均取循环100次后的平均值。此外,FCM-ELM算法实验中,聚类中心个数C分别取3、5、9、15。以上算法均在MATLAB R2012a上实现。在G-means、F-measure、AUC三种评价指标下,两种算法的实验结果对比如表3~表5所示。
从表3~表5可以看出,FCM-ELM算法的准确率明显优于ELM算法。在前六个比例失衡程度较小的数据集中,准确率最多提高了20%,最后两个比例失衡程度较大的数据集中,准确率最多提高了63%。而且,当聚类中心个数C取不同的值时,FCM-ELM算法的实验结果相差较小,相对比较稳定。
5 结束语
本文针对不平衡数据的分类问题,提出了一种基于聚类欠采样的极端学习机算法。该方法首先对训练集的负类样本进行聚类,然后按规定的采样率进行欠采样,使得训练集正负类样本个数达到近似平衡,有效地解决了原始的极端学习机算法对不平衡数据分类的错分问题。将新算法用于实例数据集的分类问题中,其有效性和优越性得到了证明。
参考文献
[1] Han Jiawei, KAMBER M.数据挖掘概念与技术[M].范明,孟小峰,译.北京:机械工业出版社,2001.
[2] 王和勇,樊泓坤,姚正安,等.不平衡数据集的分类方法研究[J].计算机应用研究,2008,25(5):1301-1308.
[3] CHAWLA N V, BOWYER K B, HALL L Q, et al. SMOTE: Synthetic minority over-sampling technique[J].Journal of Artificial Intelligence Research, 2002(16):321-357.
[4] KUBAT M, MATWIN S. Addressing the curse of imbalanced training sets: one-sided selection[C]. Proceedings of the 14th International Conference on Machine Learning, San Francisco, 1997:179-186.
[5] VAPNIK V. The nature of statistical learning theory[M].New York: Springer-Verlag, 2000.
[6] 秦姣龙,王蔚.Bagging组合的不平衡数据分类方法[J].计算机工程,2011,37(14):178-182.
[7] 李明方,张化祥.针对不平衡数据的Bagging改进算法[J].计算机工程与应用,2013,49(2):40-42.
[8] HUANG G B, ZHOU H, DING X, et al. Extreme learning machine for regression and multiclass classification[J]. IEEE Trans. Syst. Man Cybern, 2012,42(2):513-529.
[9] HUANG G B. An insight into extreme learning machines random neurons, random features and kernels[J]. Cognitive Computation, 2014,6(3):376-390.
[10] BEZDEK J. Pattern recognition with fuzzy objec-tive function algorithms[M]. New York: Plenum Plenum Press,1981.
[11] 肖景春,张敏.基于减法聚类与模糊C-均值的模糊聚类的研究[J].计算机工程,2005,31(Z1):135-137.
[12] 林智勇,郝志峰,杨晓伟.若干评价准则对不平衡数据学习的影响[J].华南理工大学学报,2010,38(4):126-135.
[13] 杨明,尹军梅,吉银林.不平衡数据分类方法综述[J].南京师范大学学报:工程技术版,2008,8(4):7-12.
[14] BRADLEY A P. The use of the area under the ROC curve in the evaluation of machine learning algorithms[J].Pattern Recognition, 1997,30(7): 1145-1159.
相关推荐
- Excel技巧:SHEETSNA函数一键提取所有工作表名称批量生产目录
-
首先介绍一下此函数:SHEETSNAME函数用于获取工作表的名称,有三个可选参数。语法:=SHEETSNAME([参照区域],[结果方向],[工作表范围])(参照区域,可选。给出参照,只返回参照单元格...
- Excel HOUR函数:“小时”提取器_excel+hour函数提取器怎么用
-
一、函数概述HOUR函数是Excel中用于提取时间值小时部分的日期时间函数,返回0(12:00AM)到23(11:00PM)之间的整数。该函数在时间数据分析、考勤统计、日程安排等场景中应用广泛。语...
- Filter+Search信息管理不再难|多条件|模糊查找|Excel函数应用
-
原创版权所有介绍一个信息管理系统,要求可以实现:多条件、模糊查找,手动输入的内容能去空格。先看效果,如下图动画演示这样的一个效果要怎样实现呢?本文所用函数有Filter和Search。先用filter...
- FILTER函数介绍及经典用法12:FILTER+切片器的应用
-
EXCEL函数技巧:FILTER经典用法12。FILTER+切片器制作筛选按钮。FILTER的函数的经典用法12是用FILTER的函数和切片器制作一个筛选按钮。像左边的原始数据,右边想要制作一...
- office办公应用网站推荐_office办公软件大全
-
以下是针对Office办公应用(Word/Excel/PPT等)的免费学习网站推荐,涵盖官方教程、综合平台及垂直领域资源,适合不同学习需求:一、官方权威资源1.微软Office官方培训...
- WPS/Excel职场办公最常用的60个函数大全(含卡片),效率翻倍!
-
办公最常用的60个函数大全:从入门到精通,效率翻倍!在职场中,WPS/Excel几乎是每个人都离不开的工具,而函数则是其灵魂。掌握常用的函数,不仅能大幅提升工作效率,还能让你在数据处理、报表分析、自动...
- 收藏|查找神器Xlookup全集|一篇就够|Excel函数|图解教程
-
原创版权所有全程图解,方便阅读,内容比较多,请先收藏!Xlookup是Vlookup的升级函数,解决了Vlookup的所有缺点,可以完全取代Vlookup,学完本文后你将可以应对所有的查找难题,内容...
- 批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数
-
批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数在电商运营、物流对账等工作中,经常需要统计快递“揽收到签收”的耗时——比如判断某快递公司是否符合“3天内送达”的服务承...
- Excel函数公式教程(490个实例详解)
-
Excel函数公式教程(490个实例详解)管理层的财务人员为什么那么厉害?就是因为他们精通excel技能!财务人员在日常工作中,经常会用到Excel财务函数公式,比如财务报表分析、工资核算、库存管理等...
- Excel(WPS表格)Tocol函数应用技巧案例解读,建议收藏备用!
-
工作中,经常需要从多个单元格区域中提取唯一值,如体育赛事报名信息中提取唯一的参赛者信息等,此时如果复制粘贴然后去重,效率就会很低。如果能合理利用Tocol函数,将会极大地提高工作效率。一、功能及语法结...
- Excel中的SCAN函数公式,把计算过程理清,你就会了
-
Excel新版本里面,除了出现非常好用的xlookup,Filter公式之外,还更新一批自定义函数,可以像写代码一样写公式其中SCAN函数公式,也非常强大,它是一个循环函数,今天来了解这个函数公式的计...
- Excel(WPS表格)中多列去重就用Tocol+Unique组合函数,简单高效
-
在数据的分析和处理中,“去重”一直是绕不开的话题,如果单列去重,可以使用Unique函数完成,如果多列去重,如下图:从数据信息中可以看到,每位参赛者参加了多项运动,如果想知道去重后的参赛者有多少人,该...
- Excel(WPS表格)函数Groupby,聚合统计,快速提高效率!
-
在前期的内容中,我们讲了很多的统计函数,如Sum系列、Average系列、Count系列、Rank系列等等……但如果用一个函数实现类似数据透视表的功能,就必须用Groupby函数,按指定字段进行聚合汇...
- Excel新版本,IFS函数公式,太强大了!
-
我们举一个工作实例,现在需要计算业务员的奖励数据,右边是公司的奖励标准:在新版本的函数公式出来之前,我们需要使用IF函数公式来解决1、IF函数公式IF函数公式由三个参数组成,IF(判断条件,对的时候返...
- Excel不用函数公式数据透视表,1秒完成多列项目汇总统计
-
如何将这里的多组数据进行汇总统计?每组数据当中一列是不同菜品,另一列就是该菜品的销售数量。如何进行汇总统计得到所有的菜品销售数量的求和、技术、平均、最大、最小值等数据?不用函数公式和数据透视表,一秒就...
- 一周热门
- 最近发表
-
- Excel技巧:SHEETSNA函数一键提取所有工作表名称批量生产目录
- Excel HOUR函数:“小时”提取器_excel+hour函数提取器怎么用
- Filter+Search信息管理不再难|多条件|模糊查找|Excel函数应用
- FILTER函数介绍及经典用法12:FILTER+切片器的应用
- office办公应用网站推荐_office办公软件大全
- WPS/Excel职场办公最常用的60个函数大全(含卡片),效率翻倍!
- 收藏|查找神器Xlookup全集|一篇就够|Excel函数|图解教程
- 批量查询快递总耗时?用Excel这个公式,自动计算揽收到签收天数
- Excel函数公式教程(490个实例详解)
- Excel(WPS表格)Tocol函数应用技巧案例解读,建议收藏备用!
- 标签列表
-
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- css class选择器用法 (25)
- css样式引入 (30)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- php小说爬取源码 (23)
- 云电脑app源码 (22)
- html画折线图 (24)
- docker好玩的应用 (28)
- linux有没有pe工具 (34)
- 可以上传视频的网站源码 (25)
- 随机函数如何生成小数点数字 (31)
- 随机函数excel公式总和不变30个数据随机 (33)
- 所有excel函数公式大全讲解 (22)
- 有动图演示excel函数公式大全讲解 (32)
