代码之家  ›  专栏  ›  技术社区  ›  PatStarks

一输入一输出的简单神经网络实例

  •  0
  • PatStarks  · 技术社区  · 6 年前

    我试图学习如何在Matlab中使用神经网络,我从一个简单的例子开始,这个例子使用了四个数据点,我将这些数据点分成两行向量。其中一个是输入,另一个是温度。输入向量是从1到4的向量。 接下来,我运行一些从示例中发现的神经网络编码。现在我想用神经网络来预测一个样本输入向量的结果,这个样本输入向量是一个行向量[56]。

    clear all
    clc
    Input = [1,2,3,4];
    Temp = [.25,.15,.1,.07];
    Smpl = [5,6]
    net = newff(minmax(Input),[20,1],{'logsig','purelin','trainlm'})
    net.trainparam.epochs = 500;
    net.trainparam.goal = 1e-25;
    net.trainparam.lr = .01;
    net = train(net,Input,Temp)
    TempPr = net(Input)
    error = TempPr - Temp
    TempPrSmpl = net(Smpl)
    

    神经网络生成的行向量temppr与目标向量temp完全匹配。然而,我似乎无法正确地预测价值。例如,我试图预测输入5和6的温度值,我希望它们小于0.07。 但是Matlab代码返回:

    趋势=

    0.3560    0.3560
    

    两个问题: 为什么从Matlab返回的值大于.07? 为什么没有从Matlab返回两个不同的值(一个用于5,一个用于6)?

    0 回复  |  直到 6 年前