/// <summary> /// Initializes weights of all backpropagation synapses in the backpropagation connector. /// </summary> /// <param name="connector"> /// The backpropagation connector to initialize. /// </param> /// <exception cref="ArgumentNullException"> /// If <c>connector</c> is <c>null</c> /// </exception> public void Initialize(ConexionBackpropagation connector) { Helper.ValidateNotNull(connector, "connector"); foreach (BackpropagationSynapse synapse in connector.Synapses) { synapse.Weight = Helper.GetRandom(minLimit, maxLimit); } }
/// <summary> /// Initializes weights of all backpropagation synapses in the backpropagation connector. /// </summary> /// <param name="connector"> /// The backpropagation connector to initialize. /// </param> /// <exception cref="ArgumentNullException"> /// If <c>connector</c> is <c>null</c> /// </exception> public void Initialize(ConexionBackpropagation connector) { Helper.ValidateNotNull(connector, "connector"); foreach (BackpropagationSynapse synapse in connector.Synapses) { synapse.Weight = constant; } }
/// <summary> /// Initializes weights of all backpropagation synapses in the backpropagation connector. /// </summary> /// <param name="connector"> /// The backpropagation connector to initialize. /// </param> /// <exception cref="ArgumentNullException"> /// If <c>connector</c> is <c>null</c> /// </exception> public void Initialize(ConexionBackpropagation connector) { Helper.ValidateNotNull(connector, "connector"); int i = 0; double[] normalized = Helper.GetRandomVector(connector.SynapseCount, 1d); foreach (BackpropagationSynapse synapse in connector.Synapses) { synapse.Weight = normalized[i++]; } }
public BackpropagationSynapse( ActivationNeuron sourceNeuron, ActivationNeuron targetNeuron, ConexionBackpropagation parent) { Helper.ValidateNotNull(sourceNeuron, "sourceNeuron"); Helper.ValidateNotNull(targetNeuron, "targetNeuron"); Helper.ValidateNotNull(parent, "parent"); this.weight = 1f; this.delta = 0f; sourceNeuron.TargetSynapses.Add(this); targetNeuron.SourceSynapses.Add(this); this.sourceNeuron = sourceNeuron; this.targetNeuron = targetNeuron; this.parent = parent; }
/// <summary> /// Initializes weights of all backpropagation synapses in the backpropagation connector. /// </summary> /// <param name="connector"> /// The backpropagation connector to initialize. /// </param> /// <exception cref="ArgumentNullException"> /// If <c>connector</c> is <c>null</c> /// </exception> public void Initialize(ConexionBackpropagation connector) { Helper.ValidateNotNull(connector, "connector"); double nGuyenWidrowFactor = NGuyenWidrowFactor( connector.SourceLayer.NeuronCount, connector.TargetLayer.NeuronCount); int synapsesPerNeuron = connector.SynapseCount / connector.TargetLayer.NeuronCount; foreach (INeuron neuron in connector.TargetLayer.Neurons) { int i = 0; double[] normalizedVector = Helper.GetRandomVector(synapsesPerNeuron, nGuyenWidrowFactor); foreach (BackpropagationSynapse synapse in connector.GetSourceSynapses(neuron)) { synapse.Weight = normalizedVector[i++]; } } }