Pull to refresh
0
0

User

Send message
Я же как раз с вами и соглашаюсь, что SMO это элегантный алгоритм. У Джона Платта вся идея изложена всего на 2х страницах (6 и 7 [9]). Кстати, для полноты картины, можно было бы дать гиперссылку на статью в ссылке [9] выше www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-98-14.pdf Там и псевдокод есть в статье.
Из интересных особенностей алгоритма — отсутсвие нужды хранить матрицу Грама в памяти, рассчитывая парные ядра по ходу вычисления. Так как SVM это разряженная задача, после первого же прохода большая часть множителей Лагранжа обратится в ноль и пере-рассчитывать ядра почти и не придётся.

Недопонимание скорее всего возникло, что я не дал пояснения выше, а просто увидел, что вы в коде считаете всю матрицу Грама сразу и подумал, что тогда уж проще сделать код в две строчки с мультипликативными апдейтами (на что и сослался). Кстати тоже простой в имплементации алгоритм не требующий солвера для задачи квадратичного программирования и как таковой имеет дидактическую ценность. А ещё алгоритм Осуны, на который Платт ссылается, тоже довольно поучителен для обучения. Вот рассказываете студентам принцип опорных векторов в пространстве данных, где у вас всего $d$ параметров (по размерности вектора данных), и вдруг переходим в двойственное пространство и мало того, что параметров становится миллионы, если данных много, так еще же это все миллионы в квадрате (задача-то квадратичная). Красиво, конечно, — трюк с ядром теперь можно применять, но студент должен заинтересоваться а стоило ли того. И будет прав — во многих практических случаях не стоило и проще применять линейную SVM. Но если показать студенту алгоритм Осуны и потом его логическое завершение SMO. Потом уже студенты могут сами переходить к fastfood, но это уже совсем другая история ;)
SMO очень элегантный алгоритм с быстрой сходимостью, если пользоваться эвристиками. Раз вы от них уже отказались, то можно вообще написать SVM буквально итерируя две строчки до сходимости (но нужен numpy). www.cs.unm.edu/~ismav/papers/sdm-musik.pdf (5.18)

Information

Rating
Does not participate
Registered
Activity