1

私は R が大好きですが、時々頭が痛くなります...

私は次の単純な二次最小化問題を持っています。これは、Excel で定式化してすぐに解決できます (画像をクリックして拡大)。

ここに画像の説明を入力

![ここに画像の説明を入力

問題自体は非常に簡単です: の最適な組み合わせを(w1^2+w2^2)/2見つけて最小化したいと考えています。w1w2bY*(w1*X1+w2*X2+b) >= 1

この種の問題を解決するためのパッケージがあることは知っていquadprogますが、直感的ではないため、問題を正しく指定することができません :-( 言いたくないのですが、これらのような最適化問題を指定するには Excel の方が適しているようです。 :-((((

私の質問
R (どのパッケージでも) で解決できるように上記の問題を正しく定式化する方法と、プログラムがw1, w2andの正しい値に到達するb方法 (上の図でわかるように)。リンクを投稿するだけでなく、実際に機能するコードを提供してください。コードにコメントを付けて、なぜそのようなことをするのかが明確になるとよいでしょう。ありがとうございました!

必要なデータは次のとおりです。

data <- matrix(c(2.947814,6.626878, 1,
                 2.530388,7.785050, 1,
                 3.566991,5.651046, 1,
                 3.156983,5.467077, 1,
                 2.582346,4.457777,-1,
                 2.155826,6.222343,-1,
                 3.273418,3.520687,-1),ncol=3,byrow=T)
colnames(data) <- c("X1","X2","y")

補遺
一部の人々は、コードを提供するように私の要求に腹を立てました (単なるリンクではありません)。私はそれをお詫びし、これまでの回答で良いアプローチが見つからなかったという理由を述べました。そのより深い理由はb、目的関数ではなく制約のみにあるという意味で、問題が異常であるということです。したがって、この質問はSOに適していると今でも思います。

4

1 に答える 1