Comments 12
Присмотрелся — это почти тот же KNN. С некоторыми модификация и и без параметров.
Но по тестам ответы разные, и KNN из коробки не всегда лучше, но его можно тюнить.
0
Ну нет, все правильно. KNN и этот алгоритм хоть во многом и схожи (и что-то позаимствовано из SVM) — они всё же разные. Легко привести пример, когда KNN и PathMachine дадут разные прогнозы (новая точка ближе к длинной прямой некого другого класса по проекции, хотя и ближе по расстоянию к другим соседям напрямую — например прямая поперек квадрата с новой точкой в центре).
Обновил ноутбук, добавил бенчмарк с KNN, почистил слегка и убрал «замыкание путей».
Обновил ноутбук, добавил бенчмарк с KNN, почистил слегка и убрал «замыкание путей».
0
Там, где начинаются расстояния, проекции и прочая метрика, топология не при чем.
0
Это не везде рассказывают, но это связанные понятия. Долго и сложно всё это как.
Вот кстати сюда еще посмотрите, ближе к теме ML.
Вот кстати сюда еще посмотрите, ближе к теме ML.
0
Метрика определяет топологию. Это понятно.
Дело в другом. Топологические инварианты начисто игнорируют метрику и расстояния. Как ни триангулируй тор (и все, что на него похоже), количество вершин + количество граней = количество ребер.
А теперь по теме — искать ближайший путь — занятие чисто метрическое и к топологическим инвариантам отношения не имеет. Гомотопическая группа таким образом не возникает.
Дело в другом. Топологические инварианты начисто игнорируют метрику и расстояния. Как ни триангулируй тор (и все, что на него похоже), количество вершин + количество граней = количество ребер.
А теперь по теме — искать ближайший путь — занятие чисто метрическое и к топологическим инвариантам отношения не имеет. Гомотопическая группа таким образом не возникает.
0
Топология в данном случае возникает как побочный эффект подбора метрических параметров, как результат геометрических построений по метрическим параметрам. Но да, даже в этом случае она никак не используется в итоге при сопоставлении с образцом, образец просто притягивается к контуру. «Топологичностью» тут является возможность обучения модели «запутанному» ландшафту решений, в отличие от других, добивающихся получения аналогичного по «запутанности» ландшафта путём внесения в модель нового свободного параметра на каждый его «изгиб».
+1
Вот вы правы. Если есть еще идеи как сопоставить (по сути, группы реализовать), имея на руках только точки я попробую сделать, по мере наличия времени.
Но, полагаю, при должных модификациях (например, дропаут:)), этот алгоритм может даже не переобучаться. И «притягивание образца к контуру» — это не единственная, конечно, процедура для инференса. Да и составные контуры могут быть не прямыми, а например гиперплоскостями (но точек на то, что у меня называется «путем», должно быть n-1), или некоторой кривой (но посчитай попробуй тогда проекцию...).
Все алгоритмы ML базируются на упрощениях, я выбрал те, которые знаю как сделать. Если брать группы и композиции на них, думаю всё было бы содержательнее.
Да и вообще, если есть другие идеи как заиспользовать возникающую по геометрическим построениям топологию — welcome. Думаю, это те самые модификации, которые могут помочь алгоритму.
Но, полагаю, при должных модификациях (например, дропаут:)), этот алгоритм может даже не переобучаться. И «притягивание образца к контуру» — это не единственная, конечно, процедура для инференса. Да и составные контуры могут быть не прямыми, а например гиперплоскостями (но точек на то, что у меня называется «путем», должно быть n-1), или некоторой кривой (но посчитай попробуй тогда проекцию...).
Все алгоритмы ML базируются на упрощениях, я выбрал те, которые знаю как сделать. Если брать группы и композиции на них, думаю всё было бы содержательнее.
Да и вообще, если есть другие идеи как заиспользовать возникающую по геометрическим построениям топологию — welcome. Думаю, это те самые модификации, которые могут помочь алгоритму.
0
Пришла (безумная) идея в голову — стакнуть. Сегодня попробую. Идея в следующем — взять расстояния до всех путей как новый слой для этого же алгоритма. То есть при инференсе первым шагом сосчитать все расстояния, а далее выбрать не ближайший, а бахнуть PathMachine по меткам путей.
0
Сделал таки вариант с гиперплоскостями. Мог накосячить с вычислением нормали…
В принципе, работает, хотя не сказать что огонь-огонь. Однако принцип иной.
В принципе, работает, хотя не сказать что огонь-огонь. Однако принцип иной.
0
Тут кстати такие дела, норма не обязана быть нормой в смысле аксиом. Это может быть просто какая-то деформирующая функция при надобности.
Добавил в конец ноутбука пример, как выучить 1D-паттерн тем же алгоритмом. По идее, можно как-нибудь и продолжать ряды, при некоторых доработках. Но пока не до этого.
Добавил в конец ноутбука пример, как выучить 1D-паттерн тем же алгоритмом. По идее, можно как-нибудь и продолжать ряды, при некоторых доработках. Но пока не до этого.
0
Ну, я сразу в тексте не претендовал на реализацию фундаментальных путей. И там же и написал чем я их заменил.
0
Sign up to leave a comment.
Path Machine: идея одного алгоритма