У меня есть проект, в котором я использую ENcog (.net) для классификации emg-сигнала, функции уже извлечены , когда я пытаюсь обучить его, он получает ошибку, как говорится в названии. Вот код я использую:Encog: «Метод машинного обучения имеет длину ввода 7, но ошибка обучения 0»
BasicNetwork JST = new BasicNetwork();
JST.AddLayer(new BasicLayer(7));
JST.AddLayer(new BasicLayer(new ActivationSigmoid(), true, 10));
JST.AddLayer(new BasicLayer(new ActivationLinear(), true, 4));
JST.Structure.FinalizeStructure();
JST.Reset();
openFileDialog1.Title = "Open Feature File...";
openFileDialog1.FileName = "";
openFileDialog1.Filter = "CSV (comma delimited)|*.csv|All Files|*.*";
if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
{
MessageBox.Show("Choice Cancelled");
}
else
{
IVersatileDataSource data = new CSVDataSource(openFileDialog1.FileName, false, CSVFormat.DecimalComma);
var InputJST = new VersatileMLDataSet(data);
InputJST.DefineSourceColumn("MAV", 0, Encog.ML.Data.Versatile.Columns.ColumnType.Continuous);
InputJST.DefineSourceColumn("RMS", 1, Encog.ML.Data.Versatile.Columns.ColumnType.Continuous);
InputJST.DefineSourceColumn("VAR", 2, Encog.ML.Data.Versatile.Columns.ColumnType.Continuous);
InputJST.DefineSourceColumn("SD", 3, Encog.ML.Data.Versatile.Columns.ColumnType.Continuous);
InputJST.DefineSourceColumn("WL", 4, Encog.ML.Data.Versatile.Columns.ColumnType.Continuous);
InputJST.DefineSourceColumn("ZC", 5, Encog.ML.Data.Versatile.Columns.ColumnType.Continuous);
InputJST.DefineSourceColumn("SSC", 6, Encog.ML.Data.Versatile.Columns.ColumnType.Continuous);
ColumnDefinition outputColumn = InputJST.DefineSourceColumn("Arrow", 7, ColumnType.Nominal);
InputJST.DefineSingleOutputOthersInput(outputColumn);
InputJST.Analyze();
var model = new EncogModel(InputJST);
model.SelectMethod(InputJST, MLMethodFactory.TypeFeedforward);
InputJST.Normalize();
var train = new LevenbergMarquardtTraining(JST, InputJST);
Мой вопрос, почему набор данных есть Inputsize и idealsize 0, Eventhough расчетного размера является правильным?
Спасибо.
Возможно, это просто потому, что универсальный набор данных не может быть использован в базовом IMLtrain и, как мне кажется, только для поездов с конвейером. –