Мне нужно реализовать SVM для школьного проекта.
Но я сталкиваюсь с проблемой, когда пытаюсь решить квадратичную проблему в Python, используя библиотеку OSQP.
Проблема ![QP problem](https://i.stack.imgur.com/Pear3.png)
мои ограничения:
alpha >= 0
matrix Y.transpose() * alpha = 0
Матрица:
[[ 2. 3. -4. -5. -8.]
[ 3. 5. -6. -9. -12.]
[ -4. -6. 8. 10. 16.]
[ -5. -9. 10. 17. 20.]
[ -8. -12. 16. 20. 32.]]
Приведенный ниже код Python настраивает проблему и пытается решить ее, но она не удалась с двойной недопустимой ошибкой.
Я изменил несколько настроек, например (iter, dual_infeasible error limit), но все равно не удалось
- q соответствует правой части задачи (линейная часть)
- A - ограничение
( Y.transpose * alpha = 0)
- l - нижняя граница
U - верхняя граница
P = sparse.csc_matrix (bigMatrix)
q = np.array ([- 1, -1, -1, -1, -1])
A = sparse.csc_matrix (np.transpose (Y))
l = np.array ([0])
u = np.array ([np.inf])
prob = osqp.OSQP ()
prob.setup (P, q, A, l, u)
res = prob.solve ()
У вас есть предложения по решению проблемы.
Примечание. Я не уверен на 100%, что проблема установлена правильно.
Результаты, которые я должен получить от этой проблемы:
alpha1 1.11022 x10^16, alpha2 2.5, alpha3 2., alpha4 0.5, alpha5 1.4363*10^24