首页 > 编程知识 正文

梯度下降有几种方法,随机梯度下降SGD算法研究现状

时间:2023-05-03 19:20:40 阅读:12063 作者:2863

文章目录写在前面随机梯度下降法代码的参考文献中

写在前面

随机梯度下降法在随机梯度上。 也就是说,我们在第一点的时候想找到下一点的坡度。 这一点是随机的。 整批坡度的下降从一个点向一个点有顺序,所有数据点都要求坡度和顺序。

全批次坡度下降稳定,但速度较慢;

SGD快,但不稳定

随机梯度下降法随机梯度下降法(Stochastic Gradient Decent,

SGD )是全批量梯度下降法计算效率的改进算法。 本质上,随机梯度下降法的结果预计接近全批次梯度下降法; SGD的优点是更快地计算坡度。

码“”随机梯度下降法(Stochastic Gradient Decent,SGD )是改善全批次梯度下降法计算效率的算法。 本质上,随机梯度下降法的结果预计接近全批次梯度下降法; SGD的优点是可以更快地计算坡度。' ' ' importpandasaspdimportnumpyasnpimportosos.getcwd (# f :python project3 data\ datatrain.Cain #此#美国某大型问答平台; a显示社区2010年10月1日至2016年11月30日#1日添加的问题数和答案数。 #任务为: 2016年12月1日至2017年5月1日,本问答集; a是预测网站每天追加的问题数和回答数。 train=PD.read _ CSV (.train.CSV ) )导入数据#train=PD.read_CSV(train.CSV ) ) test=PD.read_CSV 1 ) #初始点alpha=0.2 #学习率,即步长tol_L=0.1 #阈值,即精度#对x进行归一化,train表示训练数据二维表#max_x=max(train(id max_x )所有id除以max_xy=train () ) )。train维表中的questions列是ytype(train ) (id ) print (train ) ) train列n )、train ) ) id ) ) ) print ) ) ) ) max_x ) #方向def compute _ grad _ SGD (beta, 为了计算x,y65:'':parambeta:初始点:param x:参数:param y:真值:return:梯度阵列' ' grad=[0, 0 ]随机生成的数量grad [0]=2. * NP.beta [0] beta [1] * x [ r ]-y [,其中0]r=NP .的len(x ) )0-len(x ) x 求出1]中第1个个数的梯度grad [1]=2. * NP.mean (x * (beta [0] beta [1] * x-y ) ) ) beta [ 1,1 ], 求中第二个数梯度returnNP.array ) grad )的grad(: )、ParamBeta:第一点、初始点:param alpha:学习率,即, 关于时间步:param grad:梯度: return : ' ' new _ beta=NP.array (beta )- alpha * grad return new_beta# ) beta [1] * x-y ) *2# beta [0] beta [1] * x为预测值,y为真值,RES=NP.sqrt(NP.mean ) squared_err ) )返回RES #第一次y ) #调用计算梯度的函数,计算计算梯度Lolo的损失beta=update _ beta (beta,alpha,Lolo ) #以下点loss _ new=RMSE (beta,x, y ) )以调用损失函数并计算下一个损失的#迭代I=1whileNP.ABS(loss_new-loss ) tol _ l : beta=update _ beta (beta,alpha, grad ) grad=compute y ) ifi0==0: loss=loss _ new loss _ new=RMSE (beta,x,y ) print('round%sdiffrmse%s'% ) y ) print(ourRMSE:%s ) %RES ) froms klearn.linear _ modelimportlinearregressionlr=linear regresssion ) ) lr.fit trearr (print (sklearncoef : % s ' % lr.coef _ [0] ) print ) sklearncoef3360%s'% 2.19487084],train['id'] ',y

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