神经网络训练matlab程序详解 特征提取还是什么的 我看不懂了

2024-05-11 01:28

1. 神经网络训练matlab程序详解 特征提取还是什么的 我看不懂了

这是BP神经网络的特征维和样本输入建立关系;
1 for hh=1:30 
   p((hh-1)*30+1:(hh-1)*30+30,pcolum+1)=p1(hh,1:30);
  end   
//总共有pcolum个样本,每个样本有30维特征值;依次循环送入记录特征值的矩阵p中,
2  switch pcolum 用于把样本的值送入教师矩阵t中;样本按0~49顺序输入;对应5组0~9,比方第一个case中告诉t在0~49中那些属于“数字0”;
总的来说t值对应不同的p取1~9

也就是说这段程序的中心目的是把p( 特征维,pcolum)与对应的输出t(pcolum)对应起来,之后再把p和t送入BP网络中训练 

主要看你p1是怎么来的;估计是把原始手写体分成粗网格;即p1是一个30×30的矩阵,p是一个900×50的矩阵;其列为输入的50个手写体;行为900个网格的值;
for hh=1:30 
   p((hh-1)*30+1:(hh-1)*30+30,pcolum+1)=p1(hh,1:30);
end
这段程序其实就是把2维的p1放入到p的一行里面去;把30×30的矩阵换成900×1
的形式。
你去搜索下 粗网格/BP神经 ,具体看你前面的p1是怎么来的;可能你这30×30的矩阵就是30×30大小的手写体二值化图像每个像素上的值

神经网络训练matlab程序详解  特征提取还是什么的 我看不懂了

2. 有个matlab程序看不懂,请各位大神简单解释一下,本人没学过matble

subplot(2,1,1);plot(t,Dout);xlabel('时间');ylabel('幅度');title ('滤波器输出信号时域波形')
subplot(2,1,1)指将一个这个图像画在两行一列的第一行,polt是画图,xlabel是横坐标名称,ylabel为纵坐标名称,title为整个图像的标题。
fftshift函数
作用:将零频点移到频谱的中间
用法:
Y=fftshift(X)
Y=fftshift(X,dim)
描述:fftshift移动零频点到频谱中间,重新排列fft,fft2和fftn的输出结果。将零频点放到频谱的中间对于观察傅立叶变换是有用的。
abs(PDout)是求PDout的绝对值。plot(f,fftshift(abs(PDout)))是以频率为横坐标以ftshift(abs(PDout))为总坐标画图。

3. 小波神经网络的matlab程序

你这个程序错处较多,如fai,fnn,oxhp,没有定义,不能运行。

小波神经网络的matlab程序

4. 我是一个matlab初学者,编了一个程序,但运行不了!不太懂怎么操作,想请大神帮忙。

写成 x1 x2 x3 是不行的,要写成
x = [179, 889, 192];这样 x(1) 才是对应的数值。
你其它的 z 呀 v 也是同样的问题。数组的基本语法建议再看看。

5. matlab编程好难。怎么学比较好?

找一本薄薄的入门书,跟着它一点点学和试,我当时就用了2天就可以入门了...不过哦,lz在学matlab之前要先懂矩阵啊,最好之前已经掌握一点其他语言的基础,这样比较好看懂程序~

matlab编程好难。怎么学比较好?

6. 我有个用小波神经网络做好的程序,但是输入要从原来的3个因素变成2个,不知道怎么做了,麻烦给我讲讲,

“我有个航模遥控收发器实验电路,现在要把原来的4通道,变成6通道,不知道怎么做,麻烦给我讲讲,单片机C语言写的,之前实验电路板是焊好了的”
——我的这个问题,你怎么回答我,你的问题我就怎么回答你。你能解决我的问题我也能解决你的问题。

7. 我的Matlab程序中,训练好的神经网络输出都是1是为什么?

你的数据格式是怎样,请贴出来看一下,好帮你分析。

我的Matlab程序中,训练好的神经网络输出都是1是为什么?

8. 学习matlab需要什么水平

参考一下:

不过MATLAB有很多工具箱,如果你要使用专业的工具箱,是需要一点专业的知识的,例如:
使用神经网络工具箱,无神经网络基础就不建议使用。小波工具箱也需要有小波的基础。
上面的话可能会吓到你,不过不用担心的,MATLAB是目前最好学的编程语言之一,相当容易上手,如果只是想学MATLAB编程,那根本不需要什么基础,只要你识字就行了(当然,你有其它编程语言的基础当然更加好,没有也没关系)
网上相关教程很多,你可先下载一个6.5版本的MATLAB,比较小,下得比较快,对新手来说措措有余,等你觉得真的有需要好好学时,你再下一个2008~2010版的,这几年的版本个人感觉都差不多,你看下载哪个版本的网速快,就下哪个,如果可以问周围人要的话,就不用下了,呵呵
你随便下一个教程吧,网上真的好多,而且学习MATLAB的基础编程,看哪个版本的教程都一样的,MATLAB不会出现因为更换软件版本而把它的编程方法也更换掉的情况,所以你随便下几个基础教程看看吧,相信你一定会上手很快

另外有人认为:学习matlab与其它编程语言是不同的,其它的那些语言,你学会了就解决一些问题,但matalb则不同,它的每一个工具箱都对对应了一门学科,如果你只学会了matlab编程,但对那些学科不了解,解决不了什么问题,不过,正如楼上所说的,如果你有编程基础,学起来则更快的
祝楼主 学习好,工作好,一切都 好