R语言数据挖掘课件-R的支持向量机:数据预测_第1页
R语言数据挖掘课件-R的支持向量机:数据预测_第2页
R语言数据挖掘课件-R的支持向量机:数据预测_第3页
R语言数据挖掘课件-R的支持向量机:数据预测_第4页
R语言数据挖掘课件-R的支持向量机:数据预测_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

R的支持向量机:数据预测《R语言数据挖掘》学习目标·

理论方面,理解支持向量分类和支持向量回归的基本

原理,适用性和方法特点·

实践方面,掌握R的支持向量预测、应用以及结果解

读,能够正确运用支持向量法实现数据的分类预测《R语言数据挖掘》■支持向量机倾向给出把握程度更高的预测结果。支持

向量机(SVM)是在统计学习理论基础上发展起来的一种数据挖掘方法,支持向量机分为■支持向量分类机:用于研究输入变量与二分类型输

出变量的关系及新数据预测,简称为支持向量分类

(SVC)■支持向量回归机:用于研究输入变量与数值型输出

变量的关系及新数据预测,简称为支持向量回归

(SVR)支持向量分类概述《R语言数据挖掘》■设支持向量分类的分析对象是包含n

个观测的训练样本,每个观测有p个

输入(特征)变量和一个输出变量■可将训练样本中的n个观测看成p维

特征空间上的n个点,以点的不同形

状(或颜色)代表输出变量的不同

类别取值。支持向量分类的建模目

的,就是以训练样本为研究对象,在p维特征空间中找到一个超平面,

能将两类样本有效分开支持向量分类的基本思路《R语言数据挖掘》支持向量分类的基本思路■超平面定义:b+Wx=0将观测的输入变量值带入b+Wx。

,b+W

x≠0的观测应位于超平面的两侧。这里规定:b+

Wx>0的观测(位于超平面的一侧),输出变量y的预测值等于1;b+Wx<0的观测(位于超平面的另一侧),输出变量y

的预测值等于-1;b+

Wx=0的观测(落在超平面上),无法确定输出变量y

的预测值。↵■可以有多条能够将红色方块和黄色圆点分开的直线《R语言数据挖掘》支持向量分类的基本思路■最大边界超平面是支持向量分类的超平面。最大边

界超平面,是距两个类别(一1类和1类)的边界观

测点最远的超平面找到最大边界超平面b+WX=0之后,预测新观测X

的输出变量y”时,只需将输入变量值X⁸=(x,,x,.…x,广代入b+WX并判断计算结果的正负符号。若b+Wx⁸>0,y®=1;若b+Wx<0,®=-1

。↵《R

语言数据挖掘》支持向量分类的基本思路■最大边界超平面的特点:■第一,它不仅是距训练样本集中的边界观测点最

远的,也是距测试样本集中的边界观测点最远的如果将“厚板”一半的“厚度”记为d。对测试样本集中的观测X,若其输出变量y₁=1,不仅有b+Wx,>0成立,也有b+Wx,≥0+f(d)

成立;若其输出变量y₁=-1,不仅有b+Wx,<0

成立,也有b+Wx,≤0-f(d)

成立。同理,对新观测X,若b+Wx⁸>0,

意味着b+Wx⁸≥0+f(d);或者,若b+Wx<0,意味着b+Wx≤0-f(d)

。f(d)是d

的函数。可见,这种方式做出正确预测的把握程度较高。■第二,最大边界超平面仅取决于两类别的边界观

测点《R

》支持向量分类的三种情况■线性可分样本:样本观测点可被超平面线性分开■样本完全线性可分■样本无法完全线性可分X₂类-1类

+

1《R语言数据挖掘》支

况■线性不可分样本:样本观测点无法被超平面线性分

开类1《

R语言数据挖掘

》■

如何求解超平面■

分别将两类的最“外围”样本观测点连线,形成两个多边

形,它是关于各类样本点集的凸包,即为最小凸多边形,

各自类的样本观测点均在多边形内或边上■以一类的凸包边界为基准线,找到另

一类凸包边界上的点,过该点做基准

线的平行线,得到一对平行线■

可以有多条这样的基准线和对应的平

行线,找到能正确分割两类且相距最

远的一对平行线并做平行线的垂线。

最大边界超平面(线)即是该垂线的

垂直平分线线性可分下的支持向量分类《R语言数据挖掘》■如何求解超平面若

以y=1类凸包边界为基准线(其上的观测点记为X+),令该直线方程为:b+Wx+=1。令其并行线方程为:

b+Wx⁻=-1,y₁=-1类凸包边界上的观测点X

在该直线上。于是,两平行直线间的距离为:

距离的一半为。依据上述思想,最大边界超平面方程即为:b+

Wx=0。■对于任意观测观测X:

v;(b+Wx,)≥1■超平面参数求解的目标是使d最大,且需满足上式

(约束条件):y.(b+WX

)≥1,i=1,2.…n《R

》线性可分下的支持向量分类线性可分下的支持向量分类■

如何求解超平面从几何角度理解,要求b+

Wx=0

能够正确分类意味着:凸多边形内或边上的观测y;(b+WX)≥1

(7.3)↵《R语言数据挖掘

》点X,到超平面的距离M

应大于等于d:

,

:成立。由于成立:

↵线性可分下的支持向量分类■

如何求解超平面根据支持向量分类的研究思路,使d

最大即边界入最大,则要使|W最小。为求解方便,即为最小。所以,支持向量分类的参数求解目标是最大边

界,其目标函数为:

(7.4)↵约束条件为:↵y;(b+Wx)-1≥0,i=1,2,…,n

(7.5)↵《R

语言数据挖掘》■对参数求偏导,且令偏导数为0■因为a≥0,超平面系数向量是训练样本中,所有ai>0的观测的输入和输出变量的线性组合■

a;=0的观测对超平面没有作用,只有a;>0的观测

点才对超平面的系数向量产生影响,这样的观测

点即为■支持向量。最大边界超平面完全由支持向量决定线性可分下的支持向量分类■

如何求解超平面■构造拉格朗日函数《R语言数据挖掘》■需满足的KKT条件

a₁(y;(b+Wx

)-1)=0,i=1,2…,n■KKT条件使得:

ai>0的观测点(即支持向量),均

落在类边界线上如果有1个支持向量,则。可从1

个支持向量中任选一个,代入边界方程,计算得到b=y₁-Wx,。线性可分下的支持向量分类■

如何求解超平面■上述问题的对偶问题《R语言数据挖掘》对于一个新观测X,其输出变量的类别预测值由决策函数值的正负符号决定。如果Sign(b+Wx*)=Sign[b+∑a:v;(Xx,)]的符号为正,则=1;如果符号为负,则

《R

语言数据挖掘》线性可分下的支持向量分类■如何利用超平面进行分类预测■决策函数:

h(X)=Sign(b+Wx)■如何求解超平面■采用“宽松”策略,

引入松弛变量ξ;凸多边形内或边上的观测点X,

到超平面的距离M;只需大于等于广义线性可分下的支持向量分类,则式7

.5的约束条件调整为:↵y:(b+WX)≥1-ε:(e≥0,i=1,2….,n)d-

ξ,

即:

,有y成立。因《R

》(7.12)↵若记■

如何求解超平面■采用“宽松”策略,引入松弛变量ξ可见,ε是相对d的“错跨”比例,能够告之观测点X

与边界和超平面的位置关系:●

ε

=

0:

测点X;位于所属类别边界的外侧●

0

<

8₁

<1:

X;

“跨域”了本类边界但没有“错跨”到超平面的错误一侧↵●

ε₁

>

1:

X₁

不仅“跨域”了本类边界且“错跨”到超平面的错误一侧是总“错跨”程度的度量。《R语言数据挖掘》广义线性可分下的支持向量分类广义线性可分下的支持向量分类■

如何求解超平面■可调参数:可调参数C是一个损失惩罚参数,用于

平衡模型复杂度和预测误差当可调参数C较大时,意味着将对错判给予较高的惩罚,允许的较小(参数E较小)。从另一个角度看,当可调参数C极大时,式7.13的第二项远大于第一项从而导致第一项近乎忽略,于是极小化函数即意味着极小化此时模型较为复杂,“厚板”的厚度较薄;反之,当可调参数C

较小时,意味着将对错判的惩罚较低,允许稍大(参数E较大)。此时模型较为简单,“厚板”较厚。所以,太小或太大的参数

C

都是不恰当的,

般可通过N折交叉验证方式确定参数C

。↵《R语言数据挖掘》线性不可分下的支持向量分类■线性不可分的一般解决途径:特征空间的非线性转换■核心思想认为:低维空间中的线性不可分问题,通

过非线性转换,可转化为高维空间中的线性可分问

题。即一切线性不可分问题都可通过适当的非线性

空间转换变成线性可分问题y₃类-1Y₁《R语言数据挖掘》■维灾难:随着特征空间维度的不断升高,超平面被估

参数个数的增长惊人■对于p

维特征空间产生d阶交乘时,需估的模型参

数个数为:线性不可分下的支持向量分类《R语言数据挖掘》线

类■支持向量分类克服维灾难的途径■因:参数和决策结果取决于变换处理后的观测内积支持向量分类的思路是:希望找到一个函数K(X,X),

其函数值恰好等于变换处理后的观测内积:K(X,X)=φ(X)φ(X)

。对于拉格朗日函数,有式7.14成立:(7.15)↵K()一般为核函数对决策函数,有式7.15成立:↵《R语言数据挖掘

》(7.14)↵其中,|X-X²观测X,X,的平方欧氏距离,σ²为广义方差,γ也称为RBFγ。增加γ可提高预测精度,但可能导致过拟合。

↵■

一旦核函数确定下来,参数估计和预测时就不必事先进行特征空间的映射变换处理,更无须关心非线性映射函数φ(的具体形式,只需计算相应的核函数,便可完成所有计算■常见的核函数●

多项式核(PolynomialKernel)↵K(X,X)=(c+1Xx)

(7.17)↵其中,关键参数是阶数d,决定了新空间的维度,一般不超过10。d

越大,新空间中的

超平面在原空间中看来曲面就越灵活复杂。↵线性不可分下的支持向量分类●

径向基核

(RadialBasisFunction,RBFKernel)↵《R语言数据挖掘》(7.18)↵多分类的支持向量分类■可采用1对1

(one-versus-one)

策略或1对多

(one-versus-all)策略,将二分类支持向量分类拓展到多

分类预测问题中对于K分类预测问题,1对1策略是:令第

k

类为+1类,其余类依次作为-1类,分给出的众数类别。↵对于K分类预测问题,1对多策略是:令第

k

类为+1类,其余所有类别为-1类,分

别构建K

个二分类支持向量分类。对新观测

X,

将其输入变量分别带K

个超平面个二分类支持向量分类。对新观测X,其类别预测值应是个支持向量分类,新观测X的类别预测值为

对应的类别k。↵《R

语言数据挖掘》别构建支持向量回归■支持向量回归以训练样本集为数据对象,通过分析输

入变量和数值型输出变量之间的数量关系,对新观测的输出变量值进行预测■支持向量回归与一般线性回归x₂x1《R语言数据挖掘》支持向量回归■

支持向量回归的基本思路■支持向量回归遵循损失函数最小原则下的超平面参数估计■为降低过拟合风险采用ε-不敏感损失函数:当观测X输出变

量的实际值与其预测值的绝对偏差不大于事先给定的ε时,

认为该观测不对损失函数贡献“损失”,损失函数对此呈

不敏感“反应”损失贡献L一E

0

+E

e,=y,-,图

7.12

ε-不敏感损失函数的损失《R语言数据挖掘》■落入ε-带中的样本对超平面没有影响,未落入ε

带中的观测将决定超平面,是支持向量■在多输入变量的情况下,ε-带会演变为一个柱形“管道”,其内样本的误差将被忽略,支持向量是位于其外的样本,其拉格朗日乘子a:不等于0■ε-不敏感损失函数■ε-带支持向量回归《R语言数据挖掘》y=b+wx支

归入ε带中的观形“管道”,

外的样本,■

ε

-

带Ey=b+wxy=b+wx■落入ε-带中的样本对超平面

测将决定超平面,是支持向■在多输入变量的情况下,ε-其内样本的误差将被忽略,

其拉格朗日乘子a不等于0■“管道”半径ε很重要没有影响,未落

量带会演变为一个柱

支持向量是位于其《

R语言数据挖掘

》■ξ;是支持向量回归引入松弛变量,是样本观测点距

管道的竖直方向上的距离

ξ=max(0,|e|-ε)■

ξ;也可定义为:

ξ=max(0,ε-|e;|)■约束条件为:

(b+Wx)-y;≤ε-ζ,i=1,2,….,ny;-(b+Wx)≤ε-ξ,i=1,2….,nξ≥0,ξ≥0,i=1,2….,n支持向量回归■支持向量回归的目标函数(b+Wx)-y;≤E+ξ,i=1,2.…,ny-(b+Wx)≤ε+ξ,i=1,2…nζ≥0,5≥0,i=1,2….,n■约束条件《R语言数据挖掘》■

svm函数■svm(formula=R公式,data=

数据框名,scale=TRUE/FALSE,type=

支持向量机类型,kernel=

核函数

,gamma=g,degree=d,cost=C,epsilon=0.1,na.action=na.omit/na.fail

)■tune.svm函数■tune.svm(formula=R公式,data=数据框名,scale=TRUE/FALSE,type=

支持向量机类型,kernel=核函数

,gamma=

参数向量,degree=

参数向量,cost=

参数向量,

na.action=na.omit/na.fail)支持向量回归的R函数《R语言数据挖掘》支持向量回归的R实现■利用R模拟线性可分下的支持向量分类■在线性可分的原则下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论