SVM с использованием quadprog в R

В этом комплексе упражнений учащийся использует решатель QP для решения SVM в R. Предлагаемый решатель - это quadprog пакет. Квадратичная задача задается как:

Из замечания о линейном SVM $K=XX'$, $K$ - это особая матрица, обычно не более чем ранг $ p $, где $X$ равен $n\times p$. Но решатель quadprog требует положительно определенной матрицы, а не только PSD, вместо $K$, как упоминалось во многих местах (и проверено). Любые идеи, которые имел в виду инструктор?

0 ответов

Я думаю, что обходным путем было бы добавить небольшое число (например, 1e-7) к диагональным элементам матрицы, которая должна быть положительно определенной. Я не уверен в математике, лежащей в основе этого, но приведенные ниже источники, а также мой опыт показывают, что это решение работает.

источник: https://stats.stackexchange.com/questions/179900/optimizing-a-support-vector-machine-with-quadratic-programming

источник: https://teazrq.github.io/stat542/hw/HW6.pdf

Другие вопросы по тегам