神经网络研究,计算机是否能推理?

来源:互联网 发布:多路访问网络 编辑:程序博客网 时间:2024/06/06 03:42

研究神经网络都会发现其挺amazing的.如图像识别,只需要告诉计算机这张图是什么,然后就能识别,就像计算机有了自己的意识一样.

那么神经网络能否实现推理呢?比如,有5个数字,期望的结果是其中的最大值 减 最小值. 经过实践,发现训练样本直接测试,匹配度很高,但是也不够精确,而测试数据匹配度更不行,这是过拟合了吗?或者这样的情况根本满足不了曲线拟合?

上面这种情况,人通过分析应该是很容易发现规律,然后100%的正确.而计算机只是计算出大概的数字.因此计算机还不能推理.期待更nb的算法,让计算机实现推理~.~附加测试代码

clear;%两个特征,第一个>第二个输出1,相等为0,否则=-1% x=randi(10,100,2);% T=zeros(100,1);% T(find(x(:,1)-x(:,2)>0))=1;% T(find(x(:,1)-x(:,2)<0))=-1;%两个特征,有一个>70的就为1% x=randi(100,100,2);% T=zeros(100,1);% T(find(x(:,1)>70|x(:,2)>70))=1;%1个特征,10~99之间,输出为数字拆开% x=randi([0,99],100,1);% T=zeros(100,2);% T(:,1)=(x-mod(x,10))/10;% T(:,2)=mod(x,10);%2个特征,1是有效2是干扰,输出=1% x=randi([0,100],100,2);% T=x(:,1);%5个特征,结果是其中的最大-最小% x=randi(100,1000,5);% T=max(x,[],2)-min(x,[],2);%TS=randi(100,1000,5);%TSRS=max(TS,[],2)-min(TS,[],2);%5个特征,结果是最大值的indexx=randi(500,20000,5);TS=randi(500,1000,5);[nnnn,T]=max(x,[],2);[nnnn,TSRS]=max(TS,[],2);pmax = max(x);pmax1 = max(pmax);pmin = min(x);pmin1 = min(pmin);TS=(TS-pmin1)/(pmax1-pmin1);    P1=(x-pmin1)/(pmax1-pmin1);    T1=(T-pmin1)/(pmax1-pmin1);net = newff(P1',T1',[100],{'logsig'});    net.trainParam.epochs = 150000;        net.trainParam.goal=1e-60;    net.trainParam.lr = 0.01;    net = train(net,P1',T1');y=sim(net,TS');y1=y*(pmax1-pmin1)+pmin1;myrs=[y1',TSRS];


0 0
原创粉丝点击