privetvision 4 Report post Posted May 29, 2016 Я попробовал через множители Лагранжа сделать, но застрял здесь. Пробовал найти производную по лямбда 1, 2, 3 объеденить в систему в решить, но в итоге крамером не решается, т.к. бесконечное множество решений, а гаусс выдал x = -3, y = -2, но это не совпадает с решением на этом сайте. Share this post Link to post Share on other sites
privetvision 4 Report post Posted May 30, 2016 Народ хелп... Share this post Link to post Share on other sites
Smorodov 578 Report post Posted May 30, 2016 Вот упрощенный вариант алгоритма с псевдокодом: http://cs229.stanford.edu/materials/smo.pdf Исходник алгоритма на питоне: https://github.com/pbharrin/machinelearninginaction/blob/master/Ch06/svmMLiA.py Share this post Link to post Share on other sites
privetvision 4 Report post Posted May 30, 2016 В 25.05.2016 at 23:43, Smorodov сказал: Ух! Нарисовал последовательность шагов. 1) Берем начальную гипотезу границы (случайно). ищем ближайшие точки из каждого набора (E и H). 2) Передвигаем прямую так, чтобы выровнять расстояния. 3) Заново ищем ближайшие точки. 4) Опять выравниваем расстояния. 5) повторять до сходимости. 6) Нормировать коэффициенты так, чтобы расстояние до каждого класса было равно единице. Вроде так должно получиться. Что касаемо этого метода, то вот ловушка. 2 Share this post Link to post Share on other sites
Smorodov 578 Report post Posted May 30, 2016 Да, видимо однострочные методы тут не прокатят. Самое простое что видел это метод постом выше. Можно еще взять какой нибудь другой небольшой исходник (например этот http://chasen.org/~taku/software/TinySVM/ ) и разобрать построчно. Share this post Link to post Share on other sites
privetvision 4 Report post Posted May 30, 2016 1 час назад, Smorodov сказал: Вот упрощенный вариант алгоритма с псевдокодом: http://cs229.stanford.edu/materials/smo.pdf Исходник алгоритма на питоне: https://github.com/pbharrin/machinelearninginaction/blob/master/Ch06/svmMLiA.py Вы лучше скажите, что делать после того как как вычислил производные по лямбда 1, 2, 3. Мне главное математически понять, а там закодить получится. Share this post Link to post Share on other sites
Smorodov 578 Report post Posted May 30, 2016 Ну если градиентный спуск, то двигайте понемногу лямбды в сторону, противоположную градиенту, это уменьшит целевую функцию. Share this post Link to post Share on other sites