提问人:Mridul Hemrajani 提问时间:10/30/2023 最后编辑:Mridul Hemrajani 更新时间:10/31/2023 访问量:30
为什么在计算逻辑回归的成本函数时收到运行时警告?
Why am I getting RunTime warning while computing cost function for logistic regression?
问:
<ipython-input-20-5561a7703323>:8: RuntimeWarning: divide by zero encountered in log
cost=(-y[i]*np.log(g_i) - (1-y[i])*np.log(1-g_i))
<ipython-input-20-5561a7703323>:8: RuntimeWarning: invalid value encountered in double_scalars
cost=(-y[i]*np.log(g_i) - (1-y[i])*np.log(1-g_i))
nan
这是我在 Jupyter Notebook 中调用以下函数时得到的输出。
def linear(x,Q):
z=np.dot(x,Q)
return z
def sigmoid(z):
g_x=1/(1+np.exp(-z))
return g_x
def costf(x,y,Q):
m = y.shape[0]
cost_sum = 0
for i in range(m):
z_i=linear(x[i],Q)
g_i=sigmoid(z_i)
cost=(-y[i]*np.log(g_i) - (1-y[i])*np.log(1-g_i))
cost_sum+=cost
total_cost=cost_sum/m
return total_cost
cost=costf(x,y_pred,Q)
cost
我期望成本函数的值。我不认为数学公式有什么问题。
答: 暂无答案
评论
g_i
assert
g_i
1-g_i
1-g_i