コード例 #1
0
        protected List <PredictionOfCurrencyLearnResult> FitSimpleNeuralNetwork(bool saveLearnResult = false)
        {
            InitData();
            InitSimpleNeuralNetwork();
            var result = new List <PredictionOfCurrencyLearnResult>();

            for (var i = 0; i < DataManager.LearnData.Data.Count - 1; i++)
            {
                var input  = DataManager.LearnData[i].Vector;
                var ideal  = (Vector) new double[] { DataManager.LearnData[i + 1].Vector.Values.Last() };
                var ideal1 = (Vector) new double[] { DataManager.LearnData[i + 1].Vector.Values.Last() };
                var(output, error) = SimpleNeuralNetwork.Learn(input, ideal);
                result.Add(new PredictionOfCurrencyLearnResult {
                    Date   = DataManager.LearnData.Data[i].Date,
                    Error  = error,
                    Output = DataManager.ConvertOutput(SimpleNeuralNetwork.ConvertOutput(output)),
                    Ideal  = DataManager.ConvertOutput(ideal1),
                    Input  = DataManager.ConvertInput(input),
                });
            }
            SimpleNeuralNetwork.Save(NeuralNetworkName);
            if (saveLearnResult)
            {
                SaveLearnProgress(result);
            }
            return(result);
        }