爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 14097|回复: 15

[源程序] 关于多分类主题+matlab代码

[复制链接]

新浪微博达人勋

发表于 2011-12-3 11:56:25 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 山水美不美 于 2011-12-3 12:38 编辑

文献:关于线性判别分析方面的论文
程序代码:完成到验证St=Sb+Sk的关系这一步,可是无论按照哪个文献提供的方法,始终得不到St=Sb+Sk成立的结论!请大家来“捉虫”!
如果懂vb大虾可参与
http://bbs.06climate.com/forum.php?mod=viewthread&tid=4830&extra=page%3D1讨论。
附测试数据、代码
%%%%%  线形判别  %%%%%
%%%%%CSLDA%%%%%%%%%%%%
%%每行为一个样本,有M+1维;共有n个样本。
% %
clc;clear;format long;
g=3; %<---总分类数;根据训练集的分类情况需要人工修改(参数修改第1处)
xyFile=['D:\测试\LDAVB\UU3.TXT'];%%% 测试数据,按实际路径修改
xy=load(xyFile);   %行存放1--->m个因子,最后列存放类别值
[n,c]=size(xy);    %n=总样本数;c=因子数+1列分类值
% %--step1--:对原始数据归类整理,使同一类数据集中到一块
p=0;Xg=zeros(1,g);
for i=1:g %筛选第i类数据,row为列向量,存放符合条件的数据在原始数据的行序列
    [row,col]=find(xy(:,c)==i); %col为列向量,存放第i类的分类值
    Xg(i)=length(row);          %计算第i类数据的总样本数
    for k=1:Xg(i)              %从原始数据中提取出第i类数据
        p=p+1;
        if p==1
           xdat=xy(row(k),:) ;%row(k)指向在原始数据的第i类数据所在行号位置
        else   
           xdat=[xdat;xy(row(k),:)];%取出行数据
        end  
    end
end   
m=c-1;             %样本维数单用一个变量
ys=xdat(:,c);
% %--step2--:将原始数据映射到核空间zdat
%待补充部分
% %--step3--:计算xdat总体样本均值向量
xx=xdat(:,1:m);%%用原始数据,但不包含第c列
AllXavg=mean(xx,1);%AllXavg为行向量 1*m 维,但不包含第c列
% %--step4--:计算各个分类的样本均值向量Xgmean为 g*m 维 行向量
Pdrs=0;
for i=1:g
    if i==1
       n1=1;n2=Xg(i);   %找到第i类样本的起始行、终止行 行序号,方便操作第i类数据
       Pdrs=n2;
    else
       n1=Pdrs+1;n2=Pdrs+Xg(i);Pdrs=n2;        
    end
    %%ys(n1:n2)=i;%由于样本数据按同类集中处理,那么分类号必须同步处理。
    xtmp=xx(n1:n2,:);  %取出第i类数据,借用临时变量xtmp,用后清除
    if i==1
      Xgmean=mean(xtmp,1);%按列计算平均值,因为每行是1个观测样本,但不包含第c列
    else
      Xgmean=[Xgmean;mean(xtmp,1)];%按行进行矩阵合并,因为行是第i类的样本均值向量
    end   
end
clear xtmp;
% %--step5--:计算总体散布矩阵St(1 To m, 1 To m)
St=zeros(m,m);%%生成 m*m 维矩阵
for i=1:n
    xk=xx(i,:)-AllXavg(1,:);
    St=St+xk'*xk;
end
%St=St/n;
% %--step6--:计算类间散布矩阵Sb(1 To m, 1 To m)
Sb=zeros(m,m);%%生成 m*m 维矩阵
for i=1:g
    xtmp =Xgmean(i,:)-AllXavg(1,:);%xtmp为 1*m 维行向量
    Sb=Sb+Xg(i)*xtmp'*xtmp;      %Sb为 m*m 维矩阵
    %Sb=Sb+xtmp'*xtmp;      %Sb为 m*m 维矩阵
end
%Sb=Sb/n;
% %--step7--:计算类内散布矩阵Sk(1 To m, 1 To m); tSk(1 To m, 1 To m)
tSk=zeros(m,m);%不属于第k类样本的类内散布矩阵tSk
Sw=zeros(m,m);%总的类内散布矩阵
Pdrs=0;
for i=1:g
    Sk=zeros(m,m);%临时变量,存放第i类样本的类内散布矩阵
    if i==1
       n1=1;n2=Xg(i);%取得第i类样本的起始行、终止行,方便正确操作第i类数据
       Pdrs=n2;
    else
       n1=Pdrs+1;n2=Pdrs+Xg(i);Pdrs=n2;
    end
    for k=n1:n2  %计算第i类所有样本的类内散布矩阵Sk(1 To m, 1 To m)
       xk=xx(k,:)-Xgmean(i,:);      
       Sk=Sk+xk'*xk;%
    end
    Sw=Sw+bxs*Sk;
end
Sw=Sw/g;%
ss=St-Sb-Sw; %这里是为了检验St=Sb+Sw之间的关系是否成立? 如果成立,则ss=零矩阵,可是实际上为非零矩阵  
clear xtmp;
不能上传附件!先贴上内容再试一试。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-12-3 12:00:01 | 显示全部楼层
本帖最后由 山水美不美 于 2011-12-3 12:01 编辑

还是不能上传附件,不懂阿,

密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-12-3 12:11:56 | 显示全部楼层

你以前不是上传过的么,应该可以的啊,上传显示什么?要点击附件按钮上传,不是那个网盘按钮
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-12-3 12:14:59 | 显示全部楼层
提示:附件正在上传,按钮都变灰了,没的可点击的,不知道是网络塞车,总会遇到一些的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-12-3 12:40:11 | 显示全部楼层
本帖最后由 山水美不美 于 2011-12-3 12:42 编辑
mofangbao 发表于 2011-12-3 12:11
你以前不是上传过的么,应该可以的啊,上传显示什么?要点击附件按钮上传,不是那个网盘按钮


出现这个就不继续了,郁闷...
file:///d:/err.jpg

上传错误

上传错误
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2011-12-3 12:45:33 | 显示全部楼层
山水美不美 发表于 2011-12-3 12:40
出现这个就不继续了,郁闷...

好嘛,你那是卡住了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-12-3 12:53:34 | 显示全部楼层
言深深 发表于 2011-12-3 12:45
好嘛,你那是卡住了

可是,连续几次都这样,这个问题不好找。
另外,请问版主,如何知道贴出来的代码有多少人复制过?我想知道有多少人对这方面感兴趣。
如果有哪位在校学生,能否利用学校资源,帮忙查一下这方面的理论公式在教材上是如何定义的,传到上面来让大家明白,哪些写到文献上的公式好象有些看不懂了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-12-3 13:05:25 | 显示全部楼层
网络有点慢吧  再试试
如果贴代码的话,可以试试直接用代码的那个按钮,出来的效果比较好看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2011-12-3 15:54:16 | 显示全部楼层
山水美不美 发表于 2011-12-3 12:53
可是,连续几次都这样,这个问题不好找。
另外,请问版主,如何知道贴出来的代码有多少人复制过?我想知 ...

什么理论公式?你指的是你代码的方法公式,还是如何实现查看你的代码被复制次数的理论基础?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-12-3 16:45:06 | 显示全部楼层
有时候传不了附件 急死了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表