Jump to content
Compvision.ru
privetvision

Метод опорных векторов

Recommended Posts

Я попробовал через множители Лагранжа сделать, но застрял здесь. Пробовал найти производную по лямбда 1, 2, 3 объеденить в систему в решить, но в итоге крамером не решается, т.к. бесконечное множество решений, а гаусс выдал x = -3, y = -2, но это не совпадает с решением на этом сайте. 
Screenshot_1.png

Share this post


Link to post
Share on other sites

Вот упрощенный вариант алгоритма с псевдокодом: 

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
В 25.05.2016 at 23:43, Smorodov сказал:

Ух!

Нарисовал последовательность шагов.

1) Берем начальную гипотезу границы (случайно).

ищем ближайшие точки из каждого набора (E и H). 

 

2) Передвигаем прямую так, чтобы выровнять расстояния.

 

3) Заново ищем ближайшие точки.

 

4) Опять выравниваем расстояния.

 

5) повторять до сходимости.

6) Нормировать коэффициенты так, чтобы расстояние до каждого класса было равно единице.

 

Вроде так должно получиться. 

Что касаемо этого метода, то вот ловушка. Screenshot_2.png

  • Like 2

Share this post


Link to post
Share on other sites

Да, видимо однострочные методы тут не прокатят.

Самое простое что видел это метод постом выше.

Можно еще взять какой нибудь другой небольшой исходник (например этот http://chasen.org/~taku/software/TinySVM/ ) и разобрать построчно.

 

Share this post


Link to post
Share on other sites
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

Ну если градиентный спуск, то двигайте понемногу лямбды в сторону, противоположную градиенту, это уменьшит целевую функцию.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×