1. ホーム
  2. python

[解決済み] 「ゼロで割っていない時に「ログでゼロで割るが発生しました。

2022-02-13 02:44:57

質問内容

するとき。

summing += yval * np.log(sigmoid(np.dot(w.transpose(), xi.transpose()))) + (1-yval)* np.log(1-sigmoid(np.dot(w.transpose(), xi.transpose())))

除算がないところで、なぜ "divide by zero encountered in log" というエラーが発生するのでしょうか?結果的に summing になります。 [nan] .

解決方法は?

logを0にして評価しようとすると出る警告です。

>>> import numpy as np
>>> np.log(0)
__main__:1: RuntimeWarning: divide by zero encountered in log

確かに分かりにくいですね。

ですから、あなたの場合、なぜlogへの入力が0になるのかを確認します。

追記:これはnumpy 1.10.4での話です。