matlab神经网络应用设计 源代码 基于matlab的神经网络设计_权值

1、MATLAB下神经网络的设计 65

我来说下我的理解,不一定对,一起讨论下吧
1.100个字母,400个数字组成的训练样本应该是可以的,因为训练样本多的话会使整个网络的权值更加接近准确的权值,500个训练样本对于图像处理来说应该不算多。
2.因为预处理后的每个字母/图片为250的向量值,所有训练样本可以组成250*500的输入矩阵,因为一共有10+26=36个分类,所以3层的神经网络为输入层250,输出层36,隐层选20左右,最终得到的输出矩阵为36*500。(期望矩阵中需要归为一类的可以设为1,其余35个向量值为0)
3.和4.应该都可以归为2中
5.图片可以用特征提取的方法来减少输入向量的维数,经典有容易理解的如PCA。

谷歌人工智能写作项目:小发猫

matlab神经网络应用设计 源代码 基于matlab的神经网络设计_神经网络_02

2、matlab 神经网络

能问这个问题,我假设前提,你对神经网络有一定认识,所以简单回答如下:
函数newff建立一个可训练的前馈网络matlab神经网络的设计。
函数newrb建立一个径向基网络。
函数newlvq建立一个向量量化神经网络
没搞懂这借个神经网络是啥东西的话,最好自己找本智能算法的书看看。

3、怎样用matlab建立bp神经网络

net=train(net, p, t);把这句改成net=train(net, p', t');试试,matlab应该默认使用列向量。或者直接使用matlab提供的图形界面取训练,在命令行输入nnstart

4、matlab 神经网络

net=newff(pr,[3,2],{'logsig','logsig'}); %创建 一个bp 神经网络
 net.trainParam.show = 10; %显示训练迭代过程
 net.trainParam.lr = 0.05; %学习速率0,05
 net.trainParam.goal = 1e-10; %训练精度
 net.trainParam.epochs = 50000; %最大训练次数
 net = train(net,p,goal); %训练


结果要么接近于1 ,要么就是0,就这俩类啊,这就是分类结果;
每次都有些差异 很正常,只要不大

5、1.如何用MATLAB神经网络工具箱创建BP神经网络模型?具体有哪些步骤?请高手举实例详细解释下? 2.如何把输

%人脸识别模型,脸部模型自己找吧。

function mytest()
 clc;
 images=[ ];
 M_train=3;%表示人脸
 N_train=5;%表示方向
 sample=[];
 pixel_value=[];
 sample_number=0;
 for j=1:N_train
 for i=1:M_train
 str=strcat('Images\',num2str(i),'_',num2str(j),'.bmp'); %读取图像,连接字符串形成图像的文件名。
 img= imread(str);
 [rows cols]= size(img);%获得图像的行和列值。
 img_edge=edge(img,'Sobel');
 %由于在分割图片中我们可以看到这个人脸的眼睛部分也就是位于分割后的第二行中,位置变化比较大,而且眼睛边缘检测效果很好

 sub_rows=floor(rows/6);%最接近的最小整数,分成6行
 sub_cols=floor(cols/8);%最接近的最小整数,分成8列
 sample_num=M_train*N_train;%前5个是第一幅人脸的5个角度

 sample_number=sample_number+1;
 for subblock_i=1:8 %因为这还在i,j的循环中,所以不可以用i
 block_num=subblock_i;
 pixel_value(sample_number,block_num)=0;
 for ii=sub_rows:(2*sub_rows)
 for jj=(subblock_i-1)*sub_cols+1:subblock_i*sub_cols
 pixel_value(sample_number,block_num)=pixel_value(sample_number,block_num)+img_edge(ii,jj);
 end
 end
 end
 end
 end
 %将特征值转换为小于1的值
 max_pixel_value=max(pixel_value);
 max_pixel_value_1=max(max_pixel_value);
 for i=1:3
 mid_value=10^i;
 if(((max_pixel_value_1/mid_value)>1)&&((max_pixel_value_1/mid_value)<10))
 multiple_num=1/mid_value;
 pixel_value=pixel_value*multiple_num;
 break;
 end
 end
 % T 为目标矢量
 t=zeros(3,sample_number);
 %因为有五类,所以至少用3个数表示,5介于2的2次方和2的3次方之间
 for i=1:sample_number
 % if((mod(i,5)==1)||(mod(i,5)==4)||(mod(i,5)==0))
 if(i<=3)||((i>9)&&(i<=12))||((i>12)&&(i<=15))
 t(1,i)=1;
 end
 %if((mod(i,5)==2)||(mod(i,5)==4))
 if((i>3)&&(i<=6))||((i>9)&&(i<=12))
 t(2,i)=1;
 end
 %if((mod(i,5)==3)||(mod(i,5)==0))
 if((i>6)&&(i<=9))||((i>12)&&(i<=15))
 t(3,i)=1;
 end
 end
 % NEWFF——生成一个新的前向神经网络
 % TRAIN——对 BP 神经网络进行训练
 % SIM——对 BP 神经网络进行仿真
 % 定义训练样本
 % P 为输入矢量
 P=pixel_value'
 % T 为目标矢量
 T=t
 size(P)
 size(T)
 % size(P)
 % size(T)
 % 创建一个新的前向神经网络
 net_1=newff(minmax(P),[10,3],{'tansig','purelin'},'traingdm')
 % 当前输入层权值和阈值
 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.show = 50;
 net_1.trainParam.lr = 0.05;
 net_1.trainParam.mc = 0.9;
 net_1.trainParam.epochs = 10000;
 net_1.trainParam.goal = 1e-3;
 % 调用 TRAINGDM 算法训练 BP 网络
 [net_1,tr]=train(net_1,P,T);
 % 对 BP 网络进行仿真
 A = sim(net_1,P);
 % 计算仿真误差
 E = T - A;
 MSE=mse(E)
 x=[0.14 0 1 1 0 1 1 1.2]';
 sim(net_1,x)

6、什么是matlab神经网络

Matlab语言是MathWorks公司推出的一套高性能计算机编程语言,集数学计算、图形显示、语言设计于一体,其强大的扩展功能为用户提供了广阔的应用空问。它附带有30多个工具箱,神经网络工具箱就是其中之一。

7、matlab 实现神经网络 5

tup1 = ('physics', 'chemistry', 1997, 2000);
 tup2 = (1, 2, 3, 4, 5 );
 tup3 = "a", "b", "c", "d";