Ejemplo n.º 1
0
        private static List <List <KeyValuePair <double, double> > > getActivatedSignal(Signal signal, Network network)
        {
            List <List <KeyValuePair <double, double> > > activatedSignal = new List <List <KeyValuePair <double, double> > >();

            List <Signal> weightedSum = new List <Signal>();

            Signal input = new Signal(signal);

            for (int i = 0; i < network.Count; i++)
            {
                weightedSum.Add(Layer.GetWeightedSum(input, network[i]));

                activatedSignal.Add(new List <KeyValuePair <double, double> >());

                for (int j = 0; j < weightedSum[i].Count; j++)
                {
                    activatedSignal[i].Add(new KeyValuePair <double, double>(LogisticFunction(weightedSum[i][j]), LogisticFunctionDerivative(weightedSum[i][j])));
                }

                input.Clear();
                foreach (KeyValuePair <double, double> pair in activatedSignal[i])
                {
                    input.Add(pair.Key);
                }
            }

            return(activatedSignal);
        }