百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

基于聚类欠采样的极端学习机(聚类分析的不足)

moboyou 2025-05-04 15:27 31 浏览

摘 要: 针对极端学习机算法对不平衡数据分类问题的处理效果不够理想,提出了一种基于聚类欠采样的极端学习机算法。新算法首先对训练集的负类样本进行聚类生成不同的簇,然后在各簇中按规定的采样率对其进行欠采样,取出的样本组成新的负类数据集,从而使训练集正负类数据个数达到相对平衡,最后训练分类器对测试集进行测试。实验结果表明,新算法有效地降低了数据的不平衡对分类准确率的影响,具有更好的分类性能。

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.

相关推荐

黄道十二宫杀手密码51年后被破解,来自两位程序员和数学家合作

杨净边策发自凹非寺量子位报道|公众号QbitAI黄道十二宫杀手(ZodiacKiller)可能是世界上最知名的高智商连环杀手,52年来从未被抓获。他的事迹已被改编成了多部好莱坞电影。△...

深入剖析MediaCodec解码器的基本原理及使用「建议新手收藏」

一,MediaCodec工作原理MediaCodec类Android提供的用于访问低层多媒体编/解码器接口,它是Android低层多媒体架构的一部分,通常与MediaExtractor、MediaMu...

Retrofit WebService 实践

前言作为Android开发,平时和后端聊得最多的除了喝酒就是接口。常用语:Restful和WebService,前者现在聊得多,后者以前聊得多。默认含义分别为:Restful:HTTP协议...

建议收藏!175部4K UHD版本经典高分电影洗版参考目录(2015之前)

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:1L789近两年很多经典高分老电影陆续开始重制成4KUHD版本,虽然我早已将这些电影的BD蓝光版收入,但纠结一番后还是花了不少时间将其全部...

2 个月的面试亲身经历告诉大家,如何进入 BAT 等大厂?

这篇文章主要是从项目来讲的,所以,从以下几个方面展开。怎么介绍项目?怎么介绍项目难点与亮点?你负责的模块?怎么让面试官满意?怎么介绍项目?我在刚刚开始面试的时候,也遇到了这个问题,也是我第一个思考的问...

详解Android官推Kotlin-First的图片加载库

前言Coil是一个非常年轻的图片加载库,在2020年10月22日才发布了1.0.0版本,但却受到了Android官方的推广,在AndroidDevelopersBackst...

webview 渲染机制:硬件加速方式渲染的Android Web

webview渲染是什么?webview渲染是用于展现web页面的控件;webview可以内嵌在移动端,实现前端的混合式开发,大多数混合式开发框架都是基于webview模式进行二次开发的w...

因为我对Handler的了解,居然直接给我加了5K

1Handler是什么?android提供的线程切换工具类。主要的作用是通过handler实现从子线程切换回主线程进行ui刷新操作。1.1为什么Handler能实现线程切换?在创建Handler的...

「经典总结」一个View,从无到有会走的三个流程,你知道吗?

前言一个View,从无到有会走三个流程,也就是老生常谈的measure,layout,draw三流程我们都知道Android视图是由一层一层构成的层级结构,直白点说,就是父View包含子View而子V...

这些垃圾代码是谁写的?哦,原来小丑竟是我自己

程序员是最喜欢自嘲、自黑的群体之一,比如他们常常称自己是“码农”、“程序猿”,再比如他们的工作明明是写代码、修Bug,也有人调侃说:“明明我们是修代码、写Bug!”本文整理了一些程序员“修代码、写...

手把手教你爬取天堂网1920*1080大图片(批量下载)——理论篇

/1前言/平时我们要下载图片,要要一个一个点击下载是不是觉得很麻烦?那有没有更加简便的方法呢?答案是肯定的,这里我们以天堂网为例,批量下载天堂网的图片。/2项目准备工作/首先我们第一步我们要安装...

音视频开发需要你懂得 ffmpeg 开源库的编码原理

引言音视频开发需要你懂得音视频中一些基本概念,针对编解码而言,我们必须提前懂得编解码器的一些特性,码流的结构,码流中一些重要信息如sps,pps,vps,startcode以及基本的工作原理,...

「8年老 Android 开发」最全最新 Android 面试题系列全家桶(带答案)

下面跟大家分享的这些面试题都是互联网大厂真实流出的面试内容,每个问题都附带完整详细的答案,不像网上的那些资料三教九流有的甚至还没答案,这些面试题我也是经过日积月累才整理出来的精品资料。这些面试题主要是...

手把手教你爬取天堂网1920*1080大图片(批量下载)——实战篇

/1前言/上篇文章手把手教你爬取天堂网1920*1080大图片(批量下载)——理论篇我们谈及了天堂网站图片抓取的理论,这篇文章将针对上篇文章的未尽事宜进行完善,完成图片的批量抓取。/2图片网址解...

PHP 8.1.9 更新发布

CLI:修复了内置服务器通过PHP_CLI_server_WORKERS环境变量的潜在溢出。修正了GH-8952(不再可能有意关闭std句柄)。Core:修复了GH-8923的错误(Windows上的...