1、回归问题实战 代码主要步骤 1、一个计算loss 的函数 2、一个计算每次迭代,计算梯度和更新梯度的函数(每次迭代后用于更新的梯度应该是样本的平均值) 3、一个返回每次迭代后weight和bias的函数 4、导入数据,使用上述三个函数 import numpy as np '''计算loss,使用均方误差''' def compute_loss(b,w,points): totalerror=0 for i in range(0,len(points)): x=points[i,0] y=points[i,1] totalerror+=(y-(w*x+b))**2 return totalerror/float(len(points)) '''计算梯度''' def step_gradient(b_current,w_current,points,learningRate): b_gradient=0 w_gradient=0 N=float(len(points)) for i in range(0,len(points)): x=points[i,0] y=points[i,1] b_gradient+=(-2/N)*(y-(w_current*x+b_current)) w_gradient += (-2 / N) * x * (y - (w_current * x + b_current)) new_b=b_current-learningRate*b_grad