class NN::Identity

Public Class Methods

new(nn) click to toggle source
# File lib/nn.rb, line 340
def initialize(nn)
  @nn = nn
end

Public Instance Methods

backward(y) click to toggle source
# File lib/nn.rb, line 348
def backward(y)
  (@out - y) / @nn.batch_size
end
forward(x) click to toggle source
# File lib/nn.rb, line 344
def forward(x)
  @out = x
end
loss(y) click to toggle source
# File lib/nn.rb, line 352
def loss(y)
  ridge = 0.5 * @nn.weight_decay * @nn.weights.reduce(0){|sum, weight| sum + (weight ** 2).sum}
  0.5 * ((@out - y) ** 2).sum / @nn.batch_size + ridge
end