common.go 602 B

1234567891011121314151617181920212223242526272829303132
  1. package neuralnetworkbase
  2. import (
  3. math "math"
  4. rand "math/rand"
  5. mat "gonum.org/v1/gonum/mat"
  6. )
  7. func generateRandomDense(rows, columns int) *mat.Dense {
  8. data := make([]float64, rows*columns)
  9. for i := range data {
  10. data[i] = rand.NormFloat64()
  11. }
  12. return mat.NewDense(rows, columns, data)
  13. }
  14. func applySigmoid(_, _ int, x float64) float64 {
  15. return sigmoid(x)
  16. }
  17. func applySigmoidPrime(_, _ int, x float64) float64 {
  18. return sigmoidPrime(x)
  19. }
  20. func sigmoid(x float64) float64 {
  21. return 1.0 / (1.0 + math.Exp(-x))
  22. }
  23. func sigmoidPrime(x float64) float64 {
  24. return sigmoid(x) * (1 - sigmoid(x))
  25. }