Код Middle kNN и SVM обновлено
Hinge loss и опорные объекты
Условие
Линейная модель f(x) = w·x + b, метки y ∈ {-1, 1}. Напишите svm_objective(w, b, X, y, C): верните [objective, support], где objective = |w|²/2 + C·Σmax(0, 1 - yᵢf(xᵢ)) (округлить до 4 знаков), support это отсортированный список индексов объектов с yᵢf(xᵢ) ≤ 1.
Примеры
svm_objective([1, 0], 0, [[2, 0], [-2, 0], [1, 5]], [1, -1, 1], 1) // [0.5, [2]]
svm_objective([1, 1], -1, [[1, 1], [0, 0], [0.5, 0.5]], [1, -1, 1], 2) // [3, [0, 1, 2]]
svm_objective([0.5], 0, [[4], [-4]], [1, -1], 10) // [0.125, []]
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.