梯度下降算法返回 b0 和 b1 的 nan 值

问题描述

我正在尝试实现梯度下降算法,它正在为 b0 和 b1 重新调整 nan

def Gradient_Descent(x,y,epochs,learning_rate,b0=0,b1=0,):
  for i in range(epochs):
    n=float(len(x))
    yhat=b0+b1*x
    b0_grad=(-2/n)*sum(y-yhat)
    b1_grad=(-2/n)*sum(x*(y-yhat))
    b0=b0-learning_rate*b0_grad
    b1=b1-learning_rate*b1_grad
  return b0,b1
Gradient_Descent(x,1000,0.00001)
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:6: RuntimeWarning: overflow encountered in double_scalars
  
/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:8: RuntimeWarning: invalid value encountered in double_scalars
  
(nan,nan)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)