FISHER线性判别MATLAB实现
更新时间:2023-04-13 00:31:01 阅读量: 实用文档 文档下载
- fisher线性判别分析推荐度:
- 相关推荐
. Fisher线性判别上机实验报告
班级:
学号:
姓名:
.
一.算法描述
Fisher 线性判别分析的基本思想:选择一个投影方向(线性变换,线性组合),将高维问题降低到一维问题来解决,同时变换后的一维数据满足每一类内部的样本尽可能聚集在一起,不同类的样本相隔尽可能地远。
Fisher 线性判别分析,就是通过给定的训练数据,确定投影方向W 和阈值w0, 即确定线性判别函数,然后根据这个线性判别函数,对测试数据进行测试,得到测试数据的类别。
线性判别函数的一般形式可表示成0)(w X W X g T += 其中
????? ??=d x x X Λ1 ??????
? ??=d w w w W Λ21
Fisher 选择投影方向W 的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求。 如下为具体步骤:
(1)W 的确定
i w S
T x S (x m )(x m ), 1,2i i i i X i ∈=
--=∑
.
12w S S S =+
样本类间离散度矩阵b S
在投影后的一维空间中,各类样本均值T i i m '= W m
样本类内离散度和总类内离散度 T T i i w
w S ' = W S W S ' = W S W 样本类间离散度T b
b S ' = W S W Fisher 准则函数为 max 22
2122
1~~)~~()(S S m m W J F +-= (2)阈值的确定
w 0
是个常数,称为阈值权,对于两类问题的线性分类器可以采用下属决策规则: 令)()()(2
1x x x g g g -=则:
如果g(x)>0,则决策w x 1∈;如果g(x)<0,则决策w x 2∈;如果g(x)=0,则可将x 任意分到某一类,或拒绝。
(3)Fisher 线性判别的决策规则
Fisher 准则函数满足两个性质:
1.投影后,各类样本内部尽可能密集,即总类内离散度越小越好。
2.投影后,各类样本尽可能离得远,即样本类间离散度越大越好。
根据这个性质确定准则函数,根据使准则函数取得最大值,可求出
W :-1w 12W = S (m - m ) 。
这就是Fisher 判别准则下的最优投影方向。
最后得到决策规则 T
1212S (m m )(m m )b =--
.
若
P
P
m
m
w
w
w
x
x
g T
)
(
)
(
2
1
1
2
log
))
(
2
1
(
)
(大于或小于
+
-
=
,则
{1
2
w
w
x∈
对于某一个未知类别的样本向量x,如果y=W T·x>y0,则x∈w1;否则x ∈w2。
二.数据描述
1.iris数据
IRIS数据集以鸢尾花的特征作为数据来源,数据集包含150个数据集,有4维,分为3 类,每类50个数据,每个数据包含4个属性,是在数据挖掘、数据分类中非常常用的测试集、训练集。
2.sonar数据
Sonar数据集包含208个数据集,有60维,分为2类,第一类为98个数据,第二类为110个数据,每个数据包含60个属性,是在数据挖掘、数据分类中非常常用的测试集、训练集。
三.实验结果以及源代码
1.Iris
(1)代码:
clc
clear
data=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(Iris2);
m3 = mean(Iris3);
%各类内离散度矩阵
s1 = zeros(4);
s2 = zeros(4);
s3 = zeros(4);
for i=1:1:30
s1 = s1 + (Iris1(i,:) - m1)'*(Iris1(i,:) - m1);
end
for i=1:1:30
s2 = s2 + (Iris2(i,:) - m2)'*(Iris2(i,:) - m2);
end
for i=1:1:30
s3 = s3 + (Iris3(i,:) - m3)'*(Iris3(i,:) - m3);
end
%总类内离散矩阵
sw12 = s1 + s2;
sw13 = s1 + s3;
sw23 = 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=[];
newiris3=[];
for i=31:50
x = 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];
end
end
for i=31:50
x = Iris2(i,:);
g12 = w12 * x' + T12;
g13 = w13 * x' + T13;
g23 = w23 * x' + T23;
if((g12 > 0)&(g13 > 0))
newiris1=[newiris1;x];
elseif((g12 < 0)&(g23 > 0))
kind2=kind2+1;
newiris2=[newiris2;x];
elseif((g13 < 0)&(g23 < 0))
newiris3=[newiris3;x];
end
end
for i=31:50
x = Iris3(i,:);
g12 = w12 * x' + T12;
.
g13 = w13 * x' + T13;
g23 = w23 * x' + T23;
if((g12 > 0)&(g13 > 0))
newiris1=[newiris1;x];
elseif((g12 < 0)&(g23 > 0))
newiris2=[newiris2;x];
elseif((g13 < 0)&(g23 < 0))
kind3=kind3+1;
newiris3=[newiris3;x];
end
end
correct=(kind1+kind2+kind3)/60;
fprintf('\n综合正确率:%.2f%%\n\n',correct* 100);
(2)实验结果:
综合正确率=96.67%
2.Sonar
(1)代码:
clc
clear
data=xlsread('sonar');
Sonar1=data(1:98,1:60);
Sonar2=data(99:208,1:60);
%类均值向量
. m1 = mean(Sonar1);
m2 = mean(Sonar2);
%各类内离散度矩阵
s1 = zeros(60);
s2 = zeros(60);
for i=1:1:70
s1 = s1 + (Sonar1(i,:) - m1)'*(Sonar1(i,:) - m1);
end
for i=1:1:80
s2 = s2 + (Sonar2(i,:) - m2)'*(Sonar2(i,:) - m2);
end
%总类内离散矩阵
sw12 = s1 + s2;
%投影方向
w12 = ((sw12^-1)*(m1 - m2)')';
%判别函数以及阈值T(即w0)
T12 = -0.5 * (m1 + m2)*inv(sw12)*(m1 - m2)';
kind1 =0;
kind2 =0;
. newsonar1=[];
newsonar2=[];
for i=71:98
x = Sonar1(i,:);
g12 = w12 * x' + T12;
if g12 > 0
newsonar1=[newsonar1;x];
kind1=kind1+1;
else
newsonar2=[newsonar2;x];
end
end
for i=81:110
x = Sonar2(i,:);
g12 = w12 * x' + T12;
if g12 > 0
newsonar1=[newsonar1;x];
else
newsonar2=[newsonar2;x];
kind2=kind2+1;
end
end
correct= (kind1+kind2)/58;
. fprintf('\n综合正确率:%.2f%%\n\n',correct*100);
(2)实验结果:
综合正确率=75.86%
正在阅读:
FISHER线性判别MATLAB实现04-13
社会研究方法第一、二次作业(含答案)07-11
关于银行先进党员事迹材料范本08-17
XMLHttpRequest 对象08-14
3.3 导数的应用(2)-零点、恒成立、存在性的较简单问题等07-02
中国科学院大学2015年招收攻读硕士学位研究生入学统一考试试题环03-02
大一学生军训心得范文参考03-25
xx农业银行岗位绩效考核指引05-08
新视野大学英语4网络测试选择题01-21
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 判别
- 线性
- 实现
- FISHER
- MATLAB
- XXX视频监控升级改造与运维项目投标方案完整版
- 党的组织生活制度完整版
- 六年级下册英语试题-Unit 1 How tall are you _ (含答案) 人教PE
- 山东省烟台市2022_2022学年高二地理下学期期末考试试题
- 湘教版七年级地理下册第一次月考检测题附答案
- 团员年度个人总结1500字
- 信息技术与学科教学整合的实践与研究课题结题报告
- Chitic8.10监控软件ChiticView使用说明书_CHITIC-CT-UserManual_
- 最新部编版语文四年级下册全册单元复习课教案(共8单元)-部编四下
- 大学英语四级单词 Microsoft Word 文档
- 园林绿化安全养护管理制度
- 高中关于展现自己的作文 积极表达,勇于超越
- (强烈推荐)吉林省桦甸市优质高油大豆种子繁育基地建设项目可研报
- 2022年武安市教师招聘考试《综合基础知识及应用》试题及答案
- 六年级下册品德与社会期末复习资料
- 年检验检测机构内审员试题
- 2022年省考申论真题及答案Word版
- 现代大学英语中级写作课程教(学)案
- 奥的斯GEN2故障查找
- 数字电路测试系统说明