java利用梯度下降求线性回归

大佬们好我是个编程小白,在做梯度下降求线性回归时发现参数不仅没有拟合反而越来越大了,但是我看参数更新的逻辑应该没有问题,下面贴一下代码,请大佬看一下到底哪里有问题

public void gradientDescient(){
double sum0 =0.0 ;
double sum1 =0.0 ;

    for (int i=0;i<space.size();i++) {
        sum1 += (space.get(i)*k+b-price.get(i))*space.get(i);
        sum0 += space.get(i)*k+b-price.get(i);


    }
    //System.out.println("0 "+alpha*sum0);
    //System.out.println("1 "+alpha*sum1);
    k = k - alpha*sum1/space.size() ; 
    b = b - alpha*sum0/space.size() ; 

}

https://blog.csdn.net/dong_lxkm/article/details/80551795