R语言做神经网络,多个输入多个输出的命令怎么写

Python010

R语言做神经网络,多个输入多个输出的命令怎么写,第1张

net=newff(minmax(p),[3,5,4],{'tansig','purelin','logsig'},'trainlm')

net.trainParam.goal= 0.00001

net.trainParam.epochs= 10000

net= train(net,p,t)

Y=sim(net,p)

隐含层数通常取输入层数的1.2~1.5倍,但隐含层数增加相对训练效果会好些。

输出结果是根据你的T决定的,你这个如果训练效果好的话输出值的和就为1。

#include<stdio.h>

//递归求解对大最小值

void findMinMax(int a[],int l,int r,int *maxnum,int *minnum)

{

if(l==r)

{

*maxnum=*minnum=a[l]

return

}

int mid,lmin,rmin,lmax,rmax

mid = (l+r)/2

findMinMax(a,l,mid,&lmax,&lmin)

findMinMax(a,mid+1,r,&rmax,&rmin)

*maxnum=lmax>rmax?lmax:rmax

*minnum=lmin<rmin?lmin:rmin

}

int main()

{

int a[10]={

1,2,3,4,22,6,7,8,-1,10

},minnum,maxnum

findMinMax(a,0,9,&maxnum,&minnum)

printf("%d %d",maxnum,minnum)

}

//

去掉这一句:[Pn]=tramnmx(P,minp,maxp)  你这一句不开玩笑吗?

??? Error using ==>network.subsasgn>network_subsasgn at 535

"layers{1}.transferFcn" cannot be set to non-existing function "tasing'purelin".

这一错误是因为,你漏掉了逗号,而且tansig拼错了,应该是{'tansig','purelin'}

我直接帮你把代码全部改好吧,复制到m文件或命令窗口运行即可:

clc,clear

P=-pi/2+0.1:pi/10:pi/2-0.1

T=tan(P)

plot(P,T,'-*')

[Pn,pps]=mapminmax(P,0,1)   %p归一化

[Tn,tps]=mapminmax(T,0,1)   %t归一化

net=newff(minmax(Pn),[5 1],{'tansig','purelin'},'trainlm')

net.trainParam.show=10

net.trainParam.lr=0.05

net.trainParam.epochs=500

net.trainParam.goal=0.01

[net,tr]=train(net,Pn,Tn)

r=sim(net,Pn)

r=mapminmax('reverse',r,tps) %反归一化

plot(P,r,'-ro',P,T,'-b*')