例如F(x) = 1/2<x,t(M)Mx>-<v,x>, x=(x1,x2,x3,x4)。那么梯度=t(M)Mx-v, 并且x(n+1) = x(n) - 下降率*(梯度)。
像这类高纬度的x,那么x1的梯度下降公式对应的就是梯度矩阵的第一行是吧?其他x也是各自对应的梯度公式。假设梯度=(g(x),h(x),k(x),j(x)), 那么 x2(n+1) = x2(n)-率*h(x),这样是对的吧?
但我在R里循环跑起来的时候每轮x都是以十倍往上增加,我看来看去都不知道哪里有问题,求助orz
感觉唯一能出问题的就是这部分,但算来算去都是这样的:
x1 = x1-eta*(57*x1+6*x2+20*x3+42*x4-30)
x2 = x2-eta*(6*x1+9*x2+3)
x3 = x3-eta*(20*x1+25*x3-20)
x4 = x4-eta*(42*x1+49*x4-17.5)


雷达卡





京公网安备 11010802022788号







