让theta=模型参数和max_iters=时期数。对于itr=1,2,3,…,max_iters:对于mini_batch(X_mini,y_mini):,批量X_mini的前向传递:,1、对小批量进行预测,2、使用参数的当前值计算预测误差(J(theta)),后传:计算梯度(theta)=J(theta)wrt theta的偏导数,更新参数:theta=theta–learning_rate*gradient(theta),第一步:导入依赖项,为线性回归生成数据,并可视化生成的数据。以8000个数据示例,每个示例都有2个属性特征。这些数据样本进一步分为训练集(X_train,y_train)和测试集(X_test,y_test),分别有7200和800个样本。,训练集中的示例数=7200测试集中的示例数=800,第二步:,使用小批量梯度下降实现线性回归的代码。gradientDescent()是主要的驱动函数,其他函数是辅助函数:,进行预测——hypothesis(),计算梯度——gradient(),计算误差——cost(),创建小批量——create_mini_batches(),驱动程序函数初始化参数,计算模型的最佳参数集,并返回这些参数以及一个列表,其中包含参数更新时的错误历史记录。,调用gradientDescent()函数来计算模型参数(theta)并可视化误差函数的变化。,偏差=[0.81830471]系数=[[1.04586595]],第三步:对测试集进行预测并计算预测中的平均绝对误差。,平均绝对误差=0.4366644295854125,橙色线代表最终假设函数:theta[0]+theta[1]*X_test[:,1]+theta[2]*X_test[:,2]=0,