2014-06-24 73 views
2

我製作了一個基於Encog的ANN來識別材料的頻譜。 我訓練網絡通過更多的光譜矩陣。 實施例:如何用C#編碼識別陣列模式

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

每個矢量是10000元件, 我想識別來自傳感器採集傳遞材料的一個訓練後的。 查詢encog網絡的功能是什麼?

UPDATE

這是識別功能:

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

回答

1

Encog的神經網絡可以用BasicNetwork.compute(Java)或BasicNetwork.Compute(C#)查詢。下面的例子應該有所幫助。

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

+0

Mr.Heaton,它與周到,謝謝您的回答榮幸談話。我用我想要識別的輸入更新問題。我們回聊。 – Antonio