24小时热门版块排行榜    

查看: 740  |  回复: 1

a287653371

新虫 (初入文坛)

[求助] fastICA对高光谱数据进行特征段选取

请问    在对高光谱数据进行基于负熵的fastICA处理中,X的行是不是代表波段数,列代表样本,最终得到的W分离矩阵是不是按行的权重绝对值大小选取特征波段  我是用GA先进行波段提取  在基于GA提取出的特征波段的基础上再用fastICA简化处理
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

a287653371

新虫 (初入文坛)

我是提取了56个样本的光谱数据   每个样本提取10条光谱  波段数为848个波段    总共就是560×848的光谱数据  数据已经过中心化等预处理
我使用GA算法对560×848的光谱数据降维   得到的是560×228的数据   在这基础上  我用fastICA进行波段选取    先对560×228的数据进行转置为228×560   fastICA程序中X的行代表波段数为228    最终选取特征波段是否是对求得的分离矩阵进行排序,按照绝对值权值大小进行特征波段的选取   

以下是我的ICA程序
function Z=ICA(X)
%-----------去均值---------

[M,T] = size(X); %获取输入矩阵的行/列数  
%因为光谱数据已经过中心化处理 所以一下省略
    %average= mean(X')';  %均值
    %  for i=1:M
        %  X(i,=X(i,-average(i)*ones(1,T);
    %  end
%---------白化/球化分解------      %参考 http://wenku.baidu.com/view/d21c175355270722192ef75b.html?re=view
Cx = cov(X',1);    %Cx = cov(X,1); or Cx = cov(X',1); 计算协方差矩阵Cx
[eigvector,eigvalue] = eig(Cx); %计算Cx的特征值和特征向量
V=eigvalue^(-1/2)*eigvector';   %白化矩阵(PCA基)   另外一种W=eigvector*eigvalue^(-1/2)*eigvector';
B=V*X;   %正交矩阵 Z 原始数据白化处理后的结果

%----------迭代-------     参考http://wenku.baidu.com/view/3c261a34f524ccbff12184d5.html?from=search
Maxcount=1000;        %最大迭代次数
Critical=0.0001;   %终止准则  判断是否收敛
m=M;                %需要估计的分量的个数
W=rand(m);
for n=1:m  
    WP=W(:,n);  %初始权矢量(任意)
%     Y=WP'*Z;
%     G=Y.^3;%G为非线性函数,可取y^3等
%     GG=3*Y.^2;  %G的导数
    count=0;
    LastWP=zeros(m,1);
    W(:,n)=W(:,n)/norm(W(:,n));  %单位化列向量
    while abs(WP-LastWP)&abs(WP+LastWP)>Critical %两个绝对值同时大于收敛条件
        count=count+1;   %迭代次数
        LastWP=WP;      %上次迭代的值
       % WP=1/T*Z*((LastWP'*Z).^3)'-3*LastWP;
        for i=1:m   
WP(i)=mean(B(i,.*(tanh((LastWP)'*B)))-(mean(1-(tanh((LastWP))'*B).^2)).*LastWP(i);%tanh的导数是sechx^2=1-tanhx^2
        end           %WP为某一次牛顿迭代的结果
        WPP=zeros(m,1);
        for j=1:n-1
            WPP=WPP+(WP'*W(:,j))*W(:,j);
        end
        WP=WP-WPP;
        WP=WP/(norm(WP)); %归一化
      
        if count==Maxcount
            fprintf('未找到相应的信号');
            return;
        end
    end
    W(:,n)=WP;   
end

%之后添加的
%找到最独立的方向
power=sum(abs(W)');
[m,in]=sort(power);
W1=W(in(220:228),;
2楼2016-12-17 12:43:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 a287653371 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +10 yufeiwaner 2026-08-09 11/550 2026-08-10 18:47 by yufeiwaner
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 为什么网上很多人说本周 12号出结果 +3 瞬息宇宙 2026-08-10 3/150 2026-08-10 18:27 by Tide man
[基金申请] 关于Filecode分析方法 +3 majunge000 2026-08-10 3/150 2026-08-10 15:46 by lch2012
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +14 Lanmanbaby 2026-08-09 22/1100 2026-08-10 14:57 by wwncly
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +11 archvillain 2026-08-04 13/650 2026-08-10 14:41 by seekfind
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 基金中了 +14 laoda193707 2026-08-06 14/700 2026-08-08 00:23 by 实验小白ha
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
信息提示
请填处理意见