Numpy ile kullanılan düşük sayılar nedeniyle bazı problemlerim var. Sayısal entegrasyon ile sürekli problemlerimi geri takip etmek bana birkaç hafta sürdü, float64 hassasiyeti bir fonksiyona kayarken, hassasiyeti kaybeder. Matematiksel olarak özdeş hesaplamanın bir ürün yerine toplam yerine gerçekleştirilmesi, tamam olan değerlere yol açar. Gördüğünüz gibiSayılar eklerken python/numpy'de float hassas dökümü
from matplotlib.pyplot import *
from numpy import vectorize, arange
import math
def func_product(x):
return math.exp(-x)/(1+math.exp(x))
def func_sum(x):
return math.exp(-x)-1/(1+math.exp(x))
#mathematically, both functions are the same
vecfunc_sum = vectorize(func_sum)
vecfunc_product = vectorize(func_product)
x = arange(0.,300.,1.)
y_sum = vecfunc_sum(x)
y_product = vecfunc_product(x)
plot(x,y_sum, 'k.-', label='sum')
plot(x,y_product,'r--',label='product')
yscale('symlog', linthreshy=1E-256)
legend(loc='lower right')
show()
sıfıra etrafa dağılmış oldukça düşüktür ya da özetlenebilir değerleri ise tam sıfır gibidir: Burada
bir kod örneği ve sonuçların bir komplodur çoğaltılan değerler gayet iyi ...Lütfen birisi yardım edebilir mi? Çok teşekkürler!
ise' np var .float128'. Aynı sorunları var mı? – eumiro
Yep, float96 için aynı sorun ... –
Kesin problemden kaçınmak için neden günlük alanında bu toplamları yapmıyorsunuz? http://lingpipe-blog.com/2012/02/16/howprevent-overflow-underflow-logistic-regression/ – jeff7