class Noggin::Edge
Attributes
backward_input[RW]
backward_output[RW]
derivative[RW]
dest[RW]
forward_input[RW]
forward_output[RW]
origin[RW]
weight[RW]
Public Class Methods
new(origin: origin, dest: dest, weight: rand(0.20...0.80), momentum: 1, learning_rate: 0.3)
click to toggle source
# File lib/noggin/edge.rb, line 6 def initialize origin: origin, dest: dest, weight: rand(0.20...0.80), momentum: 1, learning_rate: 0.3 @origin = origin @dest = dest @weight = weight @momentum = momentum @previous_derivative = 0 @learning_rate = learning_rate end
Public Instance Methods
backward_activate!()
click to toggle source
# File lib/noggin/edge.rb, line 19 def backward_activate! @backward_output = dest.backward_output * weight @derivative = dest.backward_output * origin.forward_output end
forward_activate!()
click to toggle source
# File lib/noggin/edge.rb, line 15 def forward_activate! @forward_output = @forward_input * weight end
learn!()
click to toggle source
# File lib/noggin/edge.rb, line 24 def learn! @weight -= @learning_rate * @derivative + (@previous_derivative * @momentum) @previous_derivative = @derivative end