首页 > 解决方案 > 基本神经网络二元分类器不起作用 MATLAB

问题描述

我有包含 2 列或 2 个特征和 395 行的训练数据。另外我有一个训练标签,要么是 1,要么是零,这是一个 1 列和 395 行的向量。我想要 2 个输入节点和 1 个隐藏层节点和 1 个输出节点。就这样。第一列训练数据将提供给第一个输入节点,第二列将提供给第二个输入节点。训练后输出将为 1 或 0。从昨晚开始,我一直在努力使这段代码正常工作。它不断给我错误。你能帮我解决这个问题吗?

这是错误信息

Error using network/train (line 340)
Number of inputs does not match net.numInputs.

Error in geproject (line 228)
net = train(net,trainingSet,trainingLabels);

这是问题中的代码

net = patternnet;                         
net.numInputs = 2;   
net.inputs{1}.size = 1;                       
net.inputs{2}.size = 1;
net.numLayers = 1;                             
net.layers{1}.size = 1;                        
net.inputConnect(1) = 1;                        
net.inputConnect(2) = 1;                        
net.biasConnect(1) = 1;                         
net.biases{1}.learnFcn = 'learnp';             
net.biases{1}.initFcn = 'initzero';             
net.outputConnect(1) = 1;                      
net.layers{1}.transferFcn = 'tansig';           
net.inputWeights{1}.initFcn = 'initzero';       
net.inputWeights{1}.learnFcn = 'learnp';        
net.initFcn = 'initlay';                        
net.trainFcn = 'trainscg';                     
net.performFcn = 'mse';                         
%Training/Testing/Validation Ratio
net.divideParam.trainRatio = 1;              
net.divideParam.valRatio = 0;               
net.divideParam.testRatio = 0;              
%Network Training
view(net)
net = train(net,trainingSet,trainingLabels);  

标签: matlabneural-networkclassification

解决方案


推荐阅读