1

Rで二次問題を解こうとしています。次のデータがあります。

x1          x2      y
0.3858  0.4687      1 
0.4871  0.6110     -1
0.9218  0.4103     -1
0.7382  0.8936     -1
0.1763  0.0579      1
0.4057  0.3529      1
0.9355  0.8132     -1
0.2146  0.0099      1

そして、λ1 から λ8 を計算する必要があります。ルーチンを使用してみました: solve.QP(Dmat, dvec, Amat, bvec, meq=0, factorized=FALSE)from package quadprogdvec私の場合、bvec、に何を入力すればよいか混乱していますDmat。以下を試しましたが、正しい結果が得られません:

Dmat <- matrix(0,8,8)
Amat<-   matrix(c(0.3858,0.4871,0.9218,0.7382,0.1763,0.4057,0.9355,0.2146,0.4687,0.611,0.4103,0.8936,0.0579,0.3529,0.8132,0.0099),8,2)
dvec<-c(1,-1,-1,-1,1,1,-1,1)
solve.QP(Dmat,dvec,Amat)

結果は λ1 = 65.5261、λ2=65.5261、λ3 から λ8 = 0 になるはずです。

4

1 に答える 1

0

コードに diag(Dmat) <- 1 を追加します。

于 2015-10-08T01:55:58.980 に答える