Problem with arithmetic using logarithms to avoid numerical underflow (take 2)使用對數歸一化矢量,以避免溢出
在看到上述和看過SOFTMAX正常化我試圖同時避免溢出到歸一化矢量 -
即如果我有一個數組 x[1], x[2] x[3], x[4], ... , x[n]
的歸一化形式,我有元件的平方和爲1.0 並且通過將每個元素由 sqrt(x[1]*x[1]+x[2]*x[2]+...+x[n]*x[n])
現在平方的總和,甚至溢出若平方根小到足以放入一個浮點變量,所以我想象一個可以做類似 s=(2*log(fabs(x[1]))+2*log(fabs(x[2]))+...+2*log(fabs(x[n])))/2
,並計算元素
exp(log(fabs(x[1]))-s), ..., exp(log(fabs(x[n]))-s
BUT
上面的是不正確的日誌(A + B)沒有登錄(A)+日誌(B) - 現在是有辦法做矢量範數避免溢出更好的化名?
'log(A + B)!= logA + logB' – kennytm 2010-03-08 10:11:24
啊對!傻我...所以有辦法做到這一點? – muscicapa 2010-03-08 10:16:01