Я действительно люблю R, но время от времени это действительно дает мне головную боль ...Решить Constrained квадратичного программирования с R
У меня есть следующий простой квадратичную задачу минимизации, которая может быть сформулирована и решена в кратчайшие сроки в Excel (нажмите на картинку, чтобы увеличить):
и
сама проблема очень проста: я хочу, чтобы свести к минимуму (w1^2+w2^2)/2
, находя наилучшее сочетание w1
, w2
и b
при ограничениях, что для всех Y*(w1*X1+w2*X2+b) >= 1
Я знаю, что есть quadprog
пакет для решения такого рода проблем, но Я нахожу это так неинтуитивными, что я не в состоянии правильно определить проблему :-(Я не хочу сказать это, но Excel, кажется, лучше подходит для определения задач оптимизации, как это: - (((
Мой вопрос
Как сделать сформулируйте вышеуказанную проблему правильно, чтобы ее можно было решить с помощью R (независимо от того, какой пакет), и программа достигает правильных значений для w1
, w2
и 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")
Добавление
Некоторые люди обиделись на мою просьбу предоставить код (а не просто ссылки). Я извинился за это и объяснил причины, по которым до сих пор я не нашел хороших подходов в ответах на SO. Более глубокая причина этого заключается в том, что проблема необычна в том смысле, что b
находится только в ограничении, а не в целевой функции. Поэтому я все еще думаю, что этот вопрос подходит для SO.
Это изображение Excel не говорит мне, чего вы на самом деле хотите достичь.Вы должны объяснить это в вопросе. Excel кажется несущественным для вашего фактического вопроса. – Roland
Если вы думаете, что я собираюсь выяснить эти ссылки на ячейки Excel, подумайте еще раз. – Roland
@ Роланд: Проблема сама по себе довольно проста, я отредактировал вопрос соответственно - это лучше сейчас? – vonjd