24小时热门版块排行榜    

查看: 1224  |  回复: 2

小飞鱼lover

铜虫 (初入文坛)

[求助] 高斯核矩阵构造的优化 已有1人参与

CODE:
Gamma = 0.001;
for k = 1:m
    for l = 1:n
    K1(k,l) = exp(-Gamma*(sum((TrainData(k,:)-SvmVetors(l,:)).^2))) ;
    end
end  

其中m=698,n=694,TrainData为698*1849double矩阵,SvmVetors为694*1849double矩阵,运行很慢,求优化方法
回复此楼

» 猜你喜欢

www.poryfly.com
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

感谢参与,应助指数 +1
优化前Elapsed time is 18.531330 seconds.
优化后Elapsed time is 0.107060 seconds.
代码
CODE:
m=698;
n=694;
Gamma = 0.001;
TrainData = randi(100,[698,1849]);
SvmVetors = randi(100,[694,1849]);
k = sum(TrainData,2);
k = repmat(k,[1,n]);
v = sum(SvmVetors,2)';
v = repmat(v,[m,1]);
K1 = (k-v).^2;
K1 = exp(-Gamma*K1);

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2014-04-11 20:44:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小飞鱼lover

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by libralibra at 2014-04-11 20:44:35
优化前Elapsed time is 18.531330 seconds.
优化后Elapsed time is 0.107060 seconds.
代码
m=698;
n=694;
Gamma = 0.001;
TrainData = randi(100,);
SvmVetors = randi(100,);
k = sum(TrainData,2);
k  ...

我可能还没有真正理解高斯核吧,但是我觉得你优化后的这个程序求出来的核,不是我需求的核。
我的源程序是两个向量的每一个元素做差然后平方在求和
而你改进后的是,两个向量先求和然后再做差,在平方,不一样。
求大神继续指点下了
www.poryfly.com
3楼2014-04-13 10:36:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 小飞鱼lover 的主题更新
信息提示
请填处理意见