fisher线性判别法中矩阵维度问题有2个集合,为正数据集和负数据集,分别包括582个样本和1820个样本,每个样本为24维.使用fisher判别计算w*和阈值y0的时候遇到一些问题.这是代码:%w1是代表第一类
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 17:01:36
![fisher线性判别法中矩阵维度问题有2个集合,为正数据集和负数据集,分别包括582个样本和1820个样本,每个样本为24维.使用fisher判别计算w*和阈值y0的时候遇到一些问题.这是代码:%w1是代表第一类](/uploads/image/z/13020842-2-2.jpg?t=fisher%E7%BA%BF%E6%80%A7%E5%88%A4%E5%88%AB%E6%B3%95%E4%B8%AD%E7%9F%A9%E9%98%B5%E7%BB%B4%E5%BA%A6%E9%97%AE%E9%A2%98%E6%9C%892%E4%B8%AA%E9%9B%86%E5%90%88%2C%E4%B8%BA%E6%AD%A3%E6%95%B0%E6%8D%AE%E9%9B%86%E5%92%8C%E8%B4%9F%E6%95%B0%E6%8D%AE%E9%9B%86%2C%E5%88%86%E5%88%AB%E5%8C%85%E6%8B%AC582%E4%B8%AA%E6%A0%B7%E6%9C%AC%E5%92%8C1820%E4%B8%AA%E6%A0%B7%E6%9C%AC%2C%E6%AF%8F%E4%B8%AA%E6%A0%B7%E6%9C%AC%E4%B8%BA24%E7%BB%B4.%E4%BD%BF%E7%94%A8fisher%E5%88%A4%E5%88%AB%E8%AE%A1%E7%AE%97w%2A%E5%92%8C%E9%98%88%E5%80%BCy0%E7%9A%84%E6%97%B6%E5%80%99%E9%81%87%E5%88%B0%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98.%E8%BF%99%E6%98%AF%E4%BB%A3%E7%A0%81%EF%BC%9A%25w1%E6%98%AF%E4%BB%A3%E8%A1%A8%E7%AC%AC%E4%B8%80%E7%B1%BB)
fisher线性判别法中矩阵维度问题有2个集合,为正数据集和负数据集,分别包括582个样本和1820个样本,每个样本为24维.使用fisher判别计算w*和阈值y0的时候遇到一些问题.这是代码:%w1是代表第一类
fisher线性判别法中矩阵维度问题
有2个集合,为正数据集和负数据集,分别包括582个样本和1820个样本,每个样本为24维.使用fisher判别计算w*和阈值y0的时候遇到一些问题.这是代码:
%w1是代表第一类数据点的矩阵,w11是原始正数据集,大小为582*24
w1=w11';
%w2是代表第一类数据点的矩阵,w22是原始负数据集,大小为1820*24
w2=w22'
%算各类样本的均值
%算第一类样本的均值
tran_m1=mean(w1);
%%算第二类样本的均值
tran_m2=mean(w2);
m1=tran_m1';
m2=tran_m2';
sb=(m1-m2)*(m1-m2)';%sb是样本间离散度矩阵
计算到这里的时候,matlab程序报错,原因是 m1和m2的维数不匹配.
m1维数是582*1,m2维数是1820*1;
请问要怎么解决?
fisher中两类数据的个数一定要相等吗?
另外,计算阈值y0的时候,两类样本的先验概率是怎么求的?
就是对两类数据个数是否要相等有疑惑。如果不相等,计算sb=(m1-m2)*(m1-m2)';时系统就会报错,矩阵大小不相符无法计算。这要怎么解决?
fisher线性判别法中矩阵维度问题有2个集合,为正数据集和负数据集,分别包括582个样本和1820个样本,每个样本为24维.使用fisher判别计算w*和阈值y0的时候遇到一些问题.这是代码:%w1是代表第一类
是对每个维度就均值吧,第一、二步不用转置.
判断和检验,看教程