没有合适的资源?快使用搜索试试~ 我知道了~
Fisher线性判别.pdf
资源推荐
资源详情
资源评论
Fisher 线性判别分类 Iris 和 Sonar 数据集
摘要
分类是我们日常生活中经常要使用到的一种算法,而其中有很多情况下如果数据线
性可分那么我们尽可能的会使用线性分类器对数据进行分类,而其中 Fisher 线性分类是
其中很重要的一种分类方式。
根据机器学习任务的常规顺序,我们首先需要将数据集进行分类,将一个数据集分
类训练集和测试集,分类原则为:训练集和测试集应当完全相似,没有分别的明显特征,
若是数据集本身来源正常,没有特意区分的话,则可以选择任一连续的部分作为训练集,
剩余部分作为测试集。若是数据集的分布有明显的变化趋势,则应当选择均匀采样或者
随机采样的方式选择训练集。
我们选择 UCI 数据集作为我们的原始数据,UCI 数据集为机器学习中常用的数据集,
其中的数据来源于实际,随机分布无明显变化趋势,所以我们采用两段分割的方式选择
训练集和测试集,而选择变化训练集和测试集的比例来检验训练集的样本个数变化对训
练结果的影响。
首先选择其中的 Sonar 数据集来做二分类,Sonar 数据集包含两类数据,包含 207
个样本,每个样本含有 60 个特征,如果对于高维数据都有很好的分类效果,那么就可
以证明 Fisher 线性判别可以运用在日常大多数的分类任务。根据数据线性可分的性质可
知,两组可分的数据必然存在差异,由于数据比较多,所以我们首先计算出各类数据的
中心点,然后定义类内的离散度来度量数据的离散程度,同时根据两类数据的不同定义
类间离散度,然后根据两类离散度定义,依据类内离散度最小同时类间离散度最大的原
则定义优化函数。然后对优化函数进行显式化简,利用拉格朗日函数将函数转化,最终
化简得到结果,将此结果用于数据集中来验证其分类效果。
然后将二分类任务进行拓展,对于线性可分的多分类问题其实就是多次的二分类任
务,Iris 数据集包含三类数据,150 个样本,每个样本包含 4 个特征,针对这个问题我们
进行三次 Fisheries 分类,分为第一类和第二类,第一类和第三类,第二类和第三类,然
后将三种结果组合,用于数据集中,验证其分类效果,如果可以运用在三分类问题中,
那么就可以将其运用在更高维的线性可分类任务中。
最后我们得到了对两个数据集的分类结果,对 Sonar 数据集进行的二分类问题来说
可以达到 80%的分类准确率,对 Iris 数据集进行的三分类问题来说可以到达 90%的分类
准确率。
对结果进行分析,发现二分类问题反而没有三分类问题的效果好,于是分析两个问
题的区别,并选择其中的样本特征做分析,由于 Sonar 有 60 个特征,导致数据的维度
非常高,而且在分类时将所有维度都同等对待,但是不同的特征对于数据集的区分贡献
必不相同,于是我们随机选择其中的部分特征重新进行分类,最终得出结论。
关键词:Fisher 线性判别 UCI 数据集 二分类问题 多分类问题
一、问题描述
使用 Fisher 线性判别进行分类问题的研究,并在 UCI 数据集上的 iris 和 sonar 数据
上验证算法的有效性,其中 iris 数据三类,四维,150 个数据;sonar 数据两类,60 维,
208 个样本。
二、数据集说明
UCI 数据库是加州大学欧文分校(University of CaliforniaIrvine)提出的用于机器学习
的数据库,这个数据库目前共有 488 个数据集,其数目还在不断增加,UCI 数据集是一
个常用的标准测试数据集。
每个数据文件(*.data)包含以“属性-值”对形式描述的很多个体样本的记录。对应
的*.info 文件包含的大量的文档资料。有些文件_generate_ databases;他们不包含*.data
文件。作为数据集和领域知识的补充,在 utilities 目录里包含了一些在使用这一数据集
时的有用资料。
下表为 Iris 数据集部分数据展示:
5.1
3.5
1.4
0.2
Iris-setosa
4.9
3
1.4
0.2
Iris-setosa
……
……
……
……
……
7
3.2
4.7
1.4
Iris-versicolor
6.4
3.2
4.5
1.5
Iris-versicolor
……
……
……
……
……
6.3
3.3
6
2.5
Iris-virginica
5.8
2.7
5.1
1.9
Iris-virginica
三、Fisher 线性判别原理分析
判别分析是一种经典的现行分析方法,其利用已知类别的样本建立判别模型,对未
知类别的样本进行分类。在这里我们主要讨论 fisher 判别分析的方法。
3.1 Fisher 原理
数据一般具有高维特征,而在使用统计方法处理模式识别问题时,通常是在低维空
间展开研究的,因此降维是解决问题的重要方式。假设数据存在于 n 维空间,在数学中,
通过投影可以将数据映射为一条直线,找到使数据可分的投影直线就是 Fisher 判别要解
决的问题。
Fisher 判别思想是投影,使多维问题简化为一维问题来处理。选择一个适当的投影
轴,使所有的样品点都投影到这个轴上得到一个投影值。对这个投影轴的方向的要求是:
使每一类内的投影值所形成的类内离差尽可能小,而不同类间的投影值所形成的类间离
差尽可能大。
3.2 公式推导
两类的线性判别问题可以看作是把所有的样本都投影到一个方向上,然后在这个一
维空间中确定一个分类的阈值。过这个阈值点且与投影方向垂直的超平面就是两类的分
类面。Fisher 线性判别的思想就是选择投影方向,使得投影后 相隔尽可能远,而同时每
一类内部的样本又尽可能聚类。
图一
四、问题求解
根据 python 代码求解得:
1,Iris 数据集
选择三十个数据作为训练集,得到其三分类准确率为:86.36363636363636 %
2,Sonar 数据集
选择总数据的 60%作为训练集,得到其二分类准确率为:73.80952380952381 %
五、结果分析
5.1 分析不同特征下对数据的分类
5.1.1 Iris 数据集
由于 Iris 数据集只含有四维特征,所以我们首先选择其作为我们分析特征对数据分
类效果的影响的原始数据。其包含四个特征,分别作出第一二类,一三类,二三类 iris
分别在 1-2,1-3,1-4,2-3,2-4,3-4 等不同的两维特征下的散点图:
图二:第一二类 Iris
图三:第二三类
剩余23页未读,继续阅读
资源评论
ZJH01080108
- 粉丝: 153
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功