svdd算法详解
svd算法模型原理
svd算法模型原理
SVD(奇异值分解)是一种矩阵分解的方法,可以将一个矩阵分解为三个矩阵的乘积。
SVD的模型原理如下:
给定一个m×n的实数矩阵A,SVD将A分解为以下形式:
A = UΣV^T
其中,U是一个m×m的正交矩阵,其列向量为A与A^T的特征向量;Σ是一个m×n的对角矩阵,对角线上的元素称为奇异值,且按降序排列;V^T是一个n×n的正交矩阵,其列向量为A^TA的特征向量。
SVD的主要步骤包括:
1. 计算矩阵A与A^T的乘积A^TA,得到一个n×n的对称矩阵。
2. 对对称矩阵进行特征值分解,得到其特征值和特征向量。
3. 根据特征值和特征向量构建对角矩阵Σ和正交矩阵V^T。
4. 计算矩阵A与A^T的乘积AA^T,得到一个m×m的对称矩阵。
5. 对对称矩阵进行特征值分解,得到其特征值和特征向量。
6. 根据特征值和特征向量构建正交矩阵U。
通过SVD分解,我们可以实现降维、压缩和重建等功能。
在机器学习领域,SVD经常被用于图像压缩、推荐系统和信息检索等任务中。
SVD算法原理及应用
SVD算法原理及应用给定一个矩阵A(m×n),SVD将其分解为三个矩阵的乘积:A=UΣV^T。
其中U(m×m)是一个正交矩阵,V(n×n)也是一个正交矩阵,Σ(m×n)是一个对角矩阵,并且对角线上的元素称为奇异值。
在SVD中,U的列向量称为左奇异向量,V的列向量称为右奇异向量,Σ的对角线元素即为奇异值。
奇异值的大小表示了矩阵的重要程度,越大表示信息保留得越多。
1.对矩阵A进行转置,得到A^T。
2.将A^TA进行特征值分解,得到特征值和对应的特征向量。
3.对特征值按从大到小的顺序排序,选择前k个最大的特征值及对应的特征向量,构成对角矩阵Σ和矩阵U。
4.对A进行SVD分解时,可以利用步骤2得到的特征向量构成矩阵V。
SVD的应用:1.数据降维:SVD可以用于减少数据集的维度,提取出重要的特征,去除无关的噪声和冗余信息。
2.图像压缩:SVD可以将图像矩阵分解为较小的矩阵,以实现图像的压缩和存储。
3.推荐系统:SVD可以用于基于用户的协同过滤算法,通过分解用户-物品评分矩阵,找出用户和物品之间的潜在关系,从而预测用户对未评分物品的喜好程度。
4.文本分析:SVD可以用于对文本数据进行降维,提取出关键词,构建文本的特征空间模型。
5.人脸识别:SVD可以用于人脸图像的降维和特征提取,从而实现人脸识别和人脸检测的任务。
总结:SVD是一种强大的矩阵分解方法,能够对矩阵进行降维、特征提取和数据压缩等操作。
它在数据分析、图像处理、推荐系统等领域有广泛的应用。
通过SVD,可以更好地理解和利用矩阵中的信息,从而提高数据分析和处理的效果。
通信辐射源个体开集识别中的二分类SVDD算法
2 0 1 7 年6 月
通 信 对 抗
C 0MMUNI C A T1 0N COUN I RM EAS URES
V0 1 . 3 6 No . 2
J u n . 2 0 1 7
通信辐射 源个体 开集识别 中的 二分类 S V DD算法
骆振 兴 , 陈仕川 1 , 2杨 小牛
c l s a s s u p p o r t v e c t o r d a t a d e s c i r r ’ t i o n ( T C — S V DD) i s s t u d i e d i n t h i s p a p e r . T o i n c r e a s e t h e l o w r f a c i t o n o f t a r g e t
s c l a e d c l a s s i i f c a i t o n ma r g i n T C — S V D D( DS C M— T C— S V DD) i s p r o p o s e d . T h e ma r g i n s b e t we e n h y p e r — s p h e r e s
正 类分 类 率 。
关键词 : 辐射源个体识别 ; 通信侦察 ; 数据描述 ; 支持向量机 ; 网络安全
中图分类号 : T N9 7 5 文献标识码 : A
Two - c l a s s S VDD Al g o r i t h m f o r Op e n - s e t Sp e c i f i c Emi t t e r I d e n t i f i c a t i o n
J i a x Βιβλιοθήκη n gZ h e j i a n g 3 1 4 0 3 3 , C h i n a ; 2 . N o . 3 6 R e s e a r c h I n s t i t u t e o fC E T C, J i a x i n g Z h e j i a n g3 1 4 0 3 3 , C h i a) n
svdd算法原理
svdd算法原理SVDD(Support Vector Data Description)算法是一种用于异常检测和无监督学习的机器学习算法。
它的原理基于支持向量机(SVM)算法,通过将正常数据映射到高维空间,构建一个边界区域,从而实现对异常数据的识别。
SVDD算法的主要思想是通过找到一个最小的球形区域,将正常数据包围其中,而异常数据则远离这个区域。
这个球形区域的中心被称为支持向量,它是由一些正常数据点决定的。
而在球形区域外部的数据点则被认为是异常点。
为了构建这个球形区域,SVDD算法首先需要将数据映射到高维空间。
这是通过使用核函数来实现的,核函数能够将原始数据从低维空间映射到高维空间,从而使数据更容易分离。
常用的核函数包括线性核函数、多项式核函数和径向基核函数等。
在映射到高维空间后,SVDD算法通过最小化球形区域的半径来确定最优解。
这个优化问题可以通过拉格朗日乘子法转化为一个凸优化问题,然后使用支持向量机的方法来求解。
通过求解这个优化问题,SVDD算法能够找到一个最小的球形区域,使得正常数据点尽可能地靠近球的中心,而异常数据点则远离球的边界。
SVDD算法在异常检测和无监督学习中有广泛的应用。
在异常检测中,它可以用于检测网络入侵、信用卡欺诈等异常行为。
在无监督学习中,它可以用于聚类分析、数据降维等任务。
与传统的聚类算法相比,SVDD算法能够更好地处理非球状的数据分布,具有更强的泛化能力。
然而,SVDD算法也存在一些限制和挑战。
首先,由于SVDD是一种无监督学习算法,它对异常数据的定义是相对的,需要根据具体应用场景进行调整。
其次,SVDD算法对参数的选择比较敏感,需要通过交叉验证等方法来确定最优参数。
最后,由于SVDD算法需要将数据映射到高维空间,计算复杂度较高,对大规模数据集的处理效率较低。
为了克服这些问题,研究者们提出了一些改进的SVDD算法。
例如,基于核函数的耦合SVDD算法(Coupled SVDD)可以处理带有标签信息的数据,进一步提高异常检测的准确性。
基于核空间相对密度的SVDD多类分类算法
K y w r s u p r vco d t d sr t n S D ; u i asc s f a o ; ea v e s yi en l p c e o d :sp ot etr a eci i ( V D) m hc s l s c t n rl i d n i k r e sa e a po l ai i i te t n
t n S D )i ntul uetesm l dsiu o fr a o noel pn g n, hsppr rpsda lo tm f i ( V D s o fl s h a pe ir t ni om t ni vr p i r i s T i ae ooe na rh o o y tb i n i a geo p gi r
Ab t a t n o d rt o v h r b e h te it g mu il s ls i c t n ag r h a e n s p o e t rd t e ci — sr c :I r e s l e te p o lm t a xs n h ca sca s ai lo i m b s d o u p r v co aa d s r o i i f o t t p
中 图分 类号 :T 3 14 P 9 . 文献标 志码 :A 文章编号 :10 —6 5 2 1 )5 19 — 3 0 13 9 ( 0 0 0 — 6 4 0
d i1. 9 9 ji n 1 0 —6 5 2 1 .5 0 3 o:0 3 6 /.s .0 13 9 .0 0 0 .2 s
b u d n y e —p ee n lsn a h ca s yu ig S o n i g h p rs h r se co ig e c ls s VDD. h n t eag r h c l u ae eaie d n i i e s me ca s b n T e lo i m ac ltd r lt e st w t t a l s h t v y hh
面向大规模数据的SVDD在线学习算法
收稿日期:2022-11-22基金项目:国家自然科学基金(82102002)引用格式:王小飞,陈永展,王强,等.面向大规模数据的SVDD在线学习算法[J].测控技术,2023,42(8):1-6.WANGXF,CHENYZ,WANGQ,etal.SVDDOnlineLearningAlgorithmforLarge ScaleData[J].Measurement&ControlTechnology,2023,42(8):1-6.面向大规模数据的SVDD在线学习算法王小飞1,陈永展1,王 强1,高艳丽1,李健增2(1.海军航空大学青岛校区,山东青岛 266041;2.天河超级计算淮海分中心,山东临沂 276002)摘要:针对支持向量数据描述(SupportVectorDataDescription,SVDD)在线学习时的支持向量数量随样本规模的扩大呈线性增加,进而导致模型更新时间呈非线性增长的问题,提出一种基于支持向量约减的支持向量数据描述(R SVDD)在线学习方法。
该算法通过执行支持向量约减,控制在线学习时的支持向量数量,从而使其具有比其他SVDD算法更快速且更稳定的模型更新时间,适合大规模数据的分类处理。
首先阐述了支持向量约减的原理;进而给出了在线R SVDD算法。
在单分类和多分类数据集上的实验结果表明,R SVDD算法相较于SVDD算法,能够在保持分类精度的基础上拥有更快的学习速度。
关键词:大规模数据;支持向量数据描述;支持向量约减;在线学习中图分类号:TP181 文献标志码:A 文章编号:1000-8829(2023)08-0001-06doi:10.19708/j.ckjs.2023.02.212SVDDOnlineLearningAlgorithmforLarge ScaleDataWANGXiaofei1牞CHENYongzhan1牞WANGQiang1牞GAOYanli1牞LIJianzeng2牗1.QingdaoCampusofNavalAviationUniversity牞Qingdao266041牞China牷2.TianheSupercomputingCenterofHuaihai牞Linyi276002牞China牘Abstract牶Inordertosolvetheproblemthatthenumberofsupportvectorsinsupportlearningofsupportvectordatadescription牗SVDD牘increaseslinearlywiththeenlargementofsamplesize牞whichleadstothenonlineargrowthofmodelupdatetime牞anonlinelearningmethodofsupportvectordatadescriptionbasedonsupportvectorreduction牗R SVDD牘isproposed.Byperformingsupportvectorreduction牞thenumberofsupportvectorsinonlinelearningiscontrolled牞soithasafasterandmorestablemodelupdatetimethanotherSVDDalgo rithms牞whichissuitableforlarge scaledataclassificationprocessing.Firstly牞theprincipleofsupportvectorre ductionisdescribed牞andthenanonlineR SVDDalgorithmisgiven.TheexperimentalresultsonsingleandmulticlassificationdatasetsshowthattheR SVDDalgorithmcanimprovethelearningspeedsignificantlywhilemaintainingtheaccuracyofonlineSVDDclassification.Keywords牶large scaledata牷SVDD牷supportvectorsreduction牷onlinelearning机器学习是人工智能领域的热门研究课题,在信息采集技术不断发展的今天,大规模数据的处理能力已经成为衡量一个机器学习算法好坏的核心因素[1-3]。
边界检测快速SVDD算法
br) codn ev l f h oiesm,a b n ac f a pe edt ds b t ncn b i os .A crigt t a eo ecs u oh u t n n au dn eo sm l i t a ir ui a eds sn h a t i o -
A s at h r lm o S D ( u p r v c rd t d sr t n)rq i so t nn p e cl h p d b t c:T epo e f V D sp ot et a eci i r b o a po e ur ba ig a sh r al sae e i i y
边界 检 测 快 速 S D V D算 法
朱 发 ,业 Βιβλιοθήκη , 徐 舁,徐姗姗 ( 京林 业大学 信息科学与技术学院 ,江苏 南京 2 03 ) 南 10 7
摘
要 : V D要求一个包含 目标数据的尽可能小的球体. S M类似 , SD 与 V 这个球体 由少部分支持 向量决定 . 对于一个有限数据
K_means聚类与SVDD结合的新的分类算法
svdd 的matlab程序
一、概述svdd是一种基于支持向量机(SVM)的新型异常检测方法,它可以对数据集中的异常值进行有效识别。
使用svdd的matlab程序有助于在实际工作中快速、准确地实施异常检测。
本文将介绍svdd的基本原理和matlab程序的编写方法,希望能够帮助读者更好地理解svdd算法和如何利用matlab实现该算法。
二、svdd的基本原理svdd(Support Vector Data Description)是一种用于异常检测的监督学习方法。
其基本原理是通过构建一个能够将正常样本包围起来的超球体,然后利用该超球体来判断测试样本是否为异常值。
在svdd 中,超球体的中心和半径是通过最小化目标函数来确定的,目标函数的形式为:minimize 1/2 ||w||^2 + 1/νΣξi - r^2subject to: (w·x + b)^2 - r^2 ≤ ξi, ξi ≥ 0, i = 1, ..., N其中w和b是超平面的系数,ξi是松弛变量,r是超球体的半径,ν是松弛因子。
通过求解目标函数,我们可以得到超球体的中心和半径,从而实现对正常样本的描述。
对于测试样本,根据其与超球体的关系可以判断其是否为异常值。
三、matlab程序的编写1. 导入数据我们需要将数据导入matlab中。
假设我们的数据集为X,Y,其中X 为特征矩阵,Y为标签。
我们可以使用matlab中的csvread函数或者直接定义矩阵来导入数据。
2. 训练svdd模型在导入数据后,我们可以开始编写训练svdd模型的代码。
我们需要使用svddtr本人n函数来训练模型,该函数的基本用法如下:model = svddtr本人n(X, 'RadialBasis');其中,X为特征矩阵,'RadialBasis'表示使用径向基核函数。
通过该函数,我们可以得到训练好的svdd模型model。
3. 测试svdd模型训练好模型后,我们可以使用svddclassify函数来对测试样本进行异常检测。
动态SVDD人机交互预警算法及其应用
C m ue nier g a dA pi t n 计算机工程 与应用 o p trE g ei n p lai s n n c o
动态 S D 人机交 互预 警算法及其应用 V D
彭敏 晶 t , 2 P N n j g’ E G Mi-i n
考察图3d不难发现它具有近似图会造成正常区域分成多个互不相通的小区域有了上面关于理想边界构成近似方法的讨论便可得到动态支持向量描述dynamicsupportvectordatadescriptiondsvdd算法该算法对初始样本进行优化形成初始支持向量集和正常区域边界然后对测试样本依式11判断该样本是否为非正常点若测试点为正常点则将新增测试样本与当前支持向量集一起形成训练样本集并对训练样本集按式12进行优化以获得新的支持向量集和正常区域边界
ቤተ መጻሕፍቲ ባይዱ
acrt y iety “od ad “a ” ojc .n hn te t h iu fS D Sa a zd ad i i f n htteh ma — — cuae d ni go ” n bd betA d te h e nq e o V D i n l e .n t s o d ta h u n ma l f s c y u
E ma l r g ip n @ 1 3 c r — i:e g e e g 6 . n o
P NG M i- i g n mi S D b s d h ma — c ie i t a t e e r a nn lo i m n t a piain C mp tr E n j . a c VD a e u n ma h n ne ci a l w r i g ag r h a d i p l t ・ o ue n Dy r v y t s c o E g e rn n pi t n , 0 8 4 ( 1 : 4 - 4 . n i e i g a d Ap l a i s 2 0 .4 2 ) 1 5 1 7 n c o
结合光谱解混的高光谱图像异常目标检测SVDD算法
CHENG o z , ZHAO un h i W ANG —e Ba — hi Ch - u , Yu li
C l g fIfr t na d C mmu iain Habn E gn eig U iest, r i 1 0 0 ,C ia ol eo o mai n o e n o n ct , ri n i ern nvri Ha bn 0 1 hn o y 5
t e h p c r lb n s o yp r pe t a m a e y no a y t r e s a e d t c e we n t e s e t a a d f h e s c r i g r ,a m l a g t r e e t d.Th e u t h w ha h l e r s ls s o t t t e p o s d a g rt m a mpr v e e to e f r a e a e r a e f le a a m r ba i t . r po e l o ih c n i o e d t c i n p ro m nc nd d c e a s l r p o b l y s i
a u d n a g t i f r a i n wh l f c i e y s p r s e h a k o n n e f r n e b n a tt r e n o m t o i e e tv l u p e s s t e b c g u d i t r e e c .Th r o a u i he e r e e r rd t m st n m a e n o a h g — i n i n lf a u e s c t o l e r S pp d i t i h d me so a e t r pa e wih n n i a VDD . x l ii g n n i e ri f r a i n be n By e p o tn o l a n o m to - n
基于密度敏感最大软间隔SVDD不均衡数据分类算法
基于密度敏感最大软间隔SVDD不均衡数据分类算法陶新民;李晨曦;沈微;常瑞;王若彤;刘艳超【摘要】为了提高传统支持向量域描述(C-SV DD)算法处理不均衡数据集的分类能力,提出一种基于密度敏感最大软间隔支持向量域描述(DSMSM-SVDD)算法.该算法通过对多数类样本引入相对密度来体现训练样本原始空间分布对求解最优分类界面的影响,通过在目标函数中增加最大软间隔正则项,使C-SVDD的分类边界向少数类偏移,进而提高算法分类性能.算法首先对每个多数类样本计算相对密度来反映样本的重要性,然后将训练样本输入到DSMSM-SVDD中实现数据分类.实验部分,讨论了算法参数间的关系及其对算法分类性能的影响,给出算法参数取值建议.最后通过与C-SVDD的对比实验,表明本文建议的算法在不均衡数据情况下的分类性能优于C-SVDD算法.【期刊名称】《电子学报》【年(卷),期】2018(046)011【总页数】8页(P2725-2732)【关键词】支持向量域数据描述;不均衡数据;相对密度【作者】陶新民;李晨曦;沈微;常瑞;王若彤;刘艳超【作者单位】东北林业大学工程技术学院,黑龙江哈尔滨150040;东北林业大学工程技术学院,黑龙江哈尔滨150040;东北林业大学工程技术学院,黑龙江哈尔滨150040;东北林业大学工程技术学院,黑龙江哈尔滨150040;东北林业大学工程技术学院,黑龙江哈尔滨150040;东北林业大学工程技术学院,黑龙江哈尔滨150040【正文语种】中文【中图分类】TP3911 引言分类问题作为一项重要的任务,在机器学习、模式识别与数据挖掘领域有着广泛的应用[1~3].在分类问题的模型构造方面,通常分为二分类算法和单分类算法.以往基于二分类的算法都是在样本均衡的前提条件下进行的.其中,基于统计学习理论结构风险最小化的支持向量机(Support Vector Machine,SVM)算法[4-5]作为一个经典的二分类算法,因其良好的非线性区分能力近年来引起了广泛关注.然而在实际应用过程中所能得到的训练数据在数量上或质量上并不都是均衡的,因此受不均衡数据的影响,传统SVM分类性能严重下降[6].那么如何提高分类算法在不均衡数据下的分类性能成为了众多学者关注的重点.近些年,学者们相继提出了各种处理不均衡数据分类的改进算法.其中针对二分类算法的研究方向主要分为两大类:第一类是为了改进现有分类器的模型.其中代价敏感学习方法就是通过把各类的不同错分代价应用到分类决策中去,来尽可能地降低误分类的整体代价,然而由于代价敏感值的大小在现实应用中难以确定,使得该方法在实际应用中受到限制[7].第二类方法是数据均衡化处理,即将不均衡数据分类问题转化为均衡的两类分类问题进行研究,最具代表性的就是利用抽样算法[8]实现数据均衡,其中又分为对多数类样本的欠抽样[9]和对少数类样本的过抽样[10].欠抽样算法由于只抽取了多数类的子集来训练分类器,忽略掉了多数类样本的重要结构分布信息,从而引起边界偏移.传统过抽样算法因为复制的少数类样本没有增加任何新知识,从而导致过学习问题.虽然后来提出的基于SMOTE[11]过取样能在一定程度上降低非平衡度且优于传统的过抽样方法,但是由于训练样本的增加会使决策域减小,导致算法过度拟合,同时人为增加样本有可能造成噪声点增加,从而降低分类精度.与传统两分类算法相比,单分类算法在处理不均衡数据的分类问题时,因为能有效地分辨出多数类样本与少数类样本,且具有更高的识别率与精度.因此,近年来受到了学者们广泛关注.其中传统支持向量域描述(C-SVDD)算法因其原理简单、训练速度快,现已被广泛应用于不均衡数据分类领域[12-13].然而由于C-SVDD在训练过程中没有考虑到训练样本在原始空间的分布差异对求解最优分类界面的影响,使得求解后的分类界面受野性噪声点的影响出现偏移,进而降低了分类器的泛化性能.另外,C-SVDD利用的是惩罚因子对两类样本集的错分总和进行调整,当面对线性可分问题时,两类样本集的错分样本总和为零,因此没有起到调整边界的作用.鉴于此,本文为了充分考虑原始空间中样本的分布信息,通过引入相对密度[14]来反映训练样本的重要程度,使处于相对密度高区域的训练样本较相对密度低的训练样本更易落入超球体之内,进而消除噪声影响.同时借鉴传统SVM分类间隔最大化思想,对C-SVDD进行改进[15],通过引入最大软间隔正则项[16]来充分利用少数类样本信息,将分类界面向少数类偏移,进而提高算法处理不均衡数据的分类性能.本文通过将上述两种思想结合后提出一种基于密度敏感最大软间隔SVDD不均衡数据分类算法.实验部分将本文提出的方法同C-SVDD进行比较,结果表明本文的方法在数据不均衡情况下的分类性能较C-SVDD有较大幅度提高.2 理论分析2.1 C-SVDD算法C-SVDD作为直接使用目标训练数据进行分类判别的经典单分类算法,其中心思想是借助非线性映射φ(·)将训练样本映射到高维特征空间中,然后在特征空间中通过求解球心a和半径R来寻找包含大多数映射训练样本的最小超球体.C-SVDD通过引入惩罚因子来控制对不同类别错分样本的惩罚力度,由于该算法不依赖少数类样本的个数,因此非常适合处理不均衡数据分类问题.其简要数学模型如下:(1)约束条件为:∀i=1,2,…,N∀(2)其中,R为超球体半径,a为圆心,表示多数类与少数类训练样本数目,为用于控制多数和少数训练样本损失函数大小的惩罚因子,ξi,ξj分别为不同类别样本实际错误的松弛变量,φ(xi),φ(xj)表示训练样本xi,xj在高维特征空间的映射.这里由拉格朗日最优化理论,可得上述问题的对偶问题:(3)约束条件为:(4)∀i,yi=1,i=1,2,…,N(5)∀(6)其中,为拉格朗日乘子,在描述中所对应的xi,xj称为支持向量,即为位于球体边缘决定分类界面的训练样本.2.2 DSMSM-SVDD算法2.2.1 密度敏感因子C-SVDD作为经典的单分类算法因其原理简单易实现被广泛应用于不均衡数据的分类问题.但是由于C-SVDD没有充分考虑训练样本的自身分布情况,导致在反映目标数据集整体密度分布特性上具有一定的局限性.在C-SVDD模型的训练过程中,尽管惩罚因子C对错分样本点具有一定的约束作用,但是由于C是一个不变的常参量,即表示对所有的训练样本同等处理,导致C-SVDD模型在训练过程中对异常点或者噪声点非常敏感,甚至造成算法过分拟合.另外,C-SVDD在训练过程中与经典的SVM算法一样,最优分类界面仅仅依靠小部分被称为支持向量的数据来确定,忽略了球体内非支持向量对数据域描述的影响.但由于具有较高密度的非支持向量周围区域比较低密度区域更重要,所以对其错分的惩罚力度应该增加,以便于更准确地识别出目标数据集的数据域描述,提高算法的分类性能.因此,仅依靠支持向量来确定最优分类界面而不考虑密度分布可能会错过最优解.针对C-SVDD的上述问题,本文通过对每个目标数据点引入相对密度,并与错分惩罚项相结合,改造C-SVDD优化目标的方式来体现相对密度对算法最优解的影响.即达到使分布在相对密度较大区域的样本点尽可能地包含在描述区域边界内,而相对密度较小的噪声点因惩罚因子的作用不会对最优分类界面的求解产生影响的目的.其中,本文采用Parzen-window算法来计算样本的相对密度,具体方法描述如下:设X=[x1,x2,…,xN]为给出的目标训练样本集,其中N代表目标训练样本的个数.对于任意一个训练样本xi其相对密度ρi的定义如下:∀i=1,2,…,N(7)其中D为输入数据的维度,ω为权重,s是Parzen-window的平滑参数.若训练样本点xi获取的相对密度值ρi越大,则表明xi所处的区域越紧致.2.2.2 最大软间隔项C-SVDD虽然通过对多数类与少数类样本增加不同惩罚因子的方式使其分类界面向少数类样本方向偏移,进而提高算法的分类性能.但是C-SVDD在解决线性可分问题时,由于多数类样本与少数类样本错分总和为零,惩罚因子对算法达不到调整分类界面的效果.因此,针对上述问题,本文在充分借助少数类样本信息的前提下,借鉴传统SVM最大软间隔思想,对C-SVDD算法的优化目标进行改进,通过增加少数类样本与多数类样本的最大软间隔正则项信息,使得算法的最优分类界面向少数类偏移,提升算法分类性能,进而提高C-SVDD处理不均衡数据集的能力.2.2.3 DSMSM-SVDD算法针对C-SVDD存在的上述两方面问题,本文提出一种DSMSM-SVDD算法.令为目标训练样本数据集,其中xi为目标训练样本,ρi为对应目标样本xi的相对密度.针对不均衡数据分类问题,当xi∈多数类时,ρi求法如上节所述.考虑到少数类样本稀少,按上述方法计算后的相对密度无法体现少数类样本真实的密度分布信息,因此当xj∈少数类时,令ρj=1.为了便于描述,这里采用φ(xi)表示训练样本xi在高维特征空间的映射.DSMSM-SVDD算法具体的数学模型表示如下:(8)约束条件为:yi(R2-〈φ(xi)-a,φ(xi)-a〉)≥d2-ξi(9)ξi≥0,∀(10)其中,d表示超球面S距离最近多数、少数类训练样本的距离,M≥1为调节超球面半径和间隔项的参数,为用于控制多数和少数训练样本损失函数大小的惩罚因子,ξi、ξj为实际错误.由上述的优化问题,得广义的拉格朗日函数:L(a,R,d,ξi,ξj,α,β)=(11)其中,利用KKT条件有:(12)(13)(14)∀i,yi=1(15)∀j,yj=-1(16)还有松弛互补条件:αi[d2-ξi-yi(R2-〈φ(xi)-a,φ(xi)-a〉)]=0 (17)αi≥0(18)-βiξi=0(19)βi≥0(20)由于αi,βi均是非负实数,由式(12)得:(21)由式(13)得:(22)由式(15),(18)得:∀i,yi=1(23)由式(16),(18)得:∀j,yj=-1(24)由式(14),(21)得:(25)将式(15),(16),(21),(22),(25)代入L中,得:L(a,R,d,ξi,ξj,α,β)=(26)做下变换kernel(xi,xj)=φ(xi)·φ(xj),本算法引用经典高斯核函数,则得到原问题的对偶问题:(27)约束条件:(28)(29)αi≥0,∀(30)∀i,yi=1,i=1,2,…,N(31)∀(32)通过求解上述问题,得到α.进而求得a与R.令∀则:(33)R2=(34)其中,Nn为属于多数类且是支持向量的样本点个数,Na为属于少数类且是支持向量的样本点个数.xl为多数类支持向量,xm为少数类支持向量,k(xi,xj)为高斯核函数.对于待测样本xnew,构造决策函数对其进行分类:(35)表明待测样本xnew为多数类样本,表明待测样本xnew为少数类样本.根据KKT最优化条件得:位于多数类间隔内的多数类样本满足:αi=0⟹位于少数类间隔内的少数类样本满足:αj=0⟹位于多数类间隔上的多数类样本满足:位于少数类间隔上的少数类样本满足:位于多数类间隔外的多数类样本满足:位于少数类间隔外的少数类样本满足:(36)2.2.4 M值的取值范围由式(36)知,带有间隔错误的多数类样本对应的ξi>0,根据松弛互补条件-βiξi=0,则相对应的拉格朗日乘子βi=0,同时由式(15)可推得同理,对于带有间隔错误的少数类样本结合式(29),(30)可以得到:ρj(37)我们分别通过式(31)、(32)可以得到并且由于只有多数类、少数类支持向量和错分的多数类、少数类样本对应的αi>0,αj>0.可得:ρj(38)综上,(39)其中,Pm+是带有间隔错误的多数类样本的数目,Qm+是多数类支持向量的数目,Pm-是带有间隔错误的少数类样本的数目,Qm-是少数类支持向量的数目.2.2.5 DSMSM-SVDD算法引入相对密度的必要性由于则由式(39)可以推得:(40)假如算法没有考虑每个样本的相对密度,即ρi=1,ρj=1.则式(40)化为:M<c1+c2(41)由式(41)可知,在c1,c2都较小的情况下,不考虑密度的影响,M的取值范围完全取决于惩罚因子C的大小.当实验注重多数类和少数类训练样本的最大软间隔时,由于M受取值上界的限制,可能会导致算法的泛化能力提升不明显.因为ρi≥1,ρj≥1可以使M的取值更灵活,所以密度参数的提出是必要的.3 实验与分析3.1 不均衡数据分类性能度量指标为了能量化地衡量分类算法对不均衡数据分类性能的影响,近些年来研究人员提出了一些适用于不均衡数据分类性能的评测指标,为了方便描述,这里首先介绍混合矩阵的定义:表1 混合矩阵预测正类预测负类真正正类TPFN真正负类FPTN其中,TP(True Positive)指使用分类算法将原本属于正类的样本正确地预测为正类的样本数;FP(False Positive)指使用分类算法将原本属于负类的样本错误地预测为正类的样本数;FN(False Negative)指使用分类算法将原本属于正类的样本错误地预测为负类的样本数;TN(True Negative)指使用分类算法将原本属于负类的样本正确地预测为负类的样本数.因此,可得:正类样本正确率(Sensitivity):负类样本正确率(Specificity):正类样本准确率(Precision):几何平均正确率G-Mean:正类样本F-Measure指标:3.2 实验数据来源为了验证本文提出的DSMSM-SVDD算法在处理不均衡数据分类方面的优势,我们进行了下列实验.其中实验数据均来源于国际机器学习标准数据库UCI中的11组不同的数据集,数据特征信息见表2.其中类别表示选择出来作为少数类和多数类样本的代表类别.实验环境:Windows7操作系统,CPU:Intel i7,3.4G处理器,仿真软件为Matlab2010b.表2 实验数据集描述数据集属性少数类/多数类类别german24300/700B/Gyeast8429/463NUC:CYTwpbc3446/148R:Npima8268/5001:0abalone8634/68910:9sonar6097/11 1-1:1haberman381/2252:1ionosphere33126/225Bad:Goodphome5317/6831:0breast cancer9239/4444:2wine1371/592:13.3 M与取值范围的相互影响为了测试参数M与取值范围之间的关系,令DSMSM-SVDD算法中ρi=1,ρj=1,则式(39)化为:(42)我们设计了如下实验:选定C=(0.01,1),通过将M从1至1000逐步增加,来显式观察算法的分类界面位置和支持向量分布情况,结果如图1所示.其中,DSMSM-SVDD选取核半径参数为σ=1的高斯核函数.通过图1对比可以发现M=1时由于算法中最大间隔项的权重较小,算法等同于C-SVDD.当M从1增加至10时,最大间隔项的权重增大,使得分类界面向两类样本最大间隔处偏移,呈现SVM分类特征,降低多数类样本错分率,泛化能力有所提升.但随着M值的进一步增加,其分类界面位置和支持向量分布情况并不理想.其原因由不等式(42)知:当C取值较小,随着M值的增大,因受不等式(42)中M 上界的约束,导致支持向量个数增多,当M=50时,几乎所有多数类样本成为支持向量,出现过拟合现象.另外,当M=1000时,最优分类界面出现SVM分类特征是因M值过大,所有的多数类样本作为支持向量也不能满足不等式(42)约束,迫使所有少数类样本也充当支持向量,虽分类界面向中间移动,但此时算法要消耗大量的时间与空间,降低算法实现速度,且算法完全过拟合.因此可初步得出如下结论:M值的调节范围是受C值的影响.当C取值较小,M的取值不能过大,否则为了满足M值上界的约束将导致支持向量个数增多,出现过拟合现象.因此当C 较小,应尽可能地选取较小合理的M值.为了能够进一步量化地观察M与C值之间的相互关系,我们选取来自UCI的wine数据集作为本次实验的测试数据,其中多数类与少数类样本数目按30:1的比例来选取.M值从1至1000逐渐增加,观察C在分别为(0.01,1),(0.1,1),(10,100)时的G-Mean,F-Measure性能曲线变化趋势,F-Measure,G-Mean值越大,说明该算法的综合分类性能越好.其他参数同上,测试结果如图2所示.通过图2可知:在M值逐渐增大的过程中,较大C值的G-Mean,F-Measure 性能达到稳定时的M值要大于较小C值的G-Mean,F-Measure性能达到稳定时的M值.即当C值较大时,M的取值范围扩大;同样,当C值较小时,M的取值范围缩小,该实验现象也进一步验证了前期实验得出的M值的上界受C值影响的初步结论.另外,通过实验可知当M取值较大时,C必须取相应较大的值,才能防止因受式(42)右半部分不等式限制导致支持向量个数增大而产生过拟合现象.而当M值较小时,C的取值范围可适当扩大,但C的取值不可以无限制小,仍要满足不等式(42).该实验结论同样与前面实验得到的初步结论相吻合.3.4 DSMSM-SVDD与C-SVDD算法性能比较实验及分析为了比较本文提出的DSMSM-SVDD算法与C-SVDD算法在处理不均衡数据分类问题上的性能,这里做了如下实验:实验数据集如表2所示.我们将表2中的多数类数据和少数类数据按10:1的比例进行选取.对于每类数据集,为了防止数据的随机影响,我们通过10次交叉验证法进行实验测试.DSMSM-SVDD与C-SVDD的分类性能最终以G-Mean性能指标与支持向量个数(Support Vector,SV)的统计平均值作为评价标准.其中,DSMSM-SVDD与C-SVDD均采用核半径参数σ=10的高斯核函数,C=(0.01,1)的惩罚因子,DSMSM-SVDD算法中M=50,ω=2,s=3.实验结果如图3及图4所示.通过图3可知,本文提出的DSMSM-SVDD算法的G-Mean性能指标值均高于C-SVDD,即本文算法在处理不均衡数据分类问题时,较C-SVDD具有更好的泛化能力.这是由于C-SVDD只考虑包含多数类样本的超球面半径项,而没能考虑两者的间隔信息,使得到的分类界面受不均衡数据的影响产生偏移.同时,该算法在处理训练样本整体分布特性上具有一定局限性,很可能将密度大的非支持向量区域误判,导致分类精度不高.而本文提出的算法不仅充分考虑了两类样本的间隔信息,同时通过对多数类样本增加相对密度的方式来保证在目标函数的求解过程中考虑到数据分布差异的影响,使求解的最优分类界面更加合理,进而提升了算法泛化性能.另外,通过图4的条形图可以看到,除了breast cancer ,wine数据集之外,本文算法的支持向量个数远远小于C-SVDD.由于两种算法的复杂度均取决于支持向量的个数,因此可以说本文算法在时间和空间上的消耗都远小于C-SVDD算法.3.5 高斯核函数半径值对算法分类性能的影响为了考察高斯核函数半径参数σ对DSMSM-SVDD算法分类性能的影响,我们从表2的数据集中选取pima,yeast,haberman,german,ionosphere 5类难分数据集作为本次实验数据.每类数据按10∶1的比例进行多数类与少数类样本的选取,通过10次交叉验证方法测试.其中,σ的选定区间为[3,100],其他参数M=50,ω=2,s=3,C=(0.1,1).实验通过改变σ值来观察DSMSM-SVDD算法的G-Mean性能的变化趋势,结果如图5所示.通过图5我们可以得出:DSMSM-SVDD算法随着参数σ值的增大,各数据集的综合分类性能指标G-Mean值的变化趋势缓慢,彼此之间的区分不明显.这是因为本文提出的DSMSM-SVDD算法中采用了最大软间隔正则项,使得优化后得到的分类界面泛化能力的提升很大程度上取决于间隔项的影响,这也在一定程度上抵消了高斯核半径对算法分类性能的影响.4 结论针对不均衡数据的分类问题,提出一种基于密度敏感最大软间隔支持向量域描述算法.通过实验分析得到如下结论:(1) 为了消除噪声影响同时防止算法欠拟合,本文通过引入相对密度来反映训练样本的重要程度,使处于相对密度高的非支持向量区域的训练样本较相对密度低的训练样本更易落入超球体之内,进而消除噪声影响.实验部分通过和C-SVDD进行对比的结果表明,该方法更有利于算法准确地识别出给定目标数据集的数据域描述,进而提高了算法的泛化性能.(2) 为了消除不均衡数据集对C-SVDD算法性能的影响,本文在充分利用少数类样本信息的前提下,借鉴传统SVM最大化间隔思想,将最大软间隔加入C-SVDD 的优化目标函数中.实验结果表明,该方法有效提高算法处理不均衡数据的分类性能,同时使分类结果不随高斯核参数的改变而明显改变,这在一定程度上消除了高斯核参数对算法性能的影响.(3) 实验部分将间隔项参数M、惩罚因子C以及高斯核半径参数σ之间的关系进行分析讨论并给出相应的结论.值得一提的是,如何实现两个参数的联合优化对于提升本文算法处理不均衡数据分类性能而言至关重要,这也将是本课题下一阶段研究的重点.参考文献【相关文献】[1] Gu B,Sun X M,Sheng V S.Structural minimax probability machine[J].IEEE Transactions on Neural Networks and Learning Systems,2016,28(7):1646-1656.[2] Luo FF,Guo W Z,Yu Y L,et al.A multi-label classification algorithm based on kernel extreme learning machine[J].Neurocomputing,2017,260:313-320.[3] H B,Ho H C,Z J,et al.An overview and comparison of machine-learning techniques for classification purposes in digital soil mapping[J].Geoderma,2016,265:62-77.[4] Zhang X,Zhang X.Adaptive multiclass support vector machine for multimodal data analysis[J].Pattern Recognition,2017,70:177-184.[5] Zuo W M,Wang F Q,Zhang D,et al.Distance metric learning via iterated support vector machines[J].IEEE Transactions on Image Processing,2017,26(10):4937-4950.[6] 陶新民,李震,刘福荣,等.基于精简集支持向量机的变压器故障检测方法[J].高电压技术,2016,42(10):3199-3206.Tao Xinmin,Li Zhen,Liu Furong,et al.Fault detection method for power transformer based on SVM using reduced vector set[J].High Voltage Engineering,2016,42(10):3199-3206.(in Chinese)[7] Zhou Y H,Zhou Z rge margin distribution learning with cost interval and unlabeled data[J].IEEE Transactions on Knowledge and Data Engineering,2016,28(7):1749-1763. [8] 毕冉,李建中,高宏.无线传感器网络中基于双阈值的分布式检测算法[J].电子学报,2014,42(8):1594-1600.Bi Ran,Li Jianzhong,Gao Hong.Dual threshold based distributed monitoring algorithm in wireless sensor network[J].Acta Electronica Sinica,2014,42(8):1594-1600.(in Chinese) [9] 陶新民,张冬雪,郝思媛,等.基于谱聚类欠取样的不均衡数据SVM分类算法[J].控制与决策,2012,27(12):1761-1768.Tao Xinmin,Zhang Dongxue,HaoSiyuan,et al.SVM classifier forunbalanced data based on spectrum cluster-based under-sampling approaches[J].Control andDecision,2012,27(12):1761-1768.(in Chinese)[10] Abdi L,Hashemi S.To combat multi-class imbalanced problems by means of over-sampling techniques[J].IEEE Transactionson Knowledgeand DataEngineering,2016,28(1):238-251.[11] Jian C X,Gao J,Ao Y H.A new sampling method for classifying imbalanced data based on support vector machine ensemble[J].Neurocomputing,2016,193:115-122.[12] 杨金鸿,邓廷权.一种基于单簇核PCM的SVDD离群点检测方法[J].电子学报,2017,45(4):813-819.Yang Jinhong,Deng Tingquan.A one-cluster kernel PCM based SVDD method for outlier detection[J].Acta Electronica Sinica,2017,45(4):813-819.(in Chinese)[13] Lazzaretti A E,Tax D M J,Neto H V,et al.Novelty detection and multi-class classification in power distribution voltage waveforms[J].Expert Systems with Applications,2016,45:322-330.[14] 程昊翔,王坚.基于快速聚类分析的支持向量数据描述算法[J].控制与决策,2016,31(3):551-554.Cheng Haoxiang,Wang Jian.Support vector data description based on fast clustering analysis[J].Control and Decision,2016,31(3):551-554.(in Chinese)[15] Huang J,Yan X F.Related and independent variable fault detection based on KPCA and SVDD[J].Journal of Process Control,2016,39:88-99.[16] 文传军,詹永照,陈长军.最大间隔最小体积球形支持向量机[J].控制与决策,2010,25(1):79-83.Wen Chuanjun,Zhan Yongzhao,Chen Changjun.Maximal-margin minimal-volume hypersphere support vector machine [J].Control and Decision,2010,25(1):79-83.(in Chinese)。
SVD算法原理及应用
SVD算法原理及应用SVD全称Singular Value Decomposition,即奇异值分解,是一种常用的线性代数技术。
SVD的主要作用在于降维和矩阵分解,已经被广泛应用在图像处理、自然语言处理、推荐系统等领域。
本文将着重介绍SVD的原理与应用,并举例说明SVD能够解决哪些实际问题。
1. SVD算法原理SVD算法最初是由Eckart和Young在1961年提出的,它可以将一个$m$行$n$列的矩阵$A$表示为如下的矩阵积形式:$$A=U\Sigma V^T$$其中,$U$是一个$m$行$m$列的正交矩阵,$V$是一个$n$行$n$列的正交矩阵,$\Sigma$是一个$m$行$n$列的对角矩阵,其主对角线上的元素被称为$A$的奇异值。
SVD的另一种等价形式是将$\Sigma$表示为一个由奇异值构成的向量$\sigma$与一个$m$行$n$列的正交矩阵$B$的积:$$\Sigma=\begin{bmatrix} \sigma_1 & 0 & \cdots & 0 \\ 0 &\sigma_2 & \cdots & 0\\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 &\cdots & \sigma_p \\ 0 & 0 & \cdots & 0 \\ \vdots & \vdots & \ddots &\vdots \\ 0 & 0 & \cdots & 0 \end{bmatrix}$$其中,$p=\min\{m,n\}$。
SVD的原理可以解释为矩阵分解,通过分解原始矩阵$A$可以获得一组对应的正交基,并将矩阵$A$分成三份:一个由左奇异向量组成的矩阵、一个由奇异值构成的对角线矩阵和一个由右奇异向量组成的矩阵。
不均衡最大软间隔SVDD轴承故障检测模型
不均衡最大软间隔SVDD轴承故障检测模型【摘要】本文介绍了一种基于不均衡最大软间隔SVDD的轴承故障检测模型。
在不均衡问题分析中,我们探讨了传统模型在处理不均衡数据集时的局限性。
随后介绍了最大软间隔支持向量数据描述器(SVDD)的原理,以及如何应用于轴承故障检测中。
我们设计了基于SVDD的轴承故障检测模型,并对其进行了模型评估和实验结果分析。
实验结果表明,该模型在不均衡数据集下具有较高的准确性和稳定性。
结论部分总结了该模型的优势,同时展望了未来在该领域的研究方向。
该模型为轴承故障检测提供了一种新的解决方案,具有重要的理论和应用价值。
【关键词】不均衡、最大软间隔、SVDD、轴承、故障检测、模型设计、模型评估、实验结果分析、优势、研究展望1. 引言1.1 研究背景引言轴承故障检测是工程领域中一个重要的问题,轴承的故障会导致设备的损坏和工作效率的降低,严重影响生产和安全。
及早准确地发现轴承故障是至关重要的。
传统的轴承故障检测方法主要包括振动分析、声音分析、温度分析等,这些方法虽然在一定程度上可以检测出轴承的故障,但仍然存在着一些问题,比如无法处理高维数据、对不均衡数据的处理能力较弱等。
为了解决这些问题,近年来,基于支持向量数据描述器(SVDD)的故障检测方法逐渐受到了研究者的关注。
SVDD是一种基于支持向量机(SVM)的无标签学习方法,它可以有效地处理高维数据和不均衡数据,并且可以很好地处理异常检测问题。
传统的SVDD方法在处理不均衡数据时存在着一些问题,比如对于少数类样本的处理能力较弱,容易导致模型的偏向性。
本文将结合最大软间隔的方法,提出一种不均衡最大软间隔SVDD轴承故障检测模型,旨在提高模型的泛化能力,准确地检测出轴承的故障,从而保证设备的正常运行和工作效率。
1.2 研究意义轴承是机械设备中不可或缺的重要部件,其运行状态直接影响着设备的工作性能和寿命。
轴承故障检测一直是工程领域关注的焦点。
传统的轴承故障检测方法主要依赖于振动信号分析和频域特征提取,存在着对运行状态非常敏感、易受干扰和背景噪声影响等缺点。
matlab超参数寻优svdd算法
一、概述matlab是一种十分流行的科学计算软件,它提供了丰富的工具箱,在数据分析领域有着广泛的应用。
svdd算法是一种用于单类别分类的支持向量机算法,它在异常检测和数据挖掘中被广泛使用。
在使用svdd 算法时,合适的超参数选择对算法的性能起着至关重要的作用。
本文将介绍如何利用matlab进行svdd算法的超参数寻优。
二、svdd算法简介1. svdd算法原理svdd(Support Vector Data Description)算法是一种基于支持向量机的单类别分类算法。
它的目标是找出一个以数据集为中心的超球体,使得该超球体内尽可能包含更多的数据点,而超球体外部的数据点被认为是异常点。
svdd算法的目标函数可以表示为:minimize (1/2)∑_(i=1)^n?α_i?-∑_(i=1)^n?∑_(j=1)^n?(α_i?α_j?η_(ij)?)subject to ∑_(i=1)^n?α_i?y_i?= 1/θ0≤ α_i ≤ C其中n为数据点的个数,α为lagrange 乘子,yi为样本的类别标签,C为惩罚参数,θ为超参数,ηij为核函数。
2. svdd算法的优势svdd算法在异常检测和数据挖掘中有着广泛的应用,它的优势主要体现在以下几个方面:(1)对异常点的鲁棒性。
svdd算法能够有效地忽略正常样本的扰动,更加关注异常样本,对于异常点检测具有较强的鲁棒性。
(2)内核技巧的应用灵活性。
svdd算法可以根据具体问题选择不同的核函数,增加了算法的灵活性和适用性。
(3)泛化能力强。
svdd算法在处理高维数据的时候,能够有效地利用支持向量,具有较强的泛化能力。
三、matlab中的svdd算法实现在matlab中,可以使用libsvm工具箱来实现svdd算法。
libsvm是一个广泛使用的用于支持向量机的软件包,提供了丰富的函数和工具,可以帮助用户实现各种支持向量机算法。
1. matlab中的libsvm安装在matlab中安装libsvm工具箱非常简单,只需要下载libsvm的压缩包并解压,添加到matlab的路径中即可使用。
SVD(奇异值分解)算法及其评估
同理如果将 V 划分为以下的形式 V = (V1 , V2 ) 其中 V1 为 n × r 的矩阵,则 V1 的列向量构成矩阵 A 的行空间的正交向量
⊥ 基。且 RA = V1V1T 为投影到矩阵 A 的行空间上的正交投影算子;而 RA = V2V2T 则是到矩阵 A 行空间的正交补空间上的投影。 (3) 最小二乘法问题(LS 问题)
i =1 r
其中 ( A) , ( A) 分别指得是 A 的零空间和值域。 为了方便,我们采用如下表示奇异值的记号: σ i ( A)=A 的第 i 大奇异值;
σ max ( A)=A 的最大奇异值; σ min ( A)=A 的最小奇异值。
现在来考察矩阵奇异值的几何意义[1,2],不妨设 m = n ,此时有 En =∈ y Cn : y = Ax, x ∈ C n , x 2 = 1
SVD(奇异值分解)算法及其评估 本文第一部分对 SVD 进行了简单的介绍,给出了定义和奇异值分解定理;第二 部分简要地列举了 SVD 的应用;第三部分则构造和分析了各种求解 SVD 的算法, 特别对传统 QR 迭代算法和零位移 QR 迭代算法进行了详细完整的分析;第四部分 给出了复矩阵时的处理办法;第五部分是对各种算法的一个简要的总结。 一、 SVD 简介
首先来对 SVD 算法的发展来做简单的回顾[11,12]:关于 SVD 算法的研究最早 可以追溯到 1873 年 Beltrami 所做的工作, 这中间在理论方面进行了大量的工作, 这 个历史过程可以参考 Stewart 的文献[8]。 但是直到 1965 年 Golub 和 Kahan 才在 SVD 的数值计算领域取得突破性进展[9],并且于 1969 给出了比较稳定的算法[10](以下 简称传统 QR 迭代算法) ,这也是后来在 LINPACK 中所采用的方法[3]。它的中心思 想是用正交变换将原矩阵化为双对角线矩阵,然后再对双对角线矩阵迭代进行 QR 分解。 六十年代一份没有出版的技术报告中,Kahan 证明了双对角线矩阵的奇异值可 以精确地计算,具有和原矩阵元素的相对的精确度;进一步,1990 年 Demmel 和 Kahan 给出了一种零位移的 QR 算法(zero-shift QR algorithm),这种算法计算双对角 矩阵的奇异值具有很高的相对精度[13],并且由此得到的奇异向量也具有很高的精 度[14]。 Fernando 和 Parlett 在 1994 年将 qd 算法应用到奇异值的计算上,从而得到了一 种全新的比 zero-shift QR algorithm 更加精确和快速的计算奇异值的算法[15,16]。 而 Demmel 和 Veselic 在文献[17]中则说明了用 Jacobi 方法与其它方法相比计算 所得到的奇异值和奇异向量具有更高的精度,可惜 Jacobi 算法比 DK 算法速度要慢 的多;在文献[18]中对 Jacobi 方法进行了改进使得其在速度上几乎和 DK 算法相当。 和 Strassen 算法类似,SVD 问题也有快速的分而制之算法,在文献[19,20]对其 有详细的介绍, 由此得到的算法在总计算量上比现有的 LAPACK 软件包中所采用的 方法要少的多。 在文献[21,22]中给出的 bisection 算法也可以对双对角线矩阵计算得到具有相对 精度的全部奇异值。 以下就开始对各种算法原理进行详细说明,并分析它们的计算量,计算的精确 度,以及所占得内存。
一种基于有效向量集的SVDD增量学习算法
本文通 过对 S VDD增 量 学 习 中 原 有 样 本 和 新 增 样 本 特 性 的进 一 步 分 析 ,提 出有 效 向 最 集
的 概 念 , 进 一 步 提 出 一 种 基 有 效 向 最 集 的 S VDD 增 量 学 习 算 法 E I S VDD
( Ef f e c t i v e — v e c t o r s b a s e d I n c r e me n t a l S VDD ) 。
一
在 负 类 样 本 时 ,也 可 以利 用 正 负 两 类 样 本 同 时
参 与 训 练 ; 并 且 可 以 利 用 核 函数 来 使 分 类 器 更
加灵 活准确 。
些 实 时 性 要 求 较 强 的场 景 下 应 用 受 限 。 另 一
万面 ,S V DD 分 类 器 的 训 练 结 果 仪 由 占 训 练 样 本 中 一 小 部 分 的 支 持 向量 集 决 定 ,给 S VDD 的
l 引 言
支 持 向罱 数 据 描 述 【 ]( S u p p o r t V e c t o r Da t a De s c r i p t i o n ,S V DD)是 一 种 有 效 的单 类 识 别 算 法 ,在 说 话 人 识 别 、 入 侵 检 测 、故 障 诊 断 、气 象预 报等方 面都得 到 了 用 并 取 得 良好 效 果 。 在 实 际 应 用 中 ,有 下 列 三 种 情 况 使 S VDD 增 量
・c ; ) O l 义” l l . 1 I ・ . \
/
/ / , /
起 进 行 说 明 。在 后 文 的 描 述 L } J , 如 果 不 加 特 殊 说 明 ,样 本 下 标 i ,,为 正 类 样 本 的索 引值 ; , ,
SVDD算法详解
4.3.3实现技术(1)KKT 条件,工作集选取及停止准则在求最小包围球的过程中,迭代没有结束前,每轮迭代会有一个新点被选中,核集中加入新的点后,在核集中的点是下面三种情况之一:1.核向量,满足KKT 条件;2.处在球内的非核向量,对应的i α为0,也满足KKT 条件;3.在(,)t t B c R 外面。
刚加入进来的点0l α=违反KKT 条件。
加入新的训练点后,参照传统SVM 方法对核集中的样本点检查是否违反KKT 条件的算法推导如下:原始问题的KKT 条件:22(||()||)0i i i R c x αξϕ+--=(4.16)加上已知条件0i i βξ=,0i i C αβ--=根据i α的不同,有三种情况:●0i α=,有22||()||0i i R c x ξϕ+--≥,又i C β=,则0i ξ=,因此有22||()||i c x R ϕ-≤(4.17)●0i C α<<,有22||()||0i i R c x ξϕ+--=,又0i β>,则0i ξ=,因此有22||()||i c x R ϕ-=(4.18)●i C α=,有22||()||0i i R c x ξϕ+--=,又0i β=,则0i ξ≥,因此有22||()||i c x R ϕ-≥(4.19)每次迭代以对KKT 条件破坏最多的两个样本为工作集,因此,选取以下两个样本下标2arg max(||()|||)i i s c x C ϕα=-<2arg min(||()|||0)i i t c x ϕα=->若记2||()||s i g c x ϕ=-,2||()||t i g c x ϕ=-则根据KKT 条件,我们有s t g g ≤。
实际中我们考虑(0)s t g g δδ≤+>,因此在算法停止前,都有s t g g δ>+(4.20)在运算的过程中因为有,(,)2(,)(,)t i ts i j i j i i s s s i j S x S g k x x k x x k x x ααα∈∈=-+∑∑,(,)2(,)(,)t i t t i j i j i i t t ti j S x S g k x x k x x k x x ααα∈∈=-+∑∑所以实际上是:(,)(,)2i t i t i i t i i s x S x S k x x k x x δαα∈∈->∑∑(2)规模为2问题的解析解找出核集中违反KKT 条件的训练点后,更新其对应的Lagrange 因子值。
边界检测快速SVDD算法
边界检测快速SVDD算法朱发;业宁;徐昇;徐姗姗【摘要】SVDD要求一个包含目标数据的尽可能小的球体.与SVM类似,这个球体由少部分支持向量决定.对于一个有限数据集,支持向量是位于数据分布边缘的少部分样本.这样的样本可以根据样本与其近邻的差和样本之间夹角的余弦和来判断.由于样本的近邻分布具有不对称性,通常靠近数据分布边缘的样本的余弦和接近于±k,而位于数据分布内部样本的余弦和接近于0.根据余弦和可以去除大量位于数据分布内部的样本,而对最后的学习结果没有什么影响.这样可以在一定程度上缓解SVDD求解二次规划造成的时间]和内存开销过大的问题.实验结果表明,在仅保留5%~9%的边缘样本学习得到的数据描述与用整个数据集获得的数据描述仅有微弱的差别,速度儿乎可以提高2个数量级.%The problem of SVDD (support vector data description) requires obtaining a spherically shaped boundary around the complete target set, which minimizes the chance of accepting outliers. Similar to SVM, the sphere is only determined by the support vectors. In a finite data set, the support vectors are those samples, which locate near the boundary of the data distribution. And they can be determined by the sum of cosine of the angle, which is between the sample and the subtraction the sample from its neighbor. Because the neighbors are asymmetry, the cosine sum, of which sample locates within the data distribution is close to 0 and the cosine sum, of which sample locate near the boundary of the data distri bution, is close to ± k ( k is the number of the neighbors). According to the value of the cosine sum, an abundance of samples in the data distribution can be disposed. And thefinal result will not be so bad. This will ease the problem of time and memory overhead caused by the quadratic programming. Experimental results show that if we only retain 5% -9% of the samples near the boundary of the data distribution, the data description will be a little different from the data description obtained in the whole dataset. But the speed almost increases by two orders of magnitude.【期刊名称】《江苏科技大学学报(自然科学版)》【年(卷),期】2012(026)002【总页数】4页(P159-162)【关键词】SVDD;边界检测;余弦和;一分类【作者】朱发;业宁;徐昇;徐姗姗【作者单位】南京林业大学信息科学与技术学院,江苏南京210037;南京林业大学信息科学与技术学院,江苏南京210037;南京林业大学信息科学与技术学院,江苏南京210037;南京林业大学信息科学与技术学院,江苏南京210037【正文语种】中文【中图分类】TP391.8SVDD(support vector data description)算法主要用于奇异点数据检测[1]、数据去噪[2]等.该算法用于基因表达谱[3]、文本处理[4]、物体自动检测[5]也有很好效果.与SVM类似,SVDD[6-7]根据结构化风险最小化原理,通过求一个包含尽可能少的奇异点数据,并且体积尽可能小的球体来描述样本数据,即求满足下式的R和a.s.t. ‖xi-a‖≤R2+ξi,ξi≥0(1)根据Wolf对偶理论可以将式(1)转换为s.t. 0≤αi≤C(2)根据式(3)判断测试数据z是否为奇异点(3)球半径可以根据下式求出(4)式中:xk∈SV<C,αk<C.解式(2)就是解一个二次规划问题,因此SVDD也存在与求解SVM[8-9]问题相似的时间和内存问题.SVDD求出的数据描述只与支持向量有关,而与占大部分的位于数据分布内部的样本无关.因此如果可以去除位于数据分布内部的样本就可以大大减少训练数据集的大小,而精度不会受太大影响.对于二分类的支持向量机,很多学者试图找出位于两类之间的样本,去除远离分类面的样本.诸如,Shin H根据样本的近邻分布提出了近邻墒的概念,通常位于分类面附近的样本的近邻墒大于0[10-11];文献[12]根据置信度和Hausdorff距离来寻找位于分类面附近的样本;文献[13]提出了用检测边界的方法来寻找支持向量机训练集的子集.这些方法都是针对支持向量机二分类问题,无法直接运用于只有一类数据的SVDD.文中考虑样本的近邻分布,用样本与近邻的差和样本之间角度的余弦和作为判断样本是否为边缘样本的标准.通常位于数据分布内部的样本的余弦和接近于0,而位于数据分布边缘的样本的余弦和接近于±k.实验表明这种方法可以有效找到位于数据分布边缘的样本,而去除数据分布内部样本后的训练集的学习效果并没有太大损失.1 快速局部化SVDD算法1.1 样本局部化性质在讨论一分类问题中的样本近邻分布性质前,首先给出样本距离和样本的k近邻的定义.定义1 样本距离:样本xi与xj之间的距离di,j(xi,xj)=‖xi-xj‖(5)定义2 样本的k近邻:与样本xi距离最小的k个样本,记为kNN(xi).由上面的2个定义,下面给出样本近邻分布的性质.在高斯分布下,样本近邻分布符合下面的性质:① 位于数据分布内部样本的近邻分布在样本的四周,位于数据分布边缘样本的近邻分布在样本一侧,而另一侧没有或只有少量目标数据;② 样本近邻中位于靠近数据分布内部一侧的样本多于位于靠近数据分布外部一侧的样本.图1显示了在高斯分布中位于不同位置的样本近邻分布情况.图1 高斯分布中,样本位置与近邻分布的关系Fig.1 Relationship between the location and neighborhood distribution in the Gaussian distribution1.2 样本在数据分布中的位置与局部化近邻之间的关系根据样本近邻分布性质再引入下面2个定义.定义3 在均值为0的高斯分布中,假设向量xi与xi-xj之间的夹角为θ,定义(6)对于均值不为0的高斯分布,式(6)修改为式(7).其中为样本数.(7)显然,当近邻位于D1区域时夹角小于即式(7)大于0;而当近邻位于D2区域时夹角大于即式(7)小于0.对式(7)求和,可以得到余弦和的定义.定义4 余弦和:xj(j=1,2,…,k)是与xi距离最小的k个样本,样本余弦和定义为(8)由上文的样本近邻分布性质可知,在高斯分布中当样本在数据分布内部时,样本近邻在D1区域与D2区域的数量接近,所以式(7)的值接近于0;当样本在数据分布边缘时,D2区域几乎不含有近邻样本,所以式(5)的值接近于k(k是近邻个数).上面的结论是在高斯分布下得到的,在其他分布中边缘样本的近邻在D1中的数量有可能远少于在D2中的数量.为了方便讨论,对式(8)求绝对值,定义为s,得(9)1.3 样本在数据分布中的位置与局部化近邻之间的关系核形式对于线性不可分问题,SVM引入核函数解决.与SVM类似,样本在数据分布中的位置与局部化近邻之间的关系也可以写成核形式.下面分别给出定义1,3,4的核函数形式,其中K(x,y)表示采用的核函数,可以取常见的线性核函数、径向基核函数、多项式核函数等.定义5 样本核距离:样本xi与xj之间的核距离d(xi,xj)=K(xi,xi)-2K(xi,xj)+K(xj,xj)(10)定义6 假设向量与xi-xj在核空间的夹角为θ,定义(11)定义7 余弦和核形:xj(j=1,2,…,k)是与xi距离最小的k个样本,样本余弦和的核形式定义为(12)根据式(12)给出式(9)的核形式,得(13)1.4 边界检测快速SVDD算法由式(9)或式(13)可以找到位于数据分布边缘的样本.根据式(9)和式(13)提出下面的边界检测快速SVDD算法:① 计算xi的kNN,xi∈D;② 根据式(9)或(13),计算xi的s值;③ 设置合适的阈值,判断xi是否位于数据分布边缘,是则保留,否则去除;④ xi是否是数据集D上的最后一个样本,是则转⑤,否转①;⑤ 由式(1~4)保留下来的数据组成新的训练集D′;⑥ 在D′上用SVDD学习该数据集的数据描述.算法中,D是原数据集,D′是选择出的位于分布边缘的数据集.SVDD要求解一个二次规划问题,时间复杂度为O(n3.5),空间复杂度为O(n2).文中算法主要的时间消耗在第①步求k近邻和第⑥步在数据集D′上求SVDD上,第①,③步的时间消耗都是常数C.而求k近邻问题最坏情况下的时间复杂度为O(n2),空间复杂度为O(n).当由式(1~4)步保留下来的边缘样本只有原样本5%~10%时,LFSVDD的时间复杂度仅为O(n2+(1/20n)3.5)-O(n2+(1/10n)3.5),空间复杂度O(max(n, (1/20n)2))-O(max(n, (1/10n)2)).下文的实验表明算法的速度几乎可以提高2个数量级.2 实验仿真对于一分类问题,由于只有目标(正类样本)可以利用,而奇异数据(负类数据)几乎没有.对于学习效果的评价,第2类错误无法计算.文中实验在一分类效果上采用了ROC(Receiver Operating Characteristic)[14]曲线和AUC(the Area Under the ROC curve)[15-16]值作为评价标准.文中的程序由matlab实现.2.1 近邻参数k对算法的影响本实验选用Gaussian数据集,训练样本由2 000个目标数据组成,测试数据由目标数据和奇异数据共4 000个组成.维数分别为2,5,10维.实验取全部数据和根据5,10,50,100近邻用文中方法选择边缘样本后得到数据来进行学习时间和精度的比较.其中阈值s分别为3,6,30,60.实验采用了dd_tools工具箱,在Intel®**************************,2GB的机器上完成.表1统计了文中算法与SVDD算法在2,5,10维的高斯分布情况下近邻取5,10,50,100时的运行时间.实验结果显示文中算法的速度提高近2个数量级.表1 LFSVDD算法与SVDD算法的运行时间比较Table 1 Running time comparison of LFSVDD and SVDD s维数SVDD文中算法k=5k=10k=50k=100D=24 493.454.7855.9760.4559.70 D=54314.557.0358.2675.91103.25 D=104 510.380.2884.94155.88235.09表2统计了文中算法和SVDD算法取不同近邻值时算法的AUC值.第2行表示SVDD算法在2,5,10维高斯分布的AUC值;第3~6行分别表示文中算法在k=5,10,50,100时的AUC值.最后一列表示算法在3个数据集的平均水平.从表2可以看出文中算法的AUC值仅比原数据集低0.01左右.2.2 在uci数据集上文中算法与SVDD算法对比uci中的Letter Recognition数据集总共有20 000个样本,16维,26类.本实验选择了Letter Recognition数据集的部分数据:A类789个样本,B类766个样本,C类736个样本,总共2 291个样本.实验分别以A为目标数据,B,C为奇异数据;B为目标数据,A,C为奇异数据;C为目标数据,A,B为奇异数据.实验结果经过10-折交叉验证获得.表2 LFSVDD算法和SVDD算法AUC值Table 2 AUC comparison between LFSVDD and SVDD算法D=2D=5D=10平均 SVDD0.906 10.872 80.845 70.874 8 LFSVDD(k=5)0.899 30.868 70.844 30.870 7 LFSVDD(k=10)0.901 50.874 50.844 00.873 3 LFSVDD(k=50)0.899 30.860 90.837 10.865 8 LFSVDD(k=100)0.899 30.857 20.840 70.865 8表3和表4分别统计了Letter Recognition数据在文中算法和SVDD算法上运行的AUC值和执行时间.文中算法的近邻数取10,保留的边缘样本约占原样本集的5%.表3 Letter Recognition数据集AUC值比较Table 3 Comparison of AUC on letter recognition算法A-B,CB-A,CC-A,B文中算法0.980.987 20.985 SVDD0.997 90.993 90.999 6表4 Letter Recognition数据集执行时间比较Table 4 Comparison of running time on letter recognition s算法A-B,CB-A,CC-A,B文中算法24.524.824.9SVDD2 222.72 183.22 065.1由表3可以看出文中算法在保留5%的边缘样本时AUC值与SVDD算法相差很小;而表4显示仅保留5%的边缘样本速度可以提高接近2个数量级.3 结论文中从局部化的角度出发考虑SVDD算法的样本选择,通过样本与近邻的差与样本之间的余弦和来选择少数位于数据分布边缘的样本,而抛弃了大多数位于数据分布内部的样本.这样在仅保留5%~9%边缘样本的时候就可以近似达到原有数据集的学习效果,可以在一定程度上缓解SVDD求解二次规划问题带来的时间和空间消耗过大的问题.实验表明经过样本剪辑后的算法的速度与原来相比可以提高2个数量级,而学习效果没有太大的影响.参考文献(References)[1] Ji R, Liu D, Wu M,et al.The application of SVDD in gene expression data clustering[C]∥The 2nd International Conference on Bioinformatics and Biomedical Engineering. Shanghai:[s.n.],2008:371-374.[2] Onoda T,Murata H,Yamada S.Non-relevance feedback document retrieval based on one class SVM and SVDD[C]∥International Joint Conference on Neural Networks. Vancouver BC Canada:[s.n.],2006:1212-1219.[3] Liu Y, Lin S,Lee M. Automatic target defect identification for TFT-LCD array process inspection using kernel FCM-based fuzzy SVDDensemble[J].Expert Systems with Applications,2009,36(2):1978-1998. [4] Banerjee A, Burlina P, Meth R,et al. Fast hyper spectral anomaly detection via SVDD[C]∥IEEE International Conference on Image Processing. San Antonio:[IEEE],2007:101-104.[5] Park J, Kang D, Kim J, et al.SVDD-based pattern denoising [J].Neural Computation,2007,19(7):1919-1938.[6] Tax D M J. One-class classification [M]. Delft:Delft University of Technology, 2001:21-55.[7] David M J, Robert P W. Support vector data description [J].Machine Learning,2004,54(1): 45-66.[8] Vapnik V N. The nature of statistical learning theory [M].Berlin: Springer-Verlag, 1995:123-170.[9] Cristianimi N, Shawe-Taylor J. An introduction to support vector machines and other kernel-based learning methods[M].Beijing:China Machine Press, 2005:70-107.[10] Shin H, Cho S.Neighborhood property-based pattern selection for support vector machines[J].Neural Computation,2007,19(3): 816-855.[11] Shin H, Cho S.Fast pattern selection for support vectorc lassifiers[C]∥Proceedings of the Seven Pacific-Asia Conference on Knowledge Discovery and Data Mining. Seoul Korea:[s.n.],2003: 376-387.[12] Wang J, Neskovic P,Cooper L N. Selecting data for fast support vector machines training[J].Trends in Neural Computation, 2007, 35: 61-84.[13] Chang E Y.Concept boundary detection for speeding up svms[C]∥Proceedings of the 23rd International Conference on Machine Learning. ACM NY USA:[s.n.],2006:681-688.[14] Metz C E.Basic principles of ROC analysis [J]. Seminars in Nuclear Medicine, 1978,8(4):283-298.[15] 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.[16] Adams N M,Hand D J. Improving the practice of classifier performance assessment[J]. Neural Computation, 2000,12(2):305-311.。
基于最小化界外密度的SVDD参数优化算法
基于最小化界外密度的SVDD参数优化算法王靖程;曹晖;张彦斌;任志文【摘要】支持向量数据描述(support vector data description,SVDD)是一种具有单类数据描述能力的数据分类算法,因具有结构风险最小化的特性而受到广泛关注.SVDD的参数优化是影响其分类效果的关键问题,本文通过引入样本点的密度信息,提出了以界外密度最小化为目标的参数优化函数,避免了漏检率的计算问题,可充分利用训练数据的分布信息,提高数据描述能力,降低错分率.仿真实验和UCI标准数据库的对比验证表明,优化后的SVDD算法能够有效降低漏检率和错分率,提高算法性能.【期刊名称】《系统工程与电子技术》【年(卷),期】2015(037)006【总页数】6页(P1446-1451)【关键词】支持向量数据描述;参数优化;密度【作者】王靖程;曹晖;张彦斌;任志文【作者单位】西安热工研究院有限公司,陕西西安710043;西安交通大学电气工程学院,陕西西安710049;西安交通大学电气工程学院,陕西西安710049;西安热工研究院有限公司,陕西西安710043【正文语种】中文【中图分类】TP391支持向量数据描述(support vector data description,SVDD)算法是由Tax和Duin于1999年提出的一种单分类算法[1]。
SVDD期望获得最小化包含样本数据的超球体,用以区分正常数据和异常数据。
由于异常数据采集困难,单分类算法在故障诊断、图像处理、异常检测、医学信号处理等多个领域有大量研究,具有广阔的应用前景[2-4]。
众多学者针对SVDD的性能优化提出了多种思路:文献[5]提出通过核主成分分析(principal component analysis,PCA)将训练数据映射为单位方差的对称球形分布,再训练SVDD模型提升算法性能;文献[6]仿照支持向量机参数优化方法,通过加入或构造异常样本数据,计算最小错分率获取最优参数;文献[7]提出通过最近邻算法增加支持向量数目,从而改善边界形状的算法;文献[8]考虑了样本点的密度信息,提出了一种基于相对密度指数加权的新距离测度,提高算法性能;文献[9]考虑到样本协方差矩阵的信息,提出利用马氏距离替代欧式距离的方法;文献[10]又进一步提出在马氏距离的基础上,加入模糊C均值聚类思想度量样本点距离关系,改进SVDD性能;文献[11]提出采用超椭球体替代超球体,以增强SVDD对不同数据分布的适应能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.3.3实现技术
(1)KKT 条件,工作集选取及停止准则
在求最小包围球的过程中,迭代没有结束前,每轮迭代会有一个新点被选中,核集中加入新的点后,在核集中的点是下面三种情况之一:
1.核向量,满足KKT 条件;
2.处在球内的非核向量,对应的i α为0,也满足KKT 条件;
3.在(,)t t B c R 外面。
刚加入进来的点0l α=违反KKT 条件。
加入新的训练点后,参照传统SVM 方法对核集中的样本点检查是否违反KKT 条件的算法推导如下:
原始问题的KKT 条件:
2
2
(||()||)0i i i R c x αξϕ+--= (4.16)
加上已知条件
0i i βξ=,0i i C αβ--=
根据i α的不同,有三种情况:
● 0i α=,有22||()||0i i R c x ξϕ+--≥,又i C β=,则0i ξ=,因此有
2
2
||()||i c x R
ϕ-≤ (4.17)
● 0i C α<<,有22||()||0i i R c x ξϕ+--=,又0i β>,则0i ξ=,因此有
2
2
||()||i c x R
ϕ-= (4.18)
● i C α=,有22||()||0i i R c x ξϕ+--=,又0i β=,则0i ξ≥,因此有
2
2
||()||i c x R
ϕ-≥ (4.19)
每次迭代以对KKT 条件破坏最多的两个样本为工作集,因此,选取以下两个样本下标
2
arg m ax(||()|||)
i i s c x C ϕα=-<
2
arg m in(||()|||0)i i t c x ϕα=->
若记
2
||()||
s i g c x ϕ=-,2||()||t i g c x ϕ=-
则根据KKT 条件,我们有s t g g ≤。
实际中我们考虑(0)s t g g δδ≤+>,因此在算法停止前,都有
s t g g δ
>+ (4.20)
在运算的过程中因为有
,(,)2(,)(,)t
i t
s i j i j i i s s s i j S x S g k x x k x x k x x ααα∈∈=-+∑
∑
,(,)2(,)(,)t
i t
t i j i j i i t t t i j S x S g k x x k x x k x x ααα∈∈=
-+∑
∑
所以实际上是:(,)(,)2
i t
i t
i i t i i s x S x S k x x k x x δαα∈∈-
>
∑∑
(2)规模为2问题的解析解
找出核集中违反KKT 条件的训练点后,更新其对应的Lagrange 因子值。
这里我们依然采用SMO 算法,解规模为2的原问题的对偶问题。
不失一般性,在(4.14)对偶问题中将,s t αα看成待求变量,其他看成已知参数,得到求解,s t αα的优化问题如下:
2
2
,max {22[()()]()}s ss t tt s t st s s t t i i i s t
L k k k x x x const
αααααϕαϕαϕ≠=-+++++∑(4.21)
S.t. s t ααγ+=,0,s t C αα≤≤
其中old
old s
t
α
α
γ
+=,1
()m
i
i
i c x αϕ==
∑
2
22
m ax (2)2()t t ss t tt t t st L k k k γ
γαααγαα=--+---
,,2()()()2()()t s i i t t i i i s t
i s t
x x x x const
γαϕαϕαϕαϕ≠≠---+∑∑
若记,()()()(()())old old old j j i i j s s t t i s t
x x x c x x υϕαϕϕαϕαϕ≠==--∑
则 ,()()s s i i i s t
x x υϕαϕ≠=∑,,()()t t i i i s t
x x υϕαϕ≠=∑
2222222222ss t ss t ss t tt t st t st s t s t t L k k k k k k const γγαααγααγυαυαυ=-+---+-+-+ 2
(2)2()s t s
s t t
t s s s t s t
t k k
k k k c o n s t αγγυυα=--+-+-+ 因为 ()()o l d o l d
o l d
o l d
s s s t s t s t s s
s
t
s t
k k k k γγυυαααα-+-=+-+
()(()(
))()(()o l d
o l d
o l d
o l d
o l d
o l d
s s
s t
t
t
s
s t
t
x c
x x x c x x
ϕαϕαϕϕαϕαϕ+-----
old
old
old
old
s ss t ss s st t st k k k k αααα=+--
11
(,)(,)m
m
old old old
old
i i s s
ss t
st i i t s st t tt i i K x x k k K x x k k αα
α
ααα==+---++∑∑
11
(,)(,)(2)m
m
old
i
i s i i t st ss tt t
i i K x x K x x k k k α
αα===
----∑∑
21
1
(2)2[(,)(,)(2)]m
m
old
st ss tt t
i i s i i t st ss tt t
t i i L k k k K x x K x x k k k const
ααααα===--+----+∑∑
令
0t
L α∂=∂, 可得
1
1
(,)(,)
2m
m
i
i t i i s old
i i t t
st ss tt
K x x K x x k k k α
ααα==-=+
--∑∑ (4.22)
有 20st ss tt k k k --≤,在迭代结束前都有1
1
(,)(,)0m
m
i i t i i s i i K x x K x x αα==-<∑∑
则当20st ss tt k k k --=,1
1
[(,)(,)]m
m
i i s i i t t i i L K x x K x x const ααα===-+∑∑,L 为线性函数,
因为0i C α≤≤,()()0t t s t c x c x ϕϕ->,所以t C α=。
最后,由优化问题的等式约束得出
s t αγα=- (4.23)
这样就得出了,s t αα的解析解,不过这是在没有考虑优化问题的不等式约束
0,s t C
αα≤≤的情况下得到的解析解。
存在不等式约束为0,s t C αα≤≤,因此,考虑不等式约束,需要对求出的,s t
αα进行如下裁剪:
若0s α<,则0,s t ααγ==
若0t α<,则0,t s ααγ== 若s C α>,则,s t C C ααγ==-
若t C α>,则,t s C C ααγ==-。