25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

25 satır
952B

  1. import numpy as np
  2. from neural_net.activation_layers.activation_layer import ActivationLayer
  3. from neural_net.functions.activation import sigmoid_derivative_activation
  4. class SigmoidLayer(ActivationLayer):
  5. def __init__(self, input_dim, output_dim, weights=None, biases=None):
  6. super().__init__(input_dim, output_dim, weights, biases)
  7. self.subtype = 'Sigmoid'
  8. def initialize_weights(self):
  9. # Xavier initialization for sigmoid activation
  10. limit = np.sqrt(6 / (self.input_dim + self.output_dim))
  11. self.weights = np.random.uniform(-limit, limit, (self.input_dim, self.output_dim))
  12. def initialize_biases(self):
  13. self.biases = np.zeros((1, self.output_dim)) # Biases initialized to zero
  14. def activation(self, outputs: np.array):
  15. return sigmoid_derivative_activation(outputs)
  16. def activation_derivative(self, outputs: np.array):
  17. return sigmoid_derivative_activation(outputs)