【问题标题】:How to use train in neural networks for Matlab R2009b如何在 Matlab R2009b 的神经网络中使用训练
【发布时间】:2012-10-15 12:58:03
【问题描述】:

我的输入矩阵为:

input = 
    1     0     0     1     1
    1     0     0     0     1
    1     0     0     0     1
    1     0     0     0     1
    0     0     1     0     0
    0     1     1     1     0
    0     1     1     1     0

T = [eye(10) eye(10) eye(10) eye(10)];

我创建的神经网络是:

net = newff(input,T,[35], {'logsig'})
%net.performFcn = 'sse';
net.divideParam.trainRatio = 1; % training set [%]
net.divideParam.valRatio   = 0; % validation set [%]
net.divideParam.testRatio  = 0; % test set [%]
net.trainParam.goal = 0.001;

到目前为止它工作正常,但是当我使用火车功能时出现问题

[net tr] = train(net,input,T);

matlab 窗口中出现以下错误:

??? Error using ==> network.train at 145
Targets are incorrectly sized for network.
Matrix must have 5 columns.

Error in ==> test at 103
[net tr] = train(net,input,T);

我也尝试过input'T'。提前感谢任何帮助

【问题讨论】:

    标签: matlab image-processing neural-network


    【解决方案1】:

    如果您查看 MATLAB 的 train 官方文档,您会注意到 T 的列数必须与输入矩阵的列数相同,在您的情况下为 5。相反,请尝试:

    T = ones(size(input, 1));
    

    T = [1, size(input, 1) - 1];
    

    看看这是否有效。

    【讨论】:

    • 我还有一个问题,现在我该如何测试并在测试过程中提取结果
    • 我的意思是将矩阵作为网络输入的相同示例我如何在通用中进行分类和测试
    • 如果我理解正确,你可以使用sim来模拟它的行为并获取输出。
    • 我应该在训练时为不同的角色使用不同的 T,否则 T 将保持不变。比如说我只需要识别英文的前 5 个字符。如果我的目标是 5x5 对角矩阵,我会在 sim() 方法的结果中得到 5x5 矩阵。我将如何对我的角色进行分类。
    • T 是给定输入的神经网络的期望输出,因此如果您计划用不同的输入训练它,则必须为网络提供不同的Ts .
    猜你喜欢
    • 2010-11-20
    • 1970-01-01
    • 2015-08-13
    • 2013-07-11
    • 2012-12-04
    • 2017-08-18
    • 2015-10-28
    • 2011-04-07
    • 1970-01-01
    相关资源
    最近更新 更多