28 lines
565 B
Go
28 lines
565 B
Go
package types
|
|
|
|
import "math"
|
|
|
|
type SigmoidResult struct {
|
|
a Series
|
|
}
|
|
|
|
func (s *SigmoidResult) Last(i int) float64 {
|
|
return 1. / (1. + math.Exp(-s.a.Last(i)))
|
|
}
|
|
|
|
func (s *SigmoidResult) Index(i int) float64 {
|
|
return s.Last(i)
|
|
}
|
|
|
|
func (s *SigmoidResult) Length() int {
|
|
return s.a.Length()
|
|
}
|
|
|
|
// Sigmoid returns the input values in range of -1 to 1
|
|
// along the sigmoid or s-shaped curve.
|
|
// Commonly used in machine learning while training neural networks
|
|
// as an activation function.
|
|
func Sigmoid(a Series) SeriesExtend {
|
|
return NewSeries(&SigmoidResult{a})
|
|
}
|