版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大数据分析方法与应用上海理工大学主讲人:耿秀丽
教授第8章支持向量机8.1支持向量机的原理目录CONTENTS8.2支持向量机算法8.3支持向量机算法参数优化8.4算法应用及案例分析8.5课后习题第8章支持向量机8.1.1支持向量机的由来8.1.2支持向量机的发展8.1支持向量机的原理8.1支持向量机原理
支持向量机是什么?支持向量机(SupportVectorMachine,SVM)是一种以统计学习为基础的强大的监督学习算法,通常用于分类和回归问题。SVM在机器学习领域非常流行,并被广泛应用于各种领域,如文本分类、图像识别、生物信息学和金融预测等。SVM的核心思想是在特征空间中找到一个最优的超平面,将不同类别的数据点分开,并且使得超平面与最近的数据点之间的间隔尽可能大。这些最近的数据点被称为“支持向量”,因为它们对于定义分类边界非常重要。8.1支持向量机原理
8.1.1支持向量机的由来SVM的早期发展始于统计学习理论,该理论是一种使用统计的方法专门研究小样本情况下机器学习规律的理论并且针对小样本问题建立了一套全新的理论体系,其统计推理规则不仅考虑了对渐进性能的要求,而且追求在现有有限信息的条件下得到最后结果Vapnik在该理论中提出了结构风险最小化(StructuralRiskMinimization,SRM)的概念,该概念强调在进行模型选择时需要平衡模型的经验误差和模型的复杂性,以实现更好的泛化性能。具体来说结构化风险可以分为结构风险和置信风险。结构风险指的是给定样本上的分类误差,而置信风险是指在未知样本的分类误差。我们在训练模型时会让结构风险变得很小,但是这个模型能否预测未知样本则需关注置信风险。训练样本数越多置信风险也越小。而分类函数越复杂,则会导致其普适性变差,增加置信风险。SVM的研究意义就是让结构风险和置信风险的和最小。8.1支持向量机原理
8.1.2支持向量机的发展最早的SVM是用于线性可分数据的,研究主要集中在找到最大间隔超平面和支持向量的数学推导与算法优化上。Vapnik和Cortes首次提出了现代形式的线性SVM,其基本思想是通过拉格朗日乘数法将线性可分问题转化为凸优化问题,并利用对偶问题求解得到支持向量为了应对现实世界中存在的线性不可分数据,研究者又提出了软间隔SVM,引入松弛变量来容忍一定的误分类1995年为了应对现实世界中存在的线性不可分数据8.1支持向量机原理
8.1.2支持向量机的发展提出了一对多(One-vs-Rest)和一对一(One-vs-One)等策略来处理多类别分类问题。开始的SVM是针对二分类问题的,但实际中存在多类别分类的需求研究者提出了核函数的概念,将数据映射到高维特征空间,并在高维空间中寻找线性可分的超平面由于实际数据往往是复杂的、非线性可分的8.1支持向量机原理
8.1.1支持向量机的由来8.1支持向量机原理
8.1.1支持向量机的由来支持向量机原理这些豆子叫做data,把线叫做classifier,最大间隙trick叫做optimization,拍桌子叫做kernelling核函数,那张纸叫做hyperplane超平面8.2.1支持向量机的模型算法8.2.2支持向量机模型优化算法8.2支持向量机算法8.2.3核函数8.2.4支持向量机算法的计算机实现8.2支持向量机算法
8.2.1支持向量机的模型算法给定训练样本集:
D={(x1,y1),…,(xm,ym)}其中xi∈Rn,yi∈{-1,+1},i=1,...,m,Rn表示n维欧式空间。划分超平面的线性方程描述:分类学习最基本的思想就是基于训练样本集D在样本空间中找到一个超平面,将不同的样本分开。找到最大间隔则可以找到最优超平面。如图8‑1所示,由此SVM优化模型表述如下:
图8‑1
支持向量机示意图对于一个线性可分的训练集,SVM认为存在(ω·b)使得yi[ωTxi+b]≥0。同时根据点到平面之间距离的公式,可以得出样本空间中任意一点到超平面的距离为:距离超平面最近的几个点被称为支持向量,两类异类向量的距离则为样本中的间隔D,可以用如下公式描述:8.2支持向量机算法
8.2.1支持向量机的模型算法对于非线性问题来说,往往无法在原始样本空间中寻找到一个超平面把训练样本正确分类。SVM的做法是在将原始样本空间映射到一个更高的特征空间,以期可以找到一个超平面,使得样本集在这个空间内可分。具体做法是令φ(x)表示x映射在特征空间的向量。
特征空间的超平面可以表示为:
则有SVM优化模型:
而高维映射φ(x)的线性表达式不易求出,往往使用如下核函数:
同时训练集中可能存在一些特异点,在特征空间中也找不到线性可分的超平面的情况下,去掉这些特异点后,剩下的大部分训练数集是线性可分的。8.2支持向量机算法
8.2.1支持向量机的模型算法线性不可分意味着某些样本点(xi,yi)不能满足间隔大于等于1的条件,样本点落在超平面与边界之间。为解决这一问题,可以对每个样本点引入一个松弛变量ξi≥0,使得间隔加上松弛变量大于等于1
这样约束条件变为:
SVM的优化模型则变成:
其中C>0为惩罚参数,C值大时对误分类的惩罚增大,C值小时对误分类的惩罚减小。C主要作用在于使得间隔足够大,同时使误分类点的个数尽量少,用于调和两者的系数。8.2支持向量机算法
8.2.2支持向量机的模型优化算法VM的优化模型本身是一个凸的二次型问题,使用原问题的对偶问题可以使得优化模型可解。原问题的模型描述如下所示。
原问题的对偶问题定义如下所示。
对偶问题的优化模型如下所示。
8.2支持向量机算法
8.2.2支持向量机的模型优化算法根据对偶问题的原问题,SVM的优化模型如下所示。其对应的对偶问题优化模型如下所示。而后根据强对偶关系定理,若f(w)为凸函数,且g(w)=Aw+b,g(w)=Cw+d,则此优化问题的原问题与对偶问题的间距为0,即:SVM的最终优化模型为:
8.2支持向量机算法
8.2.3核函数核函数是什么?
核函数是SVM中的重要概念,它允许我们在低维空间中进行计算,这样做的好处是避免了直接在高维空间中进行复杂计算,从而节省了计算资源和时间。
数学上,核函数是一个将原始特征空间映射到高维特征空间的函数。在高维特征空间中,数据更有可能是线性可分的。核函数可以将原始特征空间中的点对应到高维空间中,然后在高维空间中计算数据之间的内积,从而实现在原始特征空间中的非线性分类。核函数有什么种类?在SVM的最终优化模型中,K(xi,yi)被称为核函数,它满足Mercer条件的任何对称的核函数对应于样本空间的点积。核函数的种类较多,常用的有:1)线性核(LinearKernel):K(xi,yi)=xTy,这是最简单的核函数,适用于线性可分问题。2)多项核(PolynomialKernel):K(xi,yi)=(xTy+c)α,其中c是一个常数项,α是多项式的阶数。多项式核函数可以用于处理一些简单的非线性问题。3)径向基核(RadialBasiaFunctionKernel)Rbf(高斯径向基函数核):RBF核函数是非常常用的核函数,适用于各种非线性问题。4)Sigmoid核(SigmoidKernel):K(xi,yi)=tanh(βxTy+θ),这个核函数的形式基于Sigmoid函数,其中β和θ是参数。Sigmoid核函数可以用于神经网络的模拟,在SVM中被用来解决二分类问题8.2支持向量机算法
8.2.4支持向量机算法的计算机实现支持向量机(SVM)进行分类的Python代码如下所示。1)首先需要在pycharm中添加相应的第三方库,即在文件>设置>Python解释器中单击“+”,如图8-2所示。图8‑2pycharm中添加第三方库8.2支持向量机算法
8.2.4支持向量机算法的计算机实现2)在新建的python文件中,书写相应的代码,如图8-3所示。图8‑3代码示例8.2支持向量机算法
8.2.4支持向量机算法的计算机实现3)最后单击运行得到分类结果,如图8-4所示。图8‑4运行代码8.3.1模糊支持向量机8.3.2最小二乘支持向量机8.3支持向量机算法参数优化8.3.3粒子群算法优化支持向量机8.3支持向量机算法参数优化
8.3.1模糊支持向量机(FuzzySupportVectorMachine,FSVM)是什么?
由于支持向量机对于离群点和噪点的敏感性,Lin和Wang提出了FSVM,用于有噪声或离群点的分类。
其中FSVM的关键问题在于如何确定隶属度函数,目前没有统一的标准去选择一个相对较为合适的隶属度,往往需要依据经验来选择较为合适的隶属度函数。通过对每个输入的样本点赋予模糊隶属度值,使不同的样本点对最优分类超平面的构建具有不同的贡献,降低了噪声或离群点对最优决策面的影响。8.3支持向量机算法参数优化
8.3.1模糊支持向量机(FuzzySupportVectorMachine,FSVM)对于给定的一组训练样本集S={(x1,y1,S1),(x2,y2,S2),…,(xm,ym,Sm)},其中xm是样本空间的样本点,ym是样本对应的标签,Sm是模糊隶属度值,代表着样本点xm归属于某一类ym的权重。与标准的SVM算法一样,模糊支持向量机也是寻找一个能最大化分类间隔的超平面ωTφ(x)+b=0,使得高维的求解最优解分类问题转化成如下所示的最优化问题。其中ξi是松弛变量,C是正则化参数用于平衡分类最大间隔和分类误差之间的平衡。ξiSm为重要性不同变量的错分程度。当Sm越小,ξi的影响越小,则对应的φ(x)对于分类的作用就越小。SmC则是衡量样本xi在训练FSVM算法时的重要程度,SmC的值越大,代表样本xi被正确分类的可能性越大,反之表示样本xi被正确分类的可能性越小。要解决上述优化问题,如同SVM的标准型一样,构造出原问题的对偶问题,如下所示。8.3支持向量机算法参数优化
8.3.1模糊支持向量机(FuzzySupportVectorMachine,FSVM)根据强对偶关系定理,最后得出:8.3支持向量机算法参数优化
8.3.1模糊支持向量机(FuzzySupportVectorMachine,FSVM)那么我们如何确定隶属度?1)基于距离确定隶属度函数该方法是将样本分为正类和负类,分别在两个类找到中心,通过各个样本到类中心的距离来确定隶属度。样本点到类中心的距离越小,表示该样本点的隶属度越大,反之,则表示该样本点的隶属度越小。找到两个类的中心后,基于类中心的超平面到各个样本点的距离来度量隶属度函数的大小。2)基于K近邻法(KNN)确定隶属度函数该方法是在样本数据中找到一个集合包含其附近的K个点,计算样本点到这个集合中所有点的距离的平均值di,找到其中的最远距离dmax和最近距离dmin,带入如下函数,即为隶属度函数。8.3支持向量机算法参数优化
8.3.2最小二乘支持向量机LSSVM(LeastSquareSupportVectorMachine,LSSVM)
由于支持向量机在大规模训练样本时,存在训练速度慢、稳定性差等缺点,且学习过程中需要求解二次规划问题,从而制约了使用范围。1999年,Suykens和Vandewalle等人在SVM的基础上提出LSSVM,该算法的计算复杂度大大降低,使得训练速度得到提高。LSSVM方法是在标准支持向量机的基础上的一种扩展,该算法将支持向量机的求解从二次规划问题转化为线性方程组。它与支持向量机的不同之处在于它把不等式约束改成等式约束,并把经验风险由偏差的一次方改为二次方。
给定训练样本集D={(x1,y1),(x2,y2),…,(xm,ym)},yi∈{-1,+1},首先用非线性φ(x)把样本空间映射到高维特征空间之中,在这个高维空间中,划分样本空间的超平面用ωTφ(x)+b=0表示。根据最小二乘支持向量机,利用结构风险最小化原则,将传统的支持向量机中的不等式约束问题转化为等式约束问题,将二次规划问题转化为线性方程组来求解,具体如下所示。
最小二乘支持向量机是一个带有等式约束的二次规划问题,根据强对偶关系定理变形化简,最后得出最小二乘法支持向量机的非线性预测模型如下所示。8.3支持向量机算法参数优化
8.3.3粒子群算法优化支持向量机8.3.3.1粒子群算法粒子群优化算法的数学描述为,在假定的D维空间中,有M个粒子,每个粒子代表一个解。设第i个粒子的坐标为Xid=(xi1,xi2,xi3,…,xid);第i个粒子的速度(粒子移动的距离和方向)为Vid=(vi1,vi2,vi3,…,vid);第i个粒子搜索到的最优位置为:Pid=(pi1,pi2,pi3,…,pid);群体搜索到的最优位置为Pgd=(pg1,pg2,pg3,…,pgd),则,粒子下一步迭代的速度和粒子坐标结果表示为:其中:ω为惯性因子;c1,c2表示学习因子,一般取c1=c2;r1,r2表示随机参数数据处理给定初始数据集及相关参数计算适应度更新粒子的位置和速度计算粒子平均最优位置迭代次数是否达到上限获得最优SVM参数8.3支持向量机算法参数优化
8.3.3粒子群算法优化支持向量机8.3.3.2粒子群优化SVM由于SVM的分类效果对核函数因子б和惩罚因子C这两个参数的选取有着极高的依赖性,且支持向量机无法对这两个参数阈值进行定义,而g趋于∞或g趋于0均不会产生优质的学习效果,且当C的取值不恰当时,会引起模型训练失败。为了取得更好的效果,通过PSO算法优化SVM模型中的惩罚因子C和核函数因子б。最后将最优参数代入到SVM模型中进行分类预测。PSO优化SVM参数过程如图8-5所示,具体步骤如下:是否当数据集的数量级相差较大,需进行标准化处理8.4算法应用和案例分析8.4.1
案例背景8.4.2数据集的收集8.4.3划分训练集和测试集8.4.4基于SVM的模型预测与建立8.4.5结果分析8.4算法应用和案例分析8.4.1
案例背景A公司是国内一家大型电器制造商,专注于空调产品。他们面临市场份额下降和智能化趋势的挑战。为了完成企业转型,公司首先将产品和服务进行升级,以满足智能化需求。但在这个过程中,他们面临几个问题:1)智能化推荐方法不成熟,仍然使用传统的人工推荐方法。2)服务模块中的售后维修和保养等基本服务与竞争对手相比没有明显优势。3)缺乏系统性的产品和服务设计,整合经验有限。4)传统机器学习算法推荐精度低,模型性能差,缺乏研发和优化。
为了实现智能化服务化,A公司需要解决这些问题。在产品配置方面,他们不仅要提供满意的产品,还要优化相关服务。此外,公司还需加强技术人员培训和招聘,提高推荐精度,研发新的配置模型,增强客户满意度,加强与客户的联系。
为了进一步推进智能化服务化转型,他们需要优化空调产品配置方案,使其更加灵活和可持续。同时,与人工推荐方案进行对比,验证机器学习算法的推荐准确性,为未来将机器学习算法作为辅助推荐工具做准备。8.4算法应用和案例分析8.4.2数据集的收集根据公司相关手册、产品目录以及以往客户的需求条件,共收集了8种关于空调的客户需求。包括环保性、稳定性、智能性、简便性、适应性、可靠性、舒适性、能耗性。每种需求的具体描述如表8-1所示。8.4算法应用和案例分析8.4.2数据集的收集其中每种需求有五个等级{L,ML,M,MH,H},具体意义为{低,较低,中,较高,高},为了便于计算机解读,用{-2,-1,0,1,2}进行代替。具体的需求特征描述如表8-2所示。8.4算法应用和案例分析8.4.2数据集的收集为了编码产品,首先要确定产品模块和服务模块。通过查找相关的资料,我们了解到中央空调包括了9个产品组件,每个组件都有一个或多个实例,如表8-3所示。8.4算法应用和案例分析8.4.2数据集的收集在服务模块中,一共有5个模块,每个模块都有多个实例如表8-4所示。不同的产品模块和服务模块组成不同的产品配置方案。由于客户的需求各异,最终确定了6种产品配置方案以满足不同客户的需求。例如,产品配置方案“1”可表示为:{A3,B2,C2,D2,E,F1,G,H2,I1,J2,K1,L1,M1,N1}。8.4算法应用和案例分析8.4.3划分训练集和测试集首先,从公司设计和销售数据库中提取52个数据样本,具体数据如表8-5所示将52个样本划分为训练集和测试集,训练集的样本数量为40个,测试集的数量为12。利用粒子群优化算法找出SVM模型的最优核函数参数和惩罚因子参数,最后将最优参数代入SVM模型中进行预测。SVM模型的输入为需求特征,输出为产品服务系统配置方案。8.4算法应用和案例分析8.4.4基于SVM的模型预测与建立通过OVO(OneVsOne,一对一)方法构造多类SVM模型。对于由OVO方法创建的每个可能的二进制SVM模型,将高斯RBF函数选择为内核函数。然后,利用粒子群优化(PSO)算法并进行5-foldCV的参数寻优,找出最优参数对(C,б)带入多分类SVM模型对产品配置进行预测。在PSO算法中,参数设置为:种群数量为50,粒子维度为2,由于样本不多,并通过多次试验,迭代次数设置为100次能够寻找出最优参数,若数据样本过多,可以增加迭代次数,因此迭代次数设置为100次,适应度函数为5-foldCV下的分类精度,算法停止条件为迭代次数大于100次。通过每一次迭代得出一个参数对(C,б),反复迭代到最大的迭代次数输出最优的参数对(C,б)。量子粒子群优化算法的具体参数设置如表8-6所示。8.4算法应用和案例分析8.4.4基于SVM的模型预测与建立构建PSO-SVM模型后,为了能够找出最优的核函数参数和惩罚因子,使用训练精度作为评价指标,训练精度最高情况下对应的核函数参数值和惩罚因子值为最优值,模型训练结果如图8-6所示。8.4算法应用和案例分析8.4.4基于SVM的模型预测与建立通过粒子群优化算法得出,当迭代次数到95次的时候,5-foldCV下的分类精度(即88.84%)达到最高,此时得出最优参数值=15.1922,=0.2264。将最优的参数带入多分类SVM模型中,将12个用于测试集的样本输入模型中来测试模型的分类精度,测试结果如图8-7所示。8.4算法应用和案例分析8.4.4基于SVM的模型预测与建立从图8-7可以看出,只有一个最初归类为“2”的样本被误归类为“4”,其分类的精度为91.67%。为了验证该模型解决实际问题的可靠性,将测试两个新客户的需求所提供的产品配置与实际的吻合性。第一个新客户需要为医院配置中央空调,其需求是能够除菌,噪声低(即环保性非常高),由于考虑到病人,所以舒适性也要求非常高。其输入为{3,3,2,1,-2,3,2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年佛山物业管理与运维服务合同
- 2024年加工设备租赁合同3篇
- 2024年度演艺活动演出合同与报酬支付3篇
- 2024年度软件开发人员聘用协议样本版B版
- 2024年度化妆品冷链运输与储存委托协议3篇
- 旅游景区地砖施工合同
- 城市供水水厂改造监理合同范例
- 科技馆照明安全管理办法
- 2024年二手房交易资金保障服务协议样本一
- 烟草制品采购合同调解书
- 上海中考语文一轮复习:综合运用提高题(教师版)
- 《EXCEL基础教程》课件
- 2025届高考语文复习:议论文拟题指导+课件
- 糖尿病足与压疮
- 2024年江苏省公务员录用考试《行测》题(A类)
- 人教版八年级英语上册期末复习选词填空练习
- 赔偿协议书范文模板电子版
- 文化遗产与自然遗产学习通超星期末考试答案章节答案2024年
- 反向开票政策解读课件
- 2024年军队文职(护理学)考前通关知识点必练题库(含答案)
- 2024年时事政治试题【带答案】
评论
0/150
提交评论