Class: Noggin::Neuron
- Inherits:
-
Object
- Object
- Noggin::Neuron
- Defined in:
- lib/noggin/neuron.rb
Instance Attribute Summary collapse
-
#backward_error_output ⇒ Object
Returns the value of attribute backward_error_output.
-
#backward_input ⇒ Object
Returns the value of attribute backward_input.
-
#backward_output ⇒ Object
Returns the value of attribute backward_output.
-
#derivative ⇒ Object
Returns the value of attribute derivative.
-
#dests ⇒ Object
Returns the value of attribute dests.
-
#expected ⇒ Object
Returns the value of attribute expected.
-
#forward_error_output ⇒ Object
Returns the value of attribute forward_error_output.
-
#forward_input ⇒ Object
Returns the value of attribute forward_input.
-
#forward_output ⇒ Object
Returns the value of attribute forward_output.
-
#origins ⇒ Object
Returns the value of attribute origins.
Class Method Summary collapse
Instance Method Summary collapse
- #backward_activate! ⇒ Object
- #backward_activate_error! ⇒ Object
- #forward_activate! ⇒ Object
- #forward_activate_error! ⇒ Object
-
#initialize ⇒ Neuron
constructor
A new instance of Neuron.
Constructor Details
#initialize ⇒ Neuron
Returns a new instance of Neuron.
7 8 9 10 |
# File 'lib/noggin/neuron.rb', line 7 def initialize @origins = [] @dests = [] end |
Instance Attribute Details
#backward_error_output ⇒ Object
Returns the value of attribute backward_error_output.
4 5 6 |
# File 'lib/noggin/neuron.rb', line 4 def backward_error_output @backward_error_output end |
#backward_input ⇒ Object
Returns the value of attribute backward_input.
4 5 6 |
# File 'lib/noggin/neuron.rb', line 4 def backward_input @backward_input end |
#backward_output ⇒ Object
Returns the value of attribute backward_output.
4 5 6 |
# File 'lib/noggin/neuron.rb', line 4 def backward_output @backward_output end |
#derivative ⇒ Object
Returns the value of attribute derivative.
4 5 6 |
# File 'lib/noggin/neuron.rb', line 4 def derivative @derivative end |
#dests ⇒ Object
Returns the value of attribute dests.
4 5 6 |
# File 'lib/noggin/neuron.rb', line 4 def dests @dests end |
#expected ⇒ Object
Returns the value of attribute expected.
4 5 6 |
# File 'lib/noggin/neuron.rb', line 4 def expected @expected end |
#forward_error_output ⇒ Object
Returns the value of attribute forward_error_output.
4 5 6 |
# File 'lib/noggin/neuron.rb', line 4 def forward_error_output @forward_error_output end |
#forward_input ⇒ Object
Returns the value of attribute forward_input.
4 5 6 |
# File 'lib/noggin/neuron.rb', line 4 def forward_input @forward_input end |
#forward_output ⇒ Object
Returns the value of attribute forward_output.
4 5 6 |
# File 'lib/noggin/neuron.rb', line 4 def forward_output @forward_output end |
#origins ⇒ Object
Returns the value of attribute origins.
4 5 6 |
# File 'lib/noggin/neuron.rb', line 4 def origins @origins end |
Class Method Details
Instance Method Details
#backward_activate! ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/noggin/neuron.rb', line 21 def backward_activate! @backward_output = @forward_output * ( 1 - @forward_output ) * @backward_input origins.each do |edge| edge.backward_input = @backward_output edge.backward_activate! end end |
#backward_activate_error! ⇒ Object
33 34 35 36 |
# File 'lib/noggin/neuron.rb', line 33 def backward_activate_error! @backward_error_output = @forward_output - @expected @backward_input = @backward_error_output end |
#forward_activate! ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/noggin/neuron.rb', line 12 def forward_activate! @forward_output = 1 / ( 1 + Math.exp(-1 * forward_input) ) dests.each do |edge| edge.forward_input = @forward_output edge.forward_activate! end forward_activate_error! unless @expected.nil? end |
#forward_activate_error! ⇒ Object
29 30 31 |
# File 'lib/noggin/neuron.rb', line 29 def forward_activate_error! @forward_error_output = 0.5 * (@expected - @forward_output)**2 end |