2

我制作了一个基于 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));

在这种模式下工作是否正确?谢谢

4

1 回答 1

1

可以使用 BasicNetwork.compute (Java) 或 BasicNetwork.Compute (C#) 查询 Encog 的神经网络。以下示例应该会有所帮助。

http://www.heatonresearch.com/wiki/Hello_World

于 2014-06-26T16:56:34.300 回答