如何用c# Encog识别数组模式

本文关键字:数组 模式 识别 Encog 何用 | 更新日期: 2023-09-27 18:10:01

我做了一个基于Encog的ANN来识别材料的光谱。我训练网络将更多的频谱传递到矩阵中。例子:

input[0] = material 0
input[1] = material 1

每个向量有10000个元素,训练结束后,我想识别从传感器采集传递的材料之一。查询编码器网络的功能是什么?

这是识别函数:

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));

在这种模式下工作正确吗?Thx

如何用c# Encog识别数组模式

Encog的神经网络可以使用BasicNetwork.compute (Java)或BasicNetwork进行查询。计算(c#)。下面的例子应该有帮助。

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