Sadece C++ (ve verimli) iyi bir sigmoid işlevini hesaplamaya çalışıyorum. Yani ben böyle bir şey yapmak zorunda:
1/(1 + exp(-x))
C++ Çok küçük sayıya 1 ekleniyor mu?
X
, 1 + e
sonucu döner büyük (hatta küçük) olduğunda sorundur, 0 veya Örneğin
1,
1 + exp(-30) = 1
Ancak bu yanlış ...
Çok küçük (veya büyük) sayıları nasıl kolayca ve verimli ekleyebiliriz? Ben kullanıyorum
Datatype:
double Quaternion::sigmoidReal(double v){
return 1.0/(1.0 + exp(-v)) ;
}
Teşekkür: Burada çift
kod parçacığı olduğunu!
Hangi veri türlerini kullanıyorsunuz? – NathanOliver
double, sorry ... –
Kesin bir cevap için kodunuzu gösterin. –