欢迎来到天天文库
浏览记录
ID:30227336
大小:82.00 KB
页数:7页
时间:2018-12-28
《fisher线性判别matlab实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案Fisher线性判别上机实验报告班级:学号:姓名:精彩文档实用标准文案一.算法描述Fisher线性判别分析的基本思想:选择一个投影方向(线性变换,线性组合),将高维问题降低到一维问题来解决,同时变换后的一维数据满足每一类内部的样本尽可能聚集在一起,不同类的样本相隔尽可能地远。Fisher线性判别分析,就是通过给定的训练数据,确定投影方向W和阈值w0,即确定线性判别函数,然后根据这个线性判别函数,对测试数据进行测试,得到测试数据的类别。线性判别函数的一般形式可表示成其中Fisher选择投影方向W的原则,即使原样本向量在
2、该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求。如下为具体步骤:(1)W的确定各类样本均值向量mi样本类内离散度矩阵和总类内离散度矩阵精彩文档实用标准文案样本类间离散度矩阵在投影后的一维空间中,各类样本均值样本类内离散度和总类内离散度样本类间离散度Fisher准则函数为max(2)阈值的确定是个常数,称为阈值权,对于两类问题的线性分类器可以采用下属决策规则:令则:如果g(x)>0,则决策;如果g(x)<0,则决策;如果g(x)=0,则可将x任意分到某一类,或拒绝。(3)Fisher线性判别的决策规则Fish
3、er准则函数满足两个性质:1.投影后,各类样本内部尽可能密集,即总类内离散度越小越好。2.投影后,各类样本尽可能离得远,即样本类间离散度越大越好。根据这个性质确定准则函数,根据使准则函数取得最大值,可求出W:。这就是Fisher判别准则下的最优投影方向。最后得到决策规则若,则精彩文档实用标准文案对于某一个未知类别的样本向量x,如果y=WT·x>y0,则x∈w1;否则x∈w2。一.数据描述1.iris数据IRIS数据集以鸢尾花的特征作为数据来源,数据集包含150个数据集,有4维,分为3类,每类50个数据,每个数据包含4个属性,是在
4、数据挖掘、数据分类中非常常用的测试集、训练集。2.sonar数据Sonar数据集包含208个数据集,有60维,分为2类,第一类为98个数据,第二类为110个数据,每个数据包含60个属性,是在数据挖掘、数据分类中非常常用的测试集、训练集。二.实验结果以及源代码1.Iris(1)代码:clccleardata=xlsread('Iris');Iris1=data(1:50,1:4);Iris2=data(51:100,1:4);Iris3=data(101:150,1:4);%类均值向量m1=mean(Iris1);m2=mean(
5、Iris2);m3=mean(Iris3);%各类内离散度矩阵s1=zeros(4);s2=zeros(4);s3=zeros(4);fori=1:1:30s1=s1+(Iris1(i,:)-m1)'*(Iris1(i,:)-m1);endfori=1:1:30精彩文档实用标准文案s2=s2+(Iris2(i,:)-m2)'*(Iris2(i,:)-m2);endfori=1:1:30s3=s3+(Iris3(i,:)-m3)'*(Iris3(i,:)-m3);end%总类内离散矩阵sw12=s1+s2;sw13=s1+s3;s
6、w23=s2+s3;%投影方向w12=((sw12^-1)*(m1-m2)')';w13=((sw13^-1)*(m1-m3)')';w23=((sw23^-1)*(m2-m3)')';%判别函数以及阈值T(即w0)T12=-0.5*(m1+m2)*inv(sw12)*(m1-m2)';T13=-0.5*(m1+m3)*inv(sw13)*(m1-m3)';T23=-0.5*(m2+m3)*inv(sw23)*(m2-m3)';kind1=0;kind2=0;kind3=0;newiris1=[];newiris2=[];new
7、iris3=[];fori=31:50x=Iris1(i,:);g12=w12*x'+T12;g13=w13*x'+T13;g23=w23*x'+T23;if((g12>0)&(g13>0))newiris1=[newiris1;x];kind1=kind1+1;elseif((g12<0)&(g23>0))newiris2=[newiris2;x];elseif((g13<0)&(g23<0))newiris3=[newiris3;x];endendfori=31:50x=Iris2(i,:);g12=w12*x'+T12;g
8、13=w13*x'+T13;g23=w23*x'+T23;if((g12>0)&(g13>0))精彩文档实用标准文案newiris1=[newiris1;x];elseif((g12<0)&(g23>0))kind2=kind2+1;newiris2=[newi
此文档下载收益归作者所有