模式识别大作业—Fisher_最近邻

模式识别大作业—Fisher_最近邻

ID:40387728

大小:235.50 KB

页数:14页

时间:2019-08-01

模式识别大作业—Fisher_最近邻_第1页
模式识别大作业—Fisher_最近邻_第2页
模式识别大作业—Fisher_最近邻_第3页
模式识别大作业—Fisher_最近邻_第4页
模式识别大作业—Fisher_最近邻_第5页
资源描述:

《模式识别大作业—Fisher_最近邻》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、姓名:学号:题目对sonar和wdbc中数据(如表1所示)进行分类,并将实验结果填入表2。不降维方法用邻近法,降维用fisher判别:表1实验数据类别数特征维数样本个数wdbc230=357=212sonar260=98=110解:表2实验结果(准确率)不降维降维wdbc0.950720.93283sonar0.686080.72499一、Fisher线性判别Fisher判别法的基本思想是寻找一个最好的投影方向,在这个方向的直线上,d维样本的投影能分开的最好。问题是如何根据实际情况找到这条最好的、最易于分类的投影线。这就是fisher法所要解决的基本问题。一维空间的Fisher线性判别函数为

2、:=,i=1,2其中,和是两个样本的均值,,分别为各类样本的的类内离散度。投影方向为:(4)(5)在Fisher判决函数中,分子反应了映射后两类中心的距离平方,该值越大,类间可分性越好;分母反应了两类的类内的离散度,其值越小越好;从总体上讲,的值越大越好,在这种可分性评价标准下,使达到最大值的即为最佳投影方向。以上所做的全部工作都是将d维空间的样本集映射成一维样本集,然后,我们只需要再确定一个阈值,将投影点与阈值比较,便可作出决策。本程序中,采用的是阈值=()/2然后再根据决策规则比较投影与阈值大小就可判断属于什么类型。Fisher线性判别的主要优点是简单,容易实现,且计算量和存储量小。二、

3、Fisher线性判别流程图分别取50组类别1和类别2的样本进行训练通过决策规则,计算得到和决策面阈值构成fisher判别函数分别计算测试样本识别的准确率选取剩下类别1和类别2的样本进行测试是否大于阈值?类别1的个数加1类别2的个数加1三、Fisher线性判别实验结果因为选择训练样本具有随机性,所以进行多次实验,求取判别准确率的平均值。表一:sonar(fisher)表二:wdbc(fisher)运行次数准确率10.927520.942430.929640.955250.925460.910470.957480.933990.9254100.9211平均准确率0.93283运行次数准确率10.

4、692320.769230.751340.787350.713060.707870.684580.669090.7665100.7225平均准确率0.7263四、最近邻法其基本思想是在训练样本中找到测试样本的最近邻,然后根据这个最近邻样本的类别来决定测试样本的类别,邻近法算法所选择的邻居都是已经正确分类的对象。该算法在分类时的不足主要有:如果样本数目太少,样本的分布可能会带有很大的偶然性,不一定能很好地代表数据内的分布情况,此时就会影响最近邻法的性能。该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的最近邻点。如果写成判别函数的形式,类的

5、判别函数可以写作决策规则为各类的判别函数比较大小,即五、最近邻法判别流程图将测试样本的类别判定为最近训练样本的类别分别取50组类别1和类别2的样本作为训练样本选取剩下类别1和类别2的样本作为测试样本计算出距每个测试样本最近的训练对象分别测试样本识别的准确率六、最近邻法判别实验结果表三:sonar(最近邻)表四:wdbc(最近邻)运行次数准确率10.647820.675030.725640.685050.713060.695670.624580.723790.7522100.6687平均准确率0.6911运行次数准确率10.970120.888130.955240.933950.931860.

6、972370.97448190.9646100.9168平均准确率0.95072七、实验总结用fisher线性判别分析方法对sonar和wdbc的识别率分别是0.72499和0.93283;而用近邻法得到的识别率分别为0.63055和0.95072。因此在此两组数据中fisher线性判别的识别率要稍微高于近邻法,主要原因可能是这两种类型的点相对集中,存在交叠的情况导致的。在这个分类实验中fisher判别有着较高的识别率,但不一定适用于所有数据分类。因此要根据具体的应用场合来选择合适的分类方法。经过几个晚上的艰苦奋斗,努力学习,不断请教前辈大神和上网查询,不断调试程序,最终才得以成功运行,我对

7、这几种判别方法有了更深层次的认识,同时对matlab这个强大的数值计算软件应用的也更加熟练,山重水复疑无路,柳暗花明又一村,自己的能力也就是在不断的发现错误,改正错误中得到了提升。八、实验matlab代码(1)sonar数据分类clearall;A=xlsread('C:UserslisaiDesktopsonar');%将数据存入到A中form=1:10%程序随机运行10次disp(sprintf(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。