如何用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
Encog的神经网络可以使用BasicNetwork.compute (Java)或BasicNetwork进行查询。计算(c#)。下面的例子应该有帮助。
http://www.heatonresearch.com/wiki/Hello_World