Class: NN::Identity

Inherits:
Object
  • Object
show all
Defined in:
lib/nn.rb

Instance Method Summary collapse

Constructor Details

#initialize(nn) ⇒ Identity

Returns a new instance of Identity.

[View source]

340
341
342
# File 'lib/nn.rb', line 340

def initialize(nn)
  @nn = nn
end

Instance Method Details

#backward(y) ⇒ Object

[View source]

348
349
350
# File 'lib/nn.rb', line 348

def backward(y)
  (@out - y) / @nn.batch_size
end

#forward(x) ⇒ Object

[View source]

344
345
346
# File 'lib/nn.rb', line 344

def forward(x)
  @out = x
end

#loss(y) ⇒ Object

[View source]

352
353
354
355
# 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