24小时热门版块排行榜    

查看: 548  |  回复: 2

xiaoyaojushi

新虫 (初入文坛)

[求助] matlab求助

请问帮我解释一下这个程序的意思吧,希望能详细解释一下每句的意思!
function [res mi]=forward_sel_class(X,Y,k)
% Forward feature selection using the MI criterion.
% X is a dataset (n x d) with n samples and d features and Y is the class
% vector with classes denoted 1, 2 ... c.
[s1,s2]=size(X);
res = [];
remainingset = [1:size(X,2)];
for j=1:size(X,2)
    j;
currscore=[];
for i=1:length(remainingset)
    tempset = [res remainingset(i)];
    tempscore=miv_opt(X(:,tempset),Y,k);
    currscore(i,=tempscore;
end
    [winnerscore, winner] = max(currscore);
    mi(i)=winnerscore;
    res = [res remainingset(winner)];
    remainingset(winner) = [];
end
function res = miv(X,Y,k)
if(size(Y,1) > size(Y,2))
    Y = Y';
end
warning off
% Estimate mutual information between X ad Y with Y a discrete random variable
% and X a real random vector
% k must be smaller than the minimum number of points in a class.

load digammaMAT;
Y = 1 + Y - min(Y);
[N,d]   = size(X);              % Sample size and dimension
C       = full(ind2vec(Y))';    % Matrix of binary class description
[N, L]  = size(C);              % Sample size and number of classes
cN      = sum(C);               % sample size of each class
for l=1:L, digammacN(l) = digammaMAT(cN(l));end
distmat = pairwisedistances(X,2);
epsilonallclasses = zeros(N,1);
epsilonsameclass = zeros(N,1);
for j = 1:N
    % get vector of all distances
    dist = distmat(j,;
    % sort this vector
    [sorteddistances, distanceindices] = sort(dist);

    % find the distance to the k th neighbour
    epsilonallclasses(j) = 2*sorteddistances(k+1); % the first neighbour is the point itself
    % find the distance to the k th neighbour in the same class
    whichclass = Y(j);
    mask = C(:,whichclass);
    mask = mask(distanceindices);
    sorteddistancesinsameclass = sorteddistances(find(mask));
    epsilonsameclass(j) = 2*sorteddistancesinsameclass(k+1);
end
res = digammaMAT(N) - 1/N * sum(cN.*digammacN)+ d/N * sum((log(epsilonallclasses))-(log(epsilonsameclass)));
res=res/log(2);
% ajout
% if (isnan(res)==1)|(res==-Inf)|(res<0)
%     res=0;
% end
% if j is specified, output is the distance from all points in X to j
% otherwise, output is a full squared distance matrix with all distances
% between all points
function [res] = pairwisedistances(X, pp,j)
[n,p] = size(X);
if nargin < 3
    %outClass = class(X);
    Y = zeros(1,n*(n-1)./2, 'single');
    k = 1;
    for i = 1:n-1
        dsq = zeros(n-i,1,'single');
        for q = 1:p
            dsq = dsq + abs(X(i,q) - X((i+1):n,q)).^pp;
        end
        Y(kk+n-i-1)) = (dsq).^(1/pp);
        k = k + (n-i);
    end
    res = squareform(Y);
else
     res = (sum(abs(X-repmat(X(j,,n,1)).^pp,2)).^(1/pp);
end

[ 来自科研家族 人工智能 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主

【答案】应助回帖

感谢参与,应助指数 +1
希望能详细解释一下每句的意思?那估计没有人这么有空。
建议先搞明白这个程序背后的原理,然后再读程序就会比较简单。
2楼2012-05-23 18:00:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijie169

铜虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
貌似是分类基于MI分类的,原理是基于距离
3楼2012-05-24 13:49:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiaoyaojushi 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 23jxep3nCNZb 2026-09-14 5/250 2026-09-18 11:28 by HjTo14L7GlnE
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +7 6F5UbRU2I5hL 2026-09-14 7/350 2026-09-18 10:30 by yS4CkeWDhD6V
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +6 s3fFTmArrBt6 2026-09-14 7/350 2026-09-18 10:18 by yS4CkeWDhD6V
[基金申请] 国社科系统bug了,是不是要放榜了? +6 kynobel 2026-09-16 7/350 2026-09-18 08:26 by llionlee007
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 5BDX0d0WFp7t 2026-09-15 3/150 2026-09-18 03:16 by cITaGg3p5edr
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 Aj1rhIDL5ixY 2026-09-14 6/300 2026-09-18 01:54 by cITaGg3p5edr
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 40ms4Wlo4umh 2026-09-14 4/200 2026-09-18 01:04 by cITaGg3p5edr
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 6F5UbRU2I5hL 2026-09-14 3/150 2026-09-18 00:28 by cITaGg3p5edr
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 s3fFTmArrBt6 2026-09-13 6/300 2026-09-17 23:16 by cuPZTDXS3VOd
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 5BDX0d0WFp7t 2026-09-15 4/200 2026-09-17 16:29 by 0ngsZVSCTS7z
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 mibUvS8DDCwf 2026-09-15 3/150 2026-09-17 16:03 by 0ngsZVSCTS7z
[找工作] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 6F5UbRU2I5hL 2026-09-14 4/200 2026-09-17 13:05 by ObVzqQQh1rrE
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 Aj1rhIDL5ixY 2026-09-14 4/200 2026-09-17 04:52 by k06BKNblrGRH
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 vZfe6xYu34yj 2026-09-14 3/150 2026-09-16 22:26 by Tql5LQhh5rLK
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 6F5UbRU2I5hL 2026-09-14 6/300 2026-09-16 17:27 by i3KBRD19ERkG
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 6F5UbRU2I5hL 2026-09-14 3/150 2026-09-16 17:12 by i3KBRD19ERkG
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +7 3n8v2C8RimXI 2026-09-13 7/350 2026-09-16 02:35 by DgNGHc3h5tPl
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 s3fFTmArrBt6 2026-09-13 4/200 2026-09-15 06:50 by 5BDX0d0WFp7t
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +6 3n8v2C8RimXI 2026-09-13 6/300 2026-09-15 05:38 by 5BDX0d0WFp7t
[考博] 27秋季材料博士申请求助 10+3 Cahal1 2026-09-11 4/200 2026-09-14 08:50 by 北京莱茵编辑
信息提示
请填处理意见