首页 > 编程知识 正文

随机梯度下降和批量梯度下降,共轭梯度法算法步骤

时间:2023-05-04 08:39:28 阅读:12057 作者:1664

经典梯度下降法的流程:

step1.确定目标函数

因为目的是求出最佳的0、1、2,所以首先给出初始值。

step2.遍历训练样本,训练模型。

将各个训练样本引入目标函数模型,计算了预测房价。 求出预测房价与实际房价的误差函数j(),用定义误差测量标准。

已知曲面上方向导数最大值的方向表示梯度的方向,因此在进行梯度下降时应该沿着梯度的反方向进行权重更新,可以有效地找到全局最优解。 根据每个x的分量和当时的偏差值进行的更新。 该的更新过程可以描述如下。

梯度下降法要求在每个权重迭代过程中遍历所有训练数据,如果样本数量较多,则需要更多的时间和资源。

为了解决这个问题,在实际操作中使用随机梯度下降法,用单个训练样本的损失函数近似平均损失。

importmatplotlib.pyplotaspltfrommpl _ toolkits.MP lot3dimportaxes 3d # 绘制三维坐标的函数importnumpyasnpimportrandomq0=random.random Q2=random.random () a=0.01 e=1e-04x=NP.array ([ 21000 ] [540]] ) E0=1E1=1e2=1h=1while E0=eore1=eore2=e : b=random.randint (0,4 ) #0到4的数据I=Bh=Q0Q1* 0 ) ey=h-t[I]E0E2=) ) h-t[I] ) e0 ey ) x ) I,1 )1) ) ) Q2 ) fig1=PLT.figure(#绘图对象ax=axx ) 使用此绘图对象创建一个axes对象(具有三维坐标) X1。 X2=np.mgrid[0:10000:500j,0:50:500j] #至10000 500房间平米数x1,0至50 500房间数x2h=Q0(Q1*x1Q2*x2 ) cmap=plt.cm.coolwarm,alpha=0.5(#在采样点(x,y,z )构造曲面ax.set_xlabel('x1 ',color='r ' ) )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。