применить мод операции для классификации - PullRequest
1 голос
/ 28 января 2020

У меня есть набор данных. Для простого случая:

value:  0,  3, 6, 8, 10, 13, 14
type:   o,  o, x, x,  x,  o,  o

План состоит в том, чтобы использовать простой «порог» для классификации. идея состоит в том, чтобы применить mod + shift для лучшей классификации: например, x = x mod 12, тогда набор пар становится

(value) % 12:      0, 1(13), 2(14), 3, 6, 8, 10

type:              o, o,     o,     o, x, x,  x

Теперь мы можем использовать threshold = 5 для классификации без ошибок.

Есть ли какой-нибудь формальный алгоритм для этого типа алгоритма классификации модов и смен?

1 Ответ

1 голос
/ 28 января 2020

Предостережение: я немного заржавел в этой области.

Некоторые начальные мысли:

  • Есть Ядра , которые неявно делают нечто подобное ,

  • Ядра радиальной базовой функции RBF - это одна вещь, о которой я могу подумать. Или, может быть, Полиномиальное Ядро .

  • Модуль не будет работать как Ядро, так как он должен быть двойственным (-> Ядро-трюк) и должна быть биективной функцией. Но модуль теряет информацию и не может быть "отменен".

Я раздвоил SVM- JS demo от Karpathy и изменил данные на приведенные выше примеры данных. Это дает очень простую визуализацию, что в вашем примере радиальное расстояние до (1D-) круга с центром около 8 будет хорошим классификатором.

A hacky version of 1D data in Karpathy's tool

Но, учитывая, что вы хотите представить модуль, и, возможно, у вас также есть значения 'x' в (6 + 12 =) 18, 20 или 22, это напоминает мне сигнал periodi c. А для сигнала periodi c вы можете просто преобразовать свои входные данные в «пространство Фурье» и классифицировать их. Я поставил это в кавычки, потому что приближение, вероятно, просто отлично.

Итак, давайте попробуем сделать функцию ядра отображением (Modulus, Remainder). (Примерно аналогично амплитуде и фазе). (Примечание: «Машинное обучение ядра с преобразованием Фурье» указывает, что это может быть вещь.)

Phi(x) = (x mod N, x rem N).

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

...