我制作了一个基于 Encog 的 ANN 来识别材料的光谱。我训练网络将更多频谱传递到矩阵中。例子:
input[0] = material 0
input[1] = material 1
每个向量都有 10000 个元素,训练后我想识别从传感器采集传递的材料之一。查询encog网络的功能是什么?
更新
这是识别功能:
public void ProcessInput()
{
try
{
IMLDataSet _testInput = new BasicMLDataSet(_inputToAnalize, _annOutput);
IMLData output = null;
List<double> transformedMatrixOutputToArray = _annOutput.Select(x => x[0]).ToList<double>();
foreach (double[] item in _annOutput)
{
output = _network.Compute(_testInput[0].Input);
Console.WriteLine("actual=" + output[0] + @",ideal=" + item[0]);
}
int value = GetClosestIndex(transformedMatrixOutputToArray, output[0]);
}
catch (Exception)
{
}
}
以及从理想输出中检索最接近值输出的函数:
Func<List<double>, double,int > GetClosestIndex =
(doublelist, targetvalue) => doublelist.IndexOf(doublelist.OrderBy(d => Math.Abs(d - targetvalue)).ElementAt(0));
在这种模式下工作是否正确?谢谢