facelist

您需要登录后才可以留言 登录 | 注册


起得晚先森 2018-1-23 17:05
您好!之前在其他地方看到您的留言,有些问题想请教一下,还是关于遗传算法GAOT工具箱的,其中的主函数[x,endPop,bPop,trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);您之前说交叉和变异的概率在对应的函数文件中可以看到是随机选取的,可以认为是个体长度的倒数,具体可以阅读以下arithXover.m和nonUnifMutation.m,但我看了一下这两个文件,里面好像并没有关于相关概率的确定,不知道能不能详细解释一下?非常感谢!
silence95 2017-5-5 09:39
老师您好!我刚开始接触BP神经网络,有一些问题想请教:我毕设做睡眠状态辨识,神经网络输入是不同睡眠状态的6个特征量,输出是5个睡眠状态,分别采用如下方式输出:awake:(1,0,0,0,0)’   s1:(0,1,0,0,0)’   s2:(0,0,1,0,0)’   s3:(0,0,0,1,0)’   s4:(0,0,0,1,0)’。现5个状态每个状态采集15组数据去训练BP网络,请问怎么判断网络是否训练好了?是看网络实际输出值与期望输出值是否接近还是看回归图里的四个R值是否较大?输出结果中的负值怎么解释?我现在这种情况可以看成训练好了吗?
我的程序如下:
clear all
        clc
        close all
        
        %  BP神经网络训练
        p1=[0.0161        0.0922        0.3366        0.0548        0.0132        0.082        0.0547        0.1664        0.0819        0.0879        0.0624        0.0738        0.2557        0.1717        0.121 0.026        0.0457        0.3262        0.1758        0.0142        0.1227        0.0813        0.1843        0.1865        0.0773        0.0233        0.0859        0.2839        0.1857        0.0506 0.065        0.0137        0.3704        0.0619        0.0643        0.1006        0.0235        0.1656        0.0304        0.0409        0.0258        0.0475        0.2819        0.0171        0.0433 0.067 0.03        0.2775        0.0394        0.0995        0.0472        0.0822        0.6062        0.0624        0.1247        0.0146        0.0449        0.6001        0.0828        0.0361 0.0469        0.0469        0.2928        0.0699        0.0264        0.0494        0.0787        0.2997        0.1788        0.1734        0.0343        0.0719        0.5987        0.2043        0.0238];
        p2=[0.1698        0.2135        0.2915        0.4029        0.5362        0.1195        0.218        0.2051        0.3588        0.5468        0.208        0.2089        0.2506        0.3857        0.5809 0.1614        0.2265        0.2764        0.3922        0.506        0.1636        0.2352        0.22        0.3306        0.5844        0.1311        0.2238        0.2255        0.3611        0.6012 0.2377        0.2205        0.2205        0.3176        0.533        0.2309        0.1999        0.2093        0.3629        0.5005        0.1079        0.2386        0.2111        0.3801        0.5906 0.2378        0.2511        0.2973        0.4441        0.5312        0.1221        0.2329        0.2241        0.4001        0.5031        0.1084        0.2405        0.2266        0.2758        0.5792 0.208        0.2083        0.2814        0.4851        0.5143        0.1055        0.2491        0.2097        0.4824        0.5201        0.1634        0.2839        0.2146        0.3916        0.5899];
        p3=[0.2094        0.2666        0.1424        0.1942        0.1363        0.063        0.2295        0.2031        0.2009        0.1333        0.1683        0.2629        0.1292        0.1652        0.1302 0.2525        0.2489        0.1623        0.166        0.1639        0.0761        0.2526        0.1982        0.1759        0.1285        0.1408        0.242        0.1126        0.1623        0.1434 0.2438        0.2641        0.1602        0.2088        0.1593        0.1704        0.2665        0.2085        0.2002        0.1415        0.1339        0.2474        0.1119        0.1934        0.1629 0.2411        0.2545        0.1625        0.1833        0.1473        0.2071        0.2598        0.0604        0.1946        0.1782        0.1365        0.2554        0.0588        0.2202        0.1772 0.1991        0.2567        0.1625        0.1615        0.1337        0.2013        0.2655        0.1153        0.1492        0.1517        0.1713        0.2899        0.0571        0.1628        0.1919];
        p4=[0.2298        0.2398        0.1202        0.188        0.1807        0.1142        0.207        0.2258        0.1974        0.121        0.3236        0.227        0.1535        0.1498        0.0958 0.2085        0.1981        0.1274        0.1357        0.1884        0.1007        0.2057        0.2102        0.1619        0.1165        0.4492        0.2252        0.1601        0.1427        0.1159 0.266        0.197        0.1334        0.2032        0.1124        0.1781        0.2201        0.2175        0.1955        0.1577        0.4958        0.2115        0.1631        0.2198        0.1223 0.2714        0.1974        0.139        0.1982        0.1118        0.2062        0.223        0.0473        0.199        0.1027        0.5115        0.2065        0.0405        0.2271        0.1157 0.2078        0.1945        0.1394        0.147        0.1655        0.1807        0.1812        0.1439        0.0904        0.0823        0.3219        0.1667        0.0313        0.1144        0.1078];
        p5=[0.0961        0.0661        0.046        0.0458        0.0346        0.0648        0.0758        0.0736        0.0506        0.0413        0.0428        0.0449        0.0272        0.0429        0.022 0.0986        0.083        0.034        0.0389        0.0366        0.0544        0.0667        0.0452        0.0402        0.0336        0.0512        0.0455        0.0275        0.0419        0.0324 0.0546        0.1043        0.0374        0.0412        0.0371        0.0917        0.0562        0.0069        0.0552        0.0336        0.0524        0.0536        0.006        0.0715        0.0304 0.1167        0.1274        0.0319        0.0524        0.0654        0.085        0.0981        0.0315        0.0322        0.027        0.0609        0.0362        0.0076        0.039        0.0234 0.0515        0.1018        0.0732        0.0491        0.021        0.0627        0.0707        0.009        0.0806        0.0248        0.0563        0.0435        0.0248        0.1021        0.04];
        p6=[0.2788        0.1218        0.0633        0.1143        0.0989        0.5564        0.215        0.1259        0.1104        0.0696        0.1949        0.1825        0.1839        0.0847        0.0501 0.2529        0.1978        0.0736        0.0913        0.091        0.4825        0.1586        0.142        0.1048        0.0596        0.2044        0.1776        0.1905        0.1064        0.0564 0.1308        0.2005        0.081        0.1561        0.09        0.2452        0.2428        0.1439        0.1509        0.1194        0.1788        0.1955        0.2016        0.1433        0.0532 0.128        0.1628        0.0863        0.0938        0.073        0.3256        0.1459        0.055        0.0887        0.0578        0.1766        0.199        0.068        0.1225        0.0614 0.2215        0.1661        0.0919        0.0842        0.0946        0.378        0.1273        0.1999        0.0669        0.0454        0.2483        0.1514        0.0907        0.0879        0.0632];
        p=[p1;p2;p3;p4;p5;p6];
        
        t=[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0;
           0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0;
           0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0;
           0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0;
           0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1  0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1];

        %  训练数据归一化处理
        
        [pn,inputps]=mapminmax(p);
        
        [tn,outputps]=mapminmax(t);
        
        %  建立网络
        
         net_1=newff(pn,tn,[8,8],{'tansig','purelin'},'trainlm');
        
        %  当前输入层权值和阈值
        
        inputWeights=net_1.IW{1,1};
        
        inputbias=net_1.b{1};
        
        %  当前网络层权值和阈值
        
        layerWeights=net_1.LW{2,1};
        
        layerbias=net_1.b{2};
        
        %  设置训练参数
        
        net_1.trainParam.epochs=5000;
        
        net_1.trainParam.goal=1e-5;
        
        net_1.trainParam.show=50;
        
        net_1.trainParam.lr=0.05;
        
        net_1.trainParam.mc=0.9;
        
        %  训练网络
        
        [net,tr]=train(net_1,pn,tn);
        x=sim(net,pn);
        BPoutput=mapminmax('reverse',x,outputps)
        save data net inputps outputps
输出结果为:
Columns 1 through 10

    0.9998   -0.0000   -0.0001    0.0001    0.0001    1.2020    0.0006    0.0000    0.0001    0.0002
    0.0005    1.0001    0.0001   -0.0001   -0.0000   -0.3835    0.9991    0.0001   -0.0001   -0.0000
    0.0002    0.0049    1.0001    0.0002    0.0002   -0.0048    0.0003    1.0003    0.0001    0.0001
   -0.0006   -0.0050   -0.0001    1.0000   -0.0003    0.1860   -0.0001   -0.0002    1.0000   -0.0003
   -0.0000   -0.0000   -0.0000   -0.0002    1.0001    0.0002   -0.0001   -0.0001   -0.0001    1.0001

  Columns 11 through 20

    0.9992   -0.0004   -0.0001    0.0001    0.0002    0.9988   -0.0004   -0.0001    0.0001    0.0002
    0.0005    1.0001    0.0001   -0.0001    0.0000    1.0001    1.0001    0.0001   -0.0001   -0.0000
   -0.0545    0.0004    1.0002    0.0000    0.0000   -0.0001    0.0051    1.0001    0.0000    0.0001
    0.0548   -0.0001   -0.0001    1.0000   -0.0003   -0.9990   -0.0048   -0.0001    1.0000    0.0013
    0.0001    0.0000   -0.0001   -0.0001    1.0001    0.0000   -0.0001   -0.0000   -0.0001    0.9984

  Columns 21 through 30

    1.0074   -0.0002    0.0002    0.0002    0.0002    0.9991   -0.0006    0.0012    0.0001    0.0002
   -0.0162    1.0001    0.0002   -0.0000   -0.0000    0.0005    0.9984    0.0001   -0.0000   -0.0000
   -0.0007    0.0015    1.0001    0.0012    0.0001    0.0001    0.0012    0.9988    0.0001    0.0001
    0.0093   -0.0013   -0.0004    0.9988   -0.0003    0.0002    0.0010   -0.0001    0.9999   -0.0003
    0.0000   -0.0001   -0.0001   -0.0001    1.0001    0.0000    0.0000   -0.0001   -0.0001    1.0001

  Columns 31 through 40

    0.6929    0.0017   -0.0001   -0.0000    0.0002    0.9991    0.0012    0.0001    0.0001    0.0001
    0.2518    1.0000    0.0001    0.0002   -0.0000    0.0004    0.9998    0.0012   -0.0001   -0.0000
   -0.0021    0.0018    1.0001    0.0001    0.0001    0.0002   -0.0012    0.9941    0.0002    0.0001
    0.0576   -0.0034   -0.0001    0.9999   -0.0003    0.0002    0.0002    0.0045    1.0000    0.0221
   -0.0002   -0.0002   -0.0000   -0.0001    1.0001   -0.0000   -0.0000   -0.0000   -0.0002    0.9777

  Columns 41 through 50

    0.9991   -0.0011    0.0013    0.0009    0.0002    0.9906   -0.0002   -0.0001    0.0001    0.0002
    0.0005    1.0002    0.0000   -0.0001   -0.0000    0.0041    1.0001    0.0001   -0.0001    0.0000
    0.0001    0.0004    0.9988   -0.0006    0.0001    0.0040    0.0028    1.0001    0.0002    0.0001
    0.0002    0.0005   -0.0000    1.0000   -0.0003    0.0016   -0.0025   -0.0000    1.0000    0.0013
    0.0001   -0.0000   -0.0001   -0.0002    1.0001   -0.0003   -0.0002   -0.0001   -0.0002    0.9985

  Columns 51 through 60

    0.9990    0.0000   -0.0000    0.0001    0.0002    0.9991   -0.0006    0.0000    0.0003    0.0002
    0.0008    1.0001    0.0001   -0.0001    0.0000    0.0005    1.0001    0.0001    0.0013   -0.0000
   -0.0004    0.0030    1.0000    0.0002   -0.0000    0.0001    0.0004    1.0000    0.0001    0.0001
    0.0005   -0.0030   -0.0001    1.0000    0.0009    0.0002    0.0000   -0.0001    0.9985   -0.0003
    0.0000   -0.0001    0.0000   -0.0002    0.9990    0.0001   -0.0000    0.0000   -0.0001    1.0001

  Columns 61 through 70

    0.9983   -0.0005   -0.0001    0.0001    0.0001    1.1551   -0.0005   -0.0000    0.0001    0.0002
    0.0005    1.0002    0.0001   -0.0001   -0.0000   -0.5309    1.0001   -0.0001   -0.0001    0.0000
   -0.0042    0.8803    1.0001    0.0002    0.0002   -0.0090    0.0007    1.0001    0.0001   -0.0001
    0.0054   -0.8797   -0.0001    0.9977   -0.0003    0.3840   -0.0003    0.0001    1.0000   -0.0003
    0.0000   -0.0002   -0.0000    0.0021    1.0000    0.0006   -0.0001   -0.0001   -0.0001    1.0002

  Columns 71 through 75

    0.9991   -0.0005    0.0000    0.0001    0.0001
    0.0004    1.0002    0.0000   -0.0000    0.0000
    0.0001    0.0002    1.0000    0.0006    0.0001
    0.0003   -0.0000   -0.0001    0.9994   -0.0003
    0.0000    0.0000    0.0000   -0.0001    1.0001
回归图里的四个R值分别是:training:R=1;    validation:R=0.98804;     test:R=0.8189;    all:R=0.9653
liuhq315 2017-1-7 17:42
您好,打扰了。我是matlab新手,看了你写的遗传算法优化神经网络的算法,觉得非常有用,但是我想换成我的数据时,总是显示错误,我的神经网络是16个输入层神经元,隐含层有8个,输出层4个,直接用神经网络进行训练可以运行,但是后面就会有错误,但是不知道怎么修改我的数据。
报错信息:Matrix dimensions must agree.
报错位置:initPpp=initializega(popu,aa,'gabpEval');  % 初始化种群
希望得到您的帮助,万分感谢!
zhouhaiyang 2016-11-11 20:43
老师您好,我想请教您一个问题:已知矩阵A与B均为10x10矩阵,其中A=B,C=(ATA)(BTB)-1   ,C的对角线元素(10个)形成一个对角矩阵D,去掉D中对角线的第一个元素,求其他九个元素的和a1,去掉D中对角线的第二个元素,求其他九个元素的和a2,……,去掉D中对角线的第十个元素,求其他九个元素的和a10,然后a1,a2,……,a10这十个数的最大数与临界值v比较,;若最大数小于v,则找出a1,a2,……,a10中最小的那一个所对应D中对角线元素的位置,然后去掉B对角线上相同位置处的那个元素以及这个元素所在的行与列,得到一个新的B矩阵,为9x9矩阵,矩阵A 不变,重新计算得到新的矩阵C,C的对角线元素(9个)形成一个新的D矩阵,然后按刚才的方法计算a1,a2,……,a9,其中的最大数再与v进行比较,若小于v,则按上面的方法再次循环,若大于v,则输出新得到矩阵B.     C中的T表示转置,-1表示求逆
daidai1228 2016-9-23 22:02
老师,您好,我想请教一个关于SOM的问题。我做了一个实验设计,17次实验,每次试验的结果不一样,但是有一个目标区间,我需要怎么运用SOM,用不同的颜色来表示实验结果呢
黄瓶 2016-6-2 15:44
老师,我是基于BP网络的英文字母识别,对于这输入向量和输出向量的两个循环不懂,能不能帮我讲解一下?具体是怎么实现的,还有为什么我的样本数不能增加,一增加网络就会出错,提示说输出向量t不是个细胞矩阵?
M=1;%人数
N=26*M;%样本数
%获取26个大写字母图像的数据
for kk=0:N-1
    p1=ones(16,16);%初始化16*16的二值图像(全白)
    m=strcat(int2str(kk),'.bmp');%形成文件名
    x=imread(m,'bmp');%读取图像
    bw=im2bw(x,0.5);%转换成二值图像数据
    %用矩形框截取
    [i,j]=find(bw==0);%查找二值图像中像素为0(为黑)的坐标
    %取边界坐标
    imin=min(i);%查找二值图像中像素为0(为黑)的最小行号
    imax=max(i);%查找二值图像中像素为0(为黑)的最大行号
    jmin=min(j);%查找二值图像中像素为0(为黑)的最小列号
    jmax=max(j);%查找二值图像中像素为0(为黑)的最大列号
    bw1=bw(imin:imax,jmin:jmax);%截取图像像素为0(为黑)的最大矩形区域
    %调整比例,缩放成16*16的图像
    rate=16/max(size(bw1));%计算截取图像转换为16*16的二值图像的缩放比例
    bw1=imresize(bw1,rate);%将截取图像转换为16*16的二值图像(存在偏差)
    %将bw1转换成标准的16*16图像p1
    [i,j]=size(bw1);%转换图像大小
    i1=round((16-i)/2);%计算转换图像与标准16*16的图像的左边界差
    j1=round((16-j)/2);%计算转换图像与标准16*16的图像的上边界差
    p1(i1+1:i1+i,j1+1:j1+j)=bw1;%将截取图像转换为标准的16*16的图像
    p1=-1.*p1+ones(16,16);%反色处理
    %将p1转换成输入向量
    for m=0:15
        p(m*16+1:(m+1)*16,kk+1)=p1(1:16,m+1);
    end
end
%形成目标向量
for kk=0:M-1
    for ii=0:25
       t(kk+ii+1)=ii;
    end
end
%设置输入向量范围
pr(1:256,1)=0;
pr(1:256,2)=1;
%创建两层BP神经网络,隐层有25个节点
net=newff(pr,[25 1],{'logsig' 'purelin'},'traingdx','learngdm');
net.trainParam.epochs=2500;%最大步长
net.trainParam.goal=0.001;%误差性能目标值
net.trainParam.show=10;%显示的间隔次数
net.trainParam.lr=0.05;%学习率
%训练神经网络
net=train(net,p,t);
撕心裂肺 2016-5-12 19:46
老师,您好,您用基于灰色理论的短期负荷预测的例剧吗?能给我介绍一下吗?
saintkiller 2016-4-24 00:20
能帮忙回答个关于LIBSVM数据格式的问题吗?
saintkiller 2016-4-22 20:28
您好,看你对LIBSVM比较了解,那如果一个属性对应的是一个矩阵,那怎么办?能帮忙举例演示下吗,
lzmhncs 2016-3-4 10:04
怎样用菌群趋药性的优化算法,采用BP网络的编码方式进行优化
飞落的云 2015-11-29 11:21
大哥你好,我下载了你的遗传算法优化神经网络的代码,原始数据可以运行,但是换成我的就提示出错了,说矩阵列数不一样,我不知道怎么修改,大哥能不能教教我?
??? Error using ==> network.train at 145
Targets are incorrectly sized for network.
Matrix must have 7 rows.

Error in ==> ga_bp at 47
[net,tr]=train(net,p,t);
xiangwangziyou 2015-9-15 18:54
figure
x=[1 2 2 1;1 3 3 1;1 4 4 1;1 5 5 1;1 6 6 1;1 7 7 1;1 8 8 1; 1 9 9 1;1 10 10 1];
y=[9 9 10 10;8 8 9 9;7 7 8 8;6 6 7 7;5 5 6 6;4 4 5 5;3 3 4 4;2 2 3 3;1 1 2 2;0 0 1 1 ];
for i=1:size(x,1)
fill(x(i,:),y(i,:),'black')
hold on
end
grid on
xlim([1 10])
ylim([1 10])
set(gca,'xtick',[1:1:10])
set(gca,'ytick',[1:1:10])
大神你好,请问这个可以加上坐标轴吗
woaixidada 2015-5-27 10:54
大神你好,能否帮我看下粒子群的程序啊,总是出问题
骄阳似火victor 2015-5-26 14:56
大师 请问一下 你对vrml 有研究吗
Zofia 2015-4-22 00:04
老师,你好,想请教您一个问题:
>> global a ht w pianh pena v cmin cmax g c1 c2 Q L N l
>> precision=0.001;
popsize=300;
Generationnmax=60;
pcrossover=0.95;
pmutation=0.30;
a=[0 19,2 17,2 43,3 10,6 39,7 45,8 05,8 37,9 10,10 26,10 41,11 07,11 31,12 06,13 13,14 32,17 21,18 05,18 23,18 38,19 37,21 46];
>> ht=[5,4,3,4,9,11,11,11,10,18,12,12,16,16,19,21,20,22,20,22,20,22;30,30,30,30,00,15,00,30,30,00,30,00,00,00,30,30,00,15,45,55,35,45];
w=[456,109,30,43,130,198,258,260,43,1196,173,43,322,477,812,980,244,522,236,544,52,48];
>> pianh=[10,240,800,870,560,380,480,330,800,220,600,850,120,300,460,250,150,10,400,600,800,850];
>>  l=[115,72,55,56,87,98,114,115,63,184,96,67,112,145,140,170,99,129,98,125,63,63];
pena=[0.3,0.2,0.1,0.1,0.2,0.2,0.2,0.3,0.1,0.6,0.2,0.1,0.3,0.4,0.5,0.55,0.2,0.4,0.2,0.4,0.1,0.1];
v=45;
cmin=[2,1,1,1,1,2,2,2,1,4,1,1,2,2,3,3,2,3,2,3,1,1];
cmax=[3,2,1,1,2,3,3,3,2,6,3,2,3,4,4,5,3,4,3,4,2,2];
g=0.9;
c1=0.005;
c2=150;
Q=12;
L=960;
N=22;
>> %------------1.2产生初始种群------------%
>> [population]=startpop(popsize,N,cmin,cmax,l,L)
??? Undefined function or method 'startpop' for input
arguments of type 'double'.
到这一步总是出现这样的问题,应该怎么解决呢?谢谢
无愧百合 2015-3-24 17:06
哥,看了你的连续型Hopfield神经网络解决TSP问题的视频,问个问题:代码里给的城市位置都在【0,1】区间,改动后出错,求指点
corey_zhao 2015-3-18 11:13
您好。我在论坛的一个帖子上,看到您回复在simulink中矢量转标量设置,我现在有一个类似的问题,需要向您请教!如果方便,能QQ联系吗?QQ578033160.非常感谢!
specialone 2014-12-23 10:36
您好,能帮我解决个在for 循环后输出向量的问题吗?输出向量的个数是不确定的。谢谢,希望能和您具体沟通。QQ:116519882
末路狂花 2014-5-17 20:38
您好,你能帮我解答一点有关遗传算法的程序问题吗,必有重谢,我QQ;1143297659
哨子春天 2013-12-21 17:13
https://www.ilovematlab.cn/thread-27046-2-1.html
您好!这个帖子里面您的回答里面H和f是怎么计算出来的?是点到直线的距离公式吗?
叨扰了,万分感谢!
12下一页
关闭

站长推荐上一条 /5 下一条

返回顶部