机器学习大作业83396Word格式文档下载.docx
《机器学习大作业83396Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《机器学习大作业83396Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
![机器学习大作业83396Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/15/b5c2847e-b986-45a3-b7e1-49dc89b113ee/b5c2847e-b986-45a3-b7e1-49dc89b113ee1.gif)
形式化表示为:
上面描述的这种情况是建立在样例线性可分的假设上,当样例线性不可分时,可以引入松弛变量,它允许在一定程度上违反间隔约束。
我们可以尝试使用核函数来将特征映射到高维,这样很可能就可分了。
然而,映射后我们也不能100%保证可分。
那怎么办呢,我们需要将模型进行调整,以保证在不可分的情况下,也能够尽可能地找出分隔超平面。
看下面两张图:
可以看到一个离群点(可能是噪声)可以造成超平面的移动,间隔缩小,可见以前的模型对噪声非常敏感。
再有甚者,如果离群点在另外一个类中,那么这时候就是线性不可分了。
这时候我们应该允许一些点游离并在在模型中违背限制条件(函数间隔大于1)。
我们设计得到新的模型如下(也称软间隔):
引入非负参数后(称为松弛变量),就允许某些样本点的函数间隔小于1,即在最大间隔区间里面,或者函数间隔是负数,即样本点在对方的区域中。
而放松限制条件后,我们需要重新调整目标函数,以对离群点进行处罚,目标函数后面加上的就表示离群点越多,目标函数值越大,而我们要求的是尽可能小的目标函数值。
这里的C是离群点的权重,C越大表明离群点对目标函数影响越大,也就是越不希望看到离群点。
我们看到,目标函数控制了离群点的数目和程度,使大部分样本点仍然遵守限制条件。
图1.1分类情况
1.2线性支持向量机
SVM只要是针对两类分类问题,分类主要包括线性可分和非线性可分两类。
在样例线性可分的情况下,此时,存在一个超平面,使得训练样本可以完全被分开,这和超平面的形式为:
从KKT条件得知只有函数间隔是1(离超平面最近的点)的线性约束式前面的系数,也就是说这些约束式,对于其他的不在线上的点(),极值不会在他们所在的范围内取得,因此前面的系数.注意每一个约束式实际就是一个训练样本。
图1.2最优分类面
实线是最大间隔超平面,假设×
号的是正例,圆圈的是负例。
在虚线上的点就是函数间隔是1的点,那么他们前面的系数,其他点都是。
这三个点称作支持向量。
构造拉格朗日函数如下:
下面我们按照对偶问题的求解步骤来进行求解,
首先求解的最小值,对于固定的,的最小值只与w和b有关。
最后得到
此时的拉格朗日函数只包含了变量。
然而我们求出了才能得到w和b。
接着是极大化的过程
前面提到过对偶问题和原问题满足的几个条件,首先由于目标函数和线性约束都是凸函数,而且这里不存在等式约束h。
存在w使得对于所有的i,。
因此,一定存在使得是原问题的解,是对偶问题的解。
1.3非线性支持向量机
图1.3通过非线性变换将输入空间变换到一个高维空间
对非线性问题,可以通过非线性变换转化为某个高维空间中的线性问题,在变换空间求最优分类面。
对于线性不可分的情况,可以把样本X映射到一个高维特征空间H,并在此空间中运用原空间的函数来实现内积运算,这样将非线性问题转换成另一空间的线性问题来获得一个样本的归属。
根据泛化函数的有关理论,只要一种核函数满足Mercer条件,它就对应某一空间中的内积,因此只要在最优分类面上采用适当的内积函数就可以实现这种线性不可分的分类问题。
模型修改后,拉格朗日公式也要修改如下:
这里的和都是拉格朗日乘子,回想我们在拉格朗日对偶中提到的求法,先写出拉格朗日公式(如上),然后将其看作是变量w和b的函数,分别对其求偏导,得到w和b的表达式。
然后代入公式中,求带入后公式的极大值。
整个推导过程类似以前的模型,这里只写出最后结果如下:
此时,我们发现没有了参数,与之前模型唯一不同在于又多了的限制条件。
1.4核函数
核函数是将函数映射到高维空间来增加线性学习的计算能力,通过选择恰当的核函数来代替内积,可以隐式地将训练数据非线性地映射到高维空间,而不增加可调参数的个数,前提是核函数能够计算对应着的输入特征向量的内积。
将核函数形式化定义,如果原始特征内积是,映射后为,那么定义核函数(Kernel)为
选择不同的核函数意味着采取不同的标准对相似性和相似程度进行估计。
因此,核函数的选择对非线性支持向量机的构建是至关重要的,核函数的选择是一个难题。
下面这张图说明在低维线性不可分时,映射到高维后就可分了,使用高斯核函数。
图1.4输入空间到特征空间的映射
第二章实验仿真结果及分析
通过对SVM的学习,了解到不同的实验参数对实验结果造成不同的影响,支持向量机建模过程中,其核函数的类型、核函数参数sigma和惩罚系数c的选取决定模型的识别性能,建模过程中多采用基于启发式的交叉验证法。
在本实验中使用了线性核函数和径向基函数核函数来进行实验,在两种基函数的基础下,又分析讨论了不同训练样本数量对ROC曲线的影响,及训练样本个数的不同对分类误差的影响;
最后对惩罚系数C和径向基核函数中的参数sigma对实验结果的影响有一个简单的分析讨论.
2.1基于线性核函数的实验仿真结果
在这部分实验中,选择的核函数是线性核函数,在此基础上,首先选择不同数量的训练样本,得到相应的最优分类器,再对固定数量的测试样本进行分类,此时的惩罚系数c保持默认不变,此时给出分类结果和相应的ROC曲线,以及相对应的分类误差,然后对所得的实验结果进行分析讨论;
另一部分是保持训练样本和测试样本数量不变,线性核函数不变,此时改变惩罚系数c,得到分类结果、ROC曲线以及分类误差.
[1]训练样本数量对实验结果的影响
本次实验中使用的数据集分为训练样本集和测试样本集,其中训练样本集总数为3089个,测试样本集总数为4000个,而这个样本集中每个样本包含有4个特征,我们选取后两个特征进行分类,测试样本数目选了101个,惩罚系数c默认为1,测试样本和惩罚系数c在这种实验中保持不变.这组实验目的为通过训练样本数量的变化来得到实验结果,即当训练样本的个数发生变化时,找到分类误差和ROC曲线相对应的变化规律,并对这种规律进行分析与讨论。
下图为仿真实验结果,其中图,并将测试样本进行分类,其中黑色代表支持向量,蓝色代表正确分类的样本,红色则表示错误分类的样本。
从这三幅图中可以看到,在每幅图中均出现一定数量的错误分类的样本,为了衡量错误分类的程度,在实验中引入了分类错误率,分类错误率是通过找到分类结果与测试标签之间不同的个数,然后除以测试标签的数目来计算得到的。
出现错误分类的样本的原因是实验所选取的样本集中的每个样本均包括4个特征,同时应用这4个特征对样本进行分类,理论上是可以将正样本与负样本完全分开的,然而我们在实验中仅仅选取了两个特征对样本进行分类,只运用两个特征,无论使用哪两个,样本的信息都有一定程度的丢失,因此势必存在一定数目的样本错误分类现象,也就是会存在一定的错误率。
图,可以看出随着训练样本数目的增多,误差错误率会减小,这表示随着训练样本数量的增加,会有更多的特征用于训练分类器,使得分类器相对应的参数越来越精确,分类器的效果越来越好,相应的使得测试样本的分类结果更加精确,导致分类错误率减小。
但是随着训练样本数量增加分类错误率减少的规律不是绝对的,只能说这是一种趋势。
图2.1.1训练样本数为401个时测试样本分类结果(错误率为0.2574)
图2.1.2训练样本数为1001个时测试样本分类结果(错误率为0.2475)
图2.1.3训练样本数为2001个时测试样本分类结果(错误率为0.2277)
图2.1.4训练样本数量与分类误差曲线(横坐标:
训练样本数量,纵坐标:
分类误差)
如图,其中横坐标表示训练样本数量,纵坐标代表测试样本分类错误率。
从这幅图中看到,当训练样本数量增加时,测试样本分类错误率的大致走向是减少的,当训练样本数量为400~1000时,分类错误率不变,训练样本数量为1000~1500时,分类错误率成下降走势,但是当训练样本数量继续增加直到2000个时,此时分类错误率却是逐渐增加的,接着保持不变直到训练样本数量变为2500时,接着才又逐渐下降。
出现这种现象是合理的,随着训练样本的增多,应用到训练分类器上的特征也随着增多,相应的信息也会增多,在这些新增加的特征中,当这些特征和原有的特征相似时,此时会遵循原来的分类错误率的走势继续变化,而
图2.1.5训练样本数为401个时ROC曲线(曲线面积为:
0.7835)
图2.1.6训练样本数为1001个时ROC曲线(曲线面积为:
0.7886)
图2.1.7训练样本数为2001个时ROC曲线(曲线面积为:
0.7894)
图2.1.8训练样本数量与ROC曲线面积(横坐标:
ROC曲线面积)
当新增加的信息和原有特征相差较大时,就可能存在着与原来的分类错误率的走势完全相反的走势,这时也就可能出现错误率反倒增加的现象,这个曲线只是相对的,是与训练样本的选取方式有很大的关系的,但是训练样本的数量与测试样本分类错误率的总体规律是:
随着训练样本数目的增多,测试样本的分类错误率将减少。
图,ROC曲线涉及FPR与TPR两个指标,FPR即负例预测错误的数量与所有负例的比值,也叫错误率,反映模型的特异性;
TPR即正例预测正确的数量与所有正例的比值,也叫命中率,反映模型的灵敏度。
ROC曲线以误检率为X轴,以检出率为Y轴,描绘了模型输出的收益和代价之间的关系。
为了衡量不同训练样本的基础上得到的ROC曲线的效果,我们引入曲线下面积,曲线下面积越大,分类准确性越高。
在ROC曲线上,最靠近坐标图左上方的点为敏感性和特异性均较高的临界值。
由这三幅图可以看出,随着训练样本的增多,ROC曲线下面积增多,及分类准确性有所提高,这是由于训练样本数目太少时,会出现过学习现象,简单理解就是训练样本得到的输出和期望输出基本一致,但是测试样本输出和测试样本的期望输出相差却很大。
为了得到一致假设而使假设变得过度复杂称为过拟合。
由于使用过少的训练样本产生了一个过拟合的分类器,这个分类器能够百分之百的正确分类样本数据,也就是说再拿样本中的样本来给它,它绝对不会分错,但也就为了能够对样本完全正确的分类,使得它的构造如此精细复杂,规则如此严格,以至于任何与样本数据稍有不同的测试样本它全都认为不属于这个类别。
这就使得正确分类训练样本的要求变得十分严格,使得分类准确性降低。
随着训练样本数量的增加,使得分类器过拟合的现象有所改变,使得分类准确性有所提高,相应的ROC曲线下面积也会有所增大。
但是也不表示训练样本的数量越多越好,当训练样本增加到一定的数目时,若再增加训练样本,将会出现欠学习现象。
由于数据本身呈现二次型,故用一条二次曲线拟合会更好。
但普通的算法只提供线性方程供拟合之用,当训练样本的数目不是很多时,线性方程还可以将这些样本进行拟合,而当训练样本增加到一定程度时,此时线性拟合的误差就会过大,这就产生拟合不足即“欠拟合”现象,从而在分类时要造成偏差,导致分类的准确性降低,对应到图
2.2基于径向基函数的实验仿真结果